1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
Description: Add disable opposites to the security-related flags
Author: Stephen Kitt <skitt@debian.org>
This patch adds "no-" variants to disable the various security flags:
"no-dynamicbase", "no-nxcompat", "no-high-entropy-va". These are
equivalent to the corresponding "disable-" flags in binutils 2.36, and
are only preserved for backwards compatibility with previous versions
of the Debian packages.
--- a/upstream/ld/emultempl/pe.em
+++ b/upstream/ld/emultempl/pe.em
@@ -306,10 +306,12 @@
{"disable-long-section-names", no_argument, NULL, OPTION_DISABLE_LONG_SECTION_NAMES},
{"dynamicbase",no_argument, NULL, OPTION_DYNAMIC_BASE},
{"disable-dynamicbase",no_argument, NULL, OPTION_DISABLE_DYNAMIC_BASE},
+ {"no-dynamicbase",no_argument, NULL, OPTION_DISABLE_DYNAMIC_BASE},
{"forceinteg", no_argument, NULL, OPTION_FORCE_INTEGRITY},
{"disable-forceinteg", no_argument, NULL, OPTION_DISABLE_FORCE_INTEGRITY},
{"nxcompat", no_argument, NULL, OPTION_NX_COMPAT},
{"disable-nxcompat", no_argument, NULL, OPTION_DISABLE_NX_COMPAT},
+ {"no-nxcompat", no_argument, NULL, OPTION_DISABLE_NX_COMPAT},
{"no-isolation", no_argument, NULL, OPTION_NO_ISOLATION},
{"disable-no-isolation", no_argument, NULL, OPTION_DISABLE_NO_ISOLATION},
{"no-seh", no_argument, NULL, OPTION_NO_SEH},
--- a/upstream/ld/emultempl/pep.em
+++ b/upstream/ld/emultempl/pep.em
@@ -326,9 +326,12 @@
{"enable-reloc-section", no_argument, NULL, OPTION_ENABLE_RELOC_SECTION},
{"disable-reloc-section", no_argument, NULL, OPTION_DISABLE_RELOC_SECTION},
{"disable-high-entropy-va", no_argument, NULL, OPTION_DISABLE_HIGH_ENTROPY_VA},
+ {"no-high-entropy-va", no_argument, NULL, OPTION_DISABLE_HIGH_ENTROPY_VA},
{"disable-dynamicbase",no_argument, NULL, OPTION_DISABLE_DYNAMIC_BASE},
+ {"no-dynamicbase",no_argument, NULL, OPTION_DISABLE_DYNAMIC_BASE},
{"disable-forceinteg", no_argument, NULL, OPTION_DISABLE_FORCE_INTEGRITY},
{"disable-nxcompat", no_argument, NULL, OPTION_DISABLE_NX_COMPAT},
+ {"no-nxcompat", no_argument, NULL, OPTION_DISABLE_NX_COMPAT},
{"disable-no-isolation", no_argument, NULL, OPTION_DISABLE_NO_ISOLATION},
{"disable-no-seh", no_argument, NULL, OPTION_DISABLE_NO_SEH},
{"disable-no-bind", no_argument, NULL, OPTION_DISABLE_NO_BIND},
--- a/upstream/ld/ldlex.h
+++ b/upstream/ld/ldlex.h
@@ -367,8 +367,11 @@
OPTION_DISABLE_LONG_SECTION_NAMES,
/* DLLCharacteristics flags. */
OPTION_DYNAMIC_BASE,
+ OPTION_NO_DYNAMIC_BASE,
OPTION_FORCE_INTEGRITY,
OPTION_NX_COMPAT,
+ OPTION_NO_NX_COMPAT,
+ OPTION_ISOLATION,
OPTION_NO_ISOLATION,
OPTION_NO_SEH,
OPTION_NO_BIND,
|