Browse Source

Set the default DLL chracteristics to 0 for Cygwin based targets.

* emultempl/pep.em (DEFAULT_DLL_CHARACTERISTICS): Set to 0 for
	Cygwin targets.
	* emultempl/pep.em (DEFAULT_DLL_CHARACTERISTICS): Likewise.
binutils-2_38-branch
Jeremy Drake 5 years ago
committed by Nick Clifton
parent
commit
ef6379e16d
  1. 6
      ld/ChangeLog
  2. 13
      ld/emultempl/pe.em
  3. 7
      ld/emultempl/pep.em

6
ld/ChangeLog

@ -1,3 +1,9 @@
2021-11-17 Jeremy Drake <cygwin@jdrake.com>
* emultempl/pep.em (DEFAULT_DLL_CHARACTERISTICS): Set to 0 for
Cygwin targets.
* emultempl/pep.em (DEFAULT_DLL_CHARACTERISTICS): Likewise.
2021-11-17 Nick Clifton <nickc@redhat.com>
PR 28452

13
ld/emultempl/pe.em

@ -5,6 +5,16 @@ if [ -z "$MACHINE" ]; then
else
OUTPUT_ARCH=${ARCH}:${MACHINE}
fi
case ${target} in
*-*-cygwin*)
cygwin_behavior=1
;;
*)
cygwin_behavior=0;
;;
esac
rm -f e${EMULATION_NAME}.c
(echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
fragment <<EOF
@ -104,7 +114,8 @@ fragment <<EOF
#define DEFAULT_PSEUDO_RELOC_VERSION 1
#endif
#define DEFAULT_DLL_CHARACTERISTICS (IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE \
#define DEFAULT_DLL_CHARACTERISTICS (${cygwin_behavior} ? 0 : \
IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE \
| IMAGE_DLL_CHARACTERISTICS_NX_COMPAT)
#if defined(TARGET_IS_i386pe) || ! defined(DLL_SUPPORT)

7
ld/emultempl/pep.em

@ -9,9 +9,11 @@ fi
case ${target} in
*-*-cygwin*)
move_default_addr_high=1
cygwin_behavior=1
;;
*)
move_default_addr_high=0;
cygwin_behavior=0;
;;
esac
@ -99,9 +101,10 @@ fragment <<EOF
#define DLL_SUPPORT
#endif
#define DEFAULT_DLL_CHARACTERISTICS (IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE \
#define DEFAULT_DLL_CHARACTERISTICS (${cygwin_behavior} ? 0 : \
IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE \
| IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA \
| IMAGE_DLL_CHARACTERISTICS_NX_COMPAT)
| IMAGE_DLL_CHARACTERISTICS_NX_COMPAT)
#if defined(TARGET_IS_i386pep) || ! defined(DLL_SUPPORT)
#define PE_DEF_SUBSYSTEM 3

Loading…
Cancel
Save