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:
H.J. Lu 2017-08-07 08:02:12 -07:00
parent e347efc38b
commit 2980ccad59
4 changed files with 23 additions and 13 deletions

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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