diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-08-07 08:02:12 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-08-07 08:02:29 -0700 |
commit | 2980ccad5958af178f80fd2a2a0fa781bf91b0aa (patch) | |
tree | 695fd3892c2d21a8d7261943dd707ec9a5c3b88a | |
parent | e347efc38b8b1eb6561248875c4bb2f9b074894b (diff) | |
download | binutils-gdb-2980ccad5958af178f80fd2a2a0fa781bf91b0aa.tar.gz |
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.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 11 | ||||
-rw-r--r-- | ld/ChangeLog | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr21903.s | 12 |
4 files changed, 23 insertions, 13 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5d045717170..3ed2e9e16d7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 diff --git a/bfd/elflink.c b/bfd/elflink.c index b89d537df51..424de21f0d9 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -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); diff --git a/ld/ChangeLog b/ld/ChangeLog index 33fb86848d5..96dc608db24 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -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 diff --git a/ld/testsuite/ld-elf/pr21903.s b/ld/testsuite/ld-elf/pr21903.s index 9dbf96c62e5..ce26b33f029 100644 --- a/ld/testsuite/ld-elf/pr21903.s +++ b/ld/testsuite/ld-elf/pr21903.s @@ -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 |