mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 06:17:47 +08:00
Wed Jul 30 21:30:35 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elflink.h (NAME(bfd_elf,record_link_assignment)): Remove any version info if this symbol came from a dynamic object. (elf_link_add_object_symbols): Set the version info of a symbol only if the object actually contains version definitions and defines this symbol.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
Wed Jul 30 21:30:35 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||||
|
|
||||||
|
* elflink.h (NAME(bfd_elf,record_link_assignment)): Remove any
|
||||||
|
version info if this symbol came from a dynamic object.
|
||||||
|
(elf_link_add_object_symbols): Set the version info of a symbol
|
||||||
|
only if the object actually contains version definitions and
|
||||||
|
defines this symbol.
|
||||||
|
|
||||||
Mon Jul 28 18:07:43 1997 Rob Savoye <rob@chinadoll.cygnus.com>
|
Mon Jul 28 18:07:43 1997 Rob Savoye <rob@chinadoll.cygnus.com>
|
||||||
|
|
||||||
* aclocal.m4: Add CYGWIN and EXEEXT autoconf macros.
|
* aclocal.m4: Add CYGWIN and EXEEXT autoconf macros.
|
||||||
|
@ -1211,10 +1211,10 @@ elf_link_add_object_symbols (abfd, info)
|
|||||||
if (h->root.type == bfd_link_hash_common)
|
if (h->root.type == bfd_link_hash_common)
|
||||||
old_alignment = h->root.u.c.p->alignment_power;
|
old_alignment = h->root.u.c.p->alignment_power;
|
||||||
|
|
||||||
if (ever != NULL
|
if (elf_tdata (abfd)->verdef != NULL
|
||||||
&& ! override
|
&& ! override
|
||||||
&& vernum > 1
|
&& vernum > 1
|
||||||
&& (h->verinfo.verdef == NULL || definition))
|
&& definition)
|
||||||
h->verinfo.verdef = &elf_tdata (abfd)->verdef[vernum - 1];
|
h->verinfo.verdef = &elf_tdata (abfd)->verdef[vernum - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2103,6 +2103,15 @@ NAME(bfd_elf,record_link_assignment) (output_bfd, info, name, provide)
|
|||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||||
h->root.type = bfd_link_hash_undefined;
|
h->root.type = bfd_link_hash_undefined;
|
||||||
|
|
||||||
|
/* If this symbol is not being provided by the linker script, and it is
|
||||||
|
currently defined by a dynamic object, but not by a regular object,
|
||||||
|
then clear out any version information because the symbol will not be
|
||||||
|
associated with the dynamic object any more. */
|
||||||
|
if (!provide
|
||||||
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
|
||||||
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||||
|
h->verinfo.verdef = NULL;
|
||||||
|
|
||||||
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
|
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
|
||||||
h->type = STT_OBJECT;
|
h->type = STT_OBJECT;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user