PR26002 undefined symbol VER_NDX_GLOBAL vs. VER_NDX_LOCAL
This patch makes undefined unversioned dynamic symbols use VER_NDX_GLOBAL (version 1) rather than VER_NDX_LOCAL (version 0). There really isn't much use for an undefined local dynamic symbol, so we may as well use the logically correct value in .gnu.version. https://docs.oracle.com/cd/E26505_01/html/E26506/chapter6-54676.html bfd/ PR 26002 * elflink.c (elf_link_output_extsym): Use version 1 in .gnu.version for undefined unversioned symbols. ld/ PR 26002 * testsuite/ld-elfvers/vers6.dsym: Expect "Base" for undefined unversioned symbols. * testsuite/ld-elfvers/vers16.dsym: Likewise.
This commit is contained in:
parent
1368b914e9
commit
eb6e6af8c1
@ -1,3 +1,9 @@
|
|||||||
|
2021-01-16 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR 26002
|
||||||
|
* elflink.c (elf_link_output_extsym): Use version 1 in
|
||||||
|
.gnu.version for undefined unversioned symbols.
|
||||||
|
|
||||||
2021-01-15 Nelson Chu <nelson.chu@sifive.com>
|
2021-01-15 Nelson Chu <nelson.chu@sifive.com>
|
||||||
|
|
||||||
* elfnn-riscv.c (riscv_relax_delete_bytes): Fixed the indent that
|
* elfnn-riscv.c (riscv_relax_delete_bytes): Fixed the indent that
|
||||||
|
@ -10568,7 +10568,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
|
|||||||
if (h->verinfo.verdef == NULL
|
if (h->verinfo.verdef == NULL
|
||||||
|| (elf_dyn_lib_class (h->verinfo.verdef->vd_bfd)
|
|| (elf_dyn_lib_class (h->verinfo.verdef->vd_bfd)
|
||||||
& (DYN_AS_NEEDED | DYN_DT_NEEDED | DYN_NO_NEEDED)))
|
& (DYN_AS_NEEDED | DYN_DT_NEEDED | DYN_NO_NEEDED)))
|
||||||
iversym.vs_vers = 0;
|
iversym.vs_vers = 1;
|
||||||
else
|
else
|
||||||
iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1;
|
iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2021-01-16 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR 26002
|
||||||
|
* testsuite/ld-elfvers/vers6.dsym: Expect "Base" for undefined
|
||||||
|
unversioned symbols.
|
||||||
|
* testsuite/ld-elfvers/vers16.dsym: Likewise.
|
||||||
|
|
||||||
2021-01-15 Nelson Chu <nelson.chu@sifive.com>
|
2021-01-15 Nelson Chu <nelson.chu@sifive.com>
|
||||||
|
|
||||||
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d: Updated.
|
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d: Updated.
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
[0-9a-f]+ g +DF (\.text|\.opd|\*ABS\*) [0-9a-f]+( +Base +)? (0x[0-9a-f]+ )?_?show_bar
|
[0-9a-f]+ g +DF (\.text|\.opd|\*ABS\*) [0-9a-f]+( +Base +)? (0x[0-9a-f]+ )?_?show_bar
|
||||||
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +(0x[0-9a-f]+ )?_?show_foo
|
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +Base +(0x[0-9a-f]+ )?_?show_foo
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +(0x[0-9a-f]+ )?_?show_foo
|
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +Base +(0x[0-9a-f]+ )?_?show_foo
|
||||||
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +VERS_2.0 +(0x[0-9a-f]+ )?_?show_foo
|
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +VERS_2.0 +(0x[0-9a-f]+ )?_?show_foo
|
||||||
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +VERS_1.2 +(0x[0-9a-f]+ )?_?show_foo
|
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +VERS_1.2 +(0x[0-9a-f]+ )?_?show_foo
|
||||||
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +VERS_1.1 +(0x[0-9a-f]+ )?_?show_foo
|
[0-9a-f]+ +DF \*UND\* [0-9a-f]+ +VERS_1.1 +(0x[0-9a-f]+ )?_?show_foo
|
||||||
|
Loading…
Reference in New Issue
Block a user