Move common symbol check after bed->common_definition
bfd/ * elflink.c (elf_link_add_object_symbols): Move common symbol check after bed->common_definition. ld/ * testsuite/ld-elf/pr21903.s (start): Removed. (_start): Likewise. (__start): Likewise. (main): Likewise. (bar): New.
This commit is contained in:
parent
e347efc38b
commit
2980ccad59
@ -1,3 +1,8 @@
|
||||
2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elflink.c (elf_link_add_object_symbols): Move common symbol
|
||||
check after bed->common_definition.
|
||||
|
||||
2017-08-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 21910
|
||||
|
@ -4250,15 +4250,16 @@ error_free_dyn:
|
||||
|
||||
override = FALSE;
|
||||
|
||||
/* Treat common symbol as undefined for --no-define-common. */
|
||||
if (isym->st_shndx == SHN_COMMON
|
||||
&& info->inhibit_common_definition)
|
||||
isym->st_shndx = SHN_UNDEF;
|
||||
|
||||
flags = BSF_NO_FLAGS;
|
||||
sec = NULL;
|
||||
value = isym->st_value;
|
||||
common = bed->common_definition (isym);
|
||||
if (common && info->inhibit_common_definition)
|
||||
{
|
||||
/* Treat common symbol as undefined for --no-define-common. */
|
||||
isym->st_shndx = SHN_UNDEF;
|
||||
common = FALSE;
|
||||
}
|
||||
discarded = FALSE;
|
||||
|
||||
bind = ELF_ST_BIND (isym->st_info);
|
||||
|
@ -1,3 +1,11 @@
|
||||
2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* testsuite/ld-elf/pr21903.s (start): Removed.
|
||||
(_start): Likewise.
|
||||
(__start): Likewise.
|
||||
(main): Likewise.
|
||||
(bar): New.
|
||||
|
||||
2017-08-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* testsuite/ld-alpha/alpha.exp: Add --hash-style=sysv to various
|
||||
|
@ -1,12 +1,8 @@
|
||||
.text
|
||||
.global start /* Used by SH targets. */
|
||||
start:
|
||||
.global _start
|
||||
_start:
|
||||
.global __start
|
||||
__start:
|
||||
.global main /* Used by HPPA targets. */
|
||||
main:
|
||||
.global bar
|
||||
bar:
|
||||
.byte 0
|
||||
.data
|
||||
.dc.a foo
|
||||
.ifdef HPUX
|
||||
foo .comm 4
|
||||
|
Loading…
Reference in New Issue
Block a user