From: Michael Matz Date: Wed, 19 Nov 2025 15:32:51 +0000 (+0100) Subject: Use version index 1 for defined symbols X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78894bcb483d45c4d7be5ef9499ec017a9727079;p=thirdparty%2Fbinutils-gdb.git Use version index 1 for defined symbols It's reasonable to use version index 0 for undefined symbols, so let's continue doing that. For defined (global) symbols that aren't otherwise versioned continue using VER_NDX_GLOBAL (partly reverting behaviour introduced in commit f685e395). bfd/ PR ld/33577 * elflink.c (elf_link_output_extsym): Don't set noversion for defined syms. ld/ PR ld/33577 * ld-elfvers/vers16.dsym: Add back the "Base" version for defined syms. --- diff --git a/bfd/elflink.c b/bfd/elflink.c index b72faff7fd8..96497ac1c33 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11158,13 +11158,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) else { if (h->verinfo.vertree == NULL) - { - iversym.vs_vers = 1; - if (elf_tdata (flinfo->output_bfd)->cverdefs == 0) - /* Defined symbol has no version if there is no - linker version script. */ - noversion = true; - } + iversym.vs_vers = 1; else iversym.vs_vers = h->verinfo.vertree->vernum + 1; if (flinfo->info->create_default_symver) diff --git a/ld/testsuite/ld-elfvers/vers16.dsym b/ld/testsuite/ld-elfvers/vers16.dsym index 076d0eb07ed..a32abd7aad9 100644 --- a/ld/testsuite/ld-elfvers/vers16.dsym +++ b/ld/testsuite/ld-elfvers/vers16.dsym @@ -1,2 +1,2 @@ -[0-9a-f]+ g +DF (\.text|\.opd|\*ABS\*) [0-9a-f]+ +(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