x86: Mark __bss_start, _end and _edata locally defined
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 14 May 2018 10:47:47 +0000 (03:47 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 14 May 2018 10:48:02 +0000 (03:48 -0700)
commit9bc935ef3380a2d471b9447e2bf8e61297654e2f
tree7a3dcd50c0392966eceef1ab218a8650d071d603
parent85bd2d83f8a3d813718418df11c2bee2a50c1274
x86: Mark __bss_start, _end and _edata locally defined

__bss_start, _end and _edata are defined by linker to mark regions
within executables and shared libraries.  All references within
executables should be locally resolved.

This patch doesn't change how their references within shared libraries
are resolved.

bfd/

PR ld/23162
* elfxx-x86.c (elf_x86_linker_defined): New function.
(_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start,
_end and _edata locally defined within executables.

ld/

PR ld/23162
* testsuite/ld-elf/pr23162.map: New file.
* testsuite/ld-elf/pr23162.rd: Likewise.
* testsuite/ld-elf/pr23162a.c: Likewise.
* testsuite/ld-elf/pr23162b.c: Likewise.
* testsuite/ld-elf/shared.exp: Run PR ld/23162 tests.
bfd/ChangeLog
bfd/elfxx-x86.c
ld/ChangeLog
ld/testsuite/ld-elf/pr23162.map [new file with mode: 0644]
ld/testsuite/ld-elf/pr23162.rd [new file with mode: 0644]
ld/testsuite/ld-elf/pr23162a.c [new file with mode: 0644]
ld/testsuite/ld-elf/pr23162b.c [new file with mode: 0644]
ld/testsuite/ld-elf/shared.exp