Use bfd_is_abs_section to check discarded input section
bfd/ PR ld/17306 * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section to check discarded input section. * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. ld/testsuite/ PR ld/17306 * ld-i386/i386.exp (i386tests): Add tests for PR ld/17306. * ld-x86-64/x86-64.exp (x86_64tests): Likewise. * ld-i386/pr17306a.s: New file. * ld-i386/pr17306b.s: Likewise. * ld-x86-64/pr17306a.s: Likewise. * ld-x86-64/pr17306b.s: Likewise.
This commit is contained in:
parent
29a9f53e85
commit
c8831961f9
@ -1,3 +1,10 @@
|
||||
2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/17306
|
||||
* elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
|
||||
to check discarded input section.
|
||||
* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
|
||||
|
||||
2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/17313
|
||||
|
@ -2533,7 +2533,7 @@ elf_i386_convert_mov_to_lea (bfd *abfd, asection *sec,
|
||||
/* Nothing to do if there are no codes, no relocations or no output. */
|
||||
if ((sec->flags & (SEC_CODE | SEC_RELOC)) != (SEC_CODE | SEC_RELOC)
|
||||
|| sec->reloc_count == 0
|
||||
|| discarded_section (sec))
|
||||
|| bfd_is_abs_section (sec->output_section))
|
||||
return TRUE;
|
||||
|
||||
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
|
||||
|
@ -2777,7 +2777,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec,
|
||||
/* Nothing to do if there are no codes, no relocations or no output. */
|
||||
if ((sec->flags & (SEC_CODE | SEC_RELOC)) != (SEC_CODE | SEC_RELOC)
|
||||
|| sec->reloc_count == 0
|
||||
|| discarded_section (sec))
|
||||
|| bfd_is_abs_section (sec->output_section))
|
||||
return TRUE;
|
||||
|
||||
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
|
||||
|
@ -1,3 +1,14 @@
|
||||
2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/17306
|
||||
* ld-i386/i386.exp (i386tests): Add tests for PR ld/17306.
|
||||
* ld-x86-64/x86-64.exp (x86_64tests): Likewise.
|
||||
|
||||
* ld-i386/pr17306a.s: New file.
|
||||
* ld-i386/pr17306b.s: Likewise.
|
||||
* ld-x86-64/pr17306a.s: Likewise.
|
||||
* ld-x86-64/pr17306b.s: Likewise.
|
||||
|
||||
2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/17313
|
||||
|
@ -187,6 +187,10 @@ set i386tests {
|
||||
"--32" {zero.s} {} ""}
|
||||
{"PR ld/17313 (2)" "-melf_i386 -shared --just-symbols=tmpdir/zero.o" ""
|
||||
"--32" {lea1.s} {} "libpr17313.so"}
|
||||
{"PR ld/17306 (1)" "-melf_i386" ""
|
||||
"--32" {pr17306b.s} {} ""}
|
||||
{"PR ld/17306 (2)" "-melf_i386 -shared -Bsymbolic --just-symbols=tmpdir/pr17306b.o" ""
|
||||
"--32" {pr17306a.s} {} "libpr17306.so"}
|
||||
}
|
||||
|
||||
# So as to avoid rewriting every last test case here in a nacl variant,
|
||||
|
9
ld/testsuite/ld-i386/pr17306a.s
Normal file
9
ld/testsuite/ld-i386/pr17306a.s
Normal file
@ -0,0 +1,9 @@
|
||||
.data
|
||||
.globl foo
|
||||
foo:
|
||||
.long -1
|
||||
.text
|
||||
.globl _start
|
||||
.type _start, @function
|
||||
_start:
|
||||
pushl foo@GOT(%ebx)
|
2
ld/testsuite/ld-i386/pr17306b.s
Normal file
2
ld/testsuite/ld-i386/pr17306b.s
Normal file
@ -0,0 +1,2 @@
|
||||
.text
|
||||
movl foo@GOT(%ebx), %eax
|
9
ld/testsuite/ld-x86-64/pr17306a.s
Normal file
9
ld/testsuite/ld-x86-64/pr17306a.s
Normal file
@ -0,0 +1,9 @@
|
||||
.data
|
||||
.globl foo
|
||||
foo:
|
||||
.quad -1
|
||||
.text
|
||||
.globl _start
|
||||
.type _start, @function
|
||||
_start:
|
||||
pushq foo@GOTPCREL(%rip)
|
2
ld/testsuite/ld-x86-64/pr17306b.s
Normal file
2
ld/testsuite/ld-x86-64/pr17306b.s
Normal file
@ -0,0 +1,2 @@
|
||||
.text
|
||||
movq foo@GOTPCREL(%rip), %rax
|
@ -140,6 +140,10 @@ set x86_64tests {
|
||||
"--64" {dummy.s} {} ""}
|
||||
{"PR ld/17313 (2)" "-melf_x86_64 -shared --just-symbols=tmpdir/dummy.o" ""
|
||||
"--64" {lea1.s} {} "libpr17313.so"}
|
||||
{"PR ld/17306 (1)" "-melf_x86_64" ""
|
||||
"--64" {pr17306b.s} {} ""}
|
||||
{"PR ld/17306 (2)" "-melf_x86_64 -shared -Bsymbolic --just-symbols=tmpdir/pr17306b.o" ""
|
||||
"--64" {pr17306a.s} {} "libpr17306.so"}
|
||||
}
|
||||
|
||||
# So as to avoid rewriting every last test case here in a nacl variant,
|
||||
|
Loading…
Reference in New Issue
Block a user