diff options
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/emulparams/call_nop.sh | 5 | ||||
-rw-r--r-- | ld/ld.texinfo | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/call3c.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/call1c.d | 12 |
5 files changed, 9 insertions, 29 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index e2d5496..ee9fff0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2017-06-02 H.J. Lu <hongjiu.lu@intel.com> + + * emulparams/call_nop.sh: Remove -z prefix-nop. + * ld.texinfo: Likewise. + * testsuite/ld-i386/call3c.d: Check for linker error. + * testsuite/ld-x86-64/call1c.d: Likewise. + 2017-06-01 Alan Modra <amodra@gmail.com> * emultempl/ppc64elf.em (params): Init plt_localentry0 field. diff --git a/ld/emulparams/call_nop.sh b/ld/emulparams/call_nop.sh index fee4a81..d45806c 100644 --- a/ld/emulparams/call_nop.sh +++ b/ld/emulparams/call_nop.sh @@ -10,11 +10,6 @@ PARSE_AND_LIST_ARGS_CASE_Z_CALL_NOP=' link_info.call_nop_as_suffix = FALSE; link_info.call_nop_byte = 0x67; } - else if (strcmp (optarg + 9, "prefix-nop") == 0) - { - link_info.call_nop_as_suffix = FALSE; - link_info.call_nop_byte = 0x90; - } else if (strcmp (optarg + 9, "suffix-nop") == 0) { link_info.call_nop_as_suffix = TRUE; diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 9a72cb9..edf1e31 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -1250,14 +1250,12 @@ relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64. @item call-nop=prefix-addr -@itemx call-nop=prefix-nop @itemx call-nop=suffix-nop @itemx call-nop=prefix-@var{byte} @itemx call-nop=suffix-@var{byte} Specify the 1-byte @code{NOP} padding when transforming indirect call to a locally defined function, foo, via its GOT slot. @option{call-nop=prefix-addr} generates @code{0x67 call foo}. -@option{call-nop=prefix-nop} generates @code{0x90 call foo}. @option{call-nop=suffix-nop} generates @code{call foo 0x90}. @option{call-nop=prefix-@var{byte}} generates @code{@var{byte} call foo}. @option{call-nop=suffix-@var{byte}} generates @code{call foo @var{byte}}. diff --git a/ld/testsuite/ld-i386/call3c.d b/ld/testsuite/ld-i386/call3c.d index 0fdbee4..f869dcc 100644 --- a/ld/testsuite/ld-i386/call3c.d +++ b/ld/testsuite/ld-i386/call3c.d @@ -1,14 +1,4 @@ #source: call3.s #as: --32 -mrelax-relocations=yes #ld: -melf_i386 -z call-nop=prefix-nop -#objdump: -dw - -.*: +file format .* - - -Disassembly of section .text: - -#... -[ ]*[a-f0-9]+: 90 nop -[ ]*[a-f0-9]+: e8 ([0-9a-f]{2} ){4} * call +[a-f0-9]+ <foo> -#pass +#error: invalid number for -z call-nop=prefix-: nop diff --git a/ld/testsuite/ld-x86-64/call1c.d b/ld/testsuite/ld-x86-64/call1c.d index 7fe8056..70933da 100644 --- a/ld/testsuite/ld-x86-64/call1c.d +++ b/ld/testsuite/ld-x86-64/call1c.d @@ -1,14 +1,4 @@ #source: call1.s #as: --64 -mrelax-relocations=yes #ld: -melf_x86_64 -z call-nop=prefix-nop -#objdump: -dw - -.*: +file format .* - - -Disassembly of section .text: - -#... -[ ]*[a-f0-9]+: 90 nop -[ ]*[a-f0-9]+: e8 ([0-9a-f]{2} ){4} * callq +[a-f0-9]+ <foo> -#pass +#error: invalid number for -z call-nop=prefix-: nop |