File: disable-flags.patch

package info (click to toggle)
binutils-mingw-w64 13
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 200 kB
  • sloc: makefile: 201; sed: 28; sh: 17
file content (53 lines) | stat: -rw-r--r-- 2,681 bytes parent folder | download | duplicates (2)
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,