diff --git a/external/gpl3/binutils/dist/bfd/elflink.c b/external/gpl3/binutils/dist/bfd/elflink.c index 86a37a2ae69c..61d6a97c0a65 100644 --- a/external/gpl3/binutils/dist/bfd/elflink.c +++ b/external/gpl3/binutils/dist/bfd/elflink.c @@ -567,7 +567,10 @@ bfd_elf_record_link_assignment (bfd *output_bfd, && !h->def_regular) h->verinfo.verdef = NULL; - h->def_regular = 1; + /* Only set symbols not provided from the linker script as regular so + that we can find their version from verdef not vertree */ + if (!provide) + h->def_regular = 1; if (provide && hidden) {