mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 22:48:57 +08:00
* elflink.c (elf_smash_syms): Expand comments.
(elf_link_add_object_symbols): Only call elf_smash_syms for as-needed dynamic objects.
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
2005-02-02 Alan Modra <amodra@bigpond.net.au>
|
2005-02-02 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* elflink.c (elf_smash_syms): Expand comments.
|
||||||
|
(elf_link_add_object_symbols): Only call elf_smash_syms for
|
||||||
|
as-needed dynamic objects.
|
||||||
|
|
||||||
* elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
|
* elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
|
||||||
everything, just the field specific to ia64.
|
everything, just the field specific to ia64.
|
||||||
* elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
|
* elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
|
||||||
@ -93,7 +97,7 @@
|
|||||||
|
|
||||||
* elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
|
* elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
|
||||||
SHF_WRITE for .init_array, .fini_array, and .preinit_array.
|
SHF_WRITE for .init_array, .fini_array, and .preinit_array.
|
||||||
|
|
||||||
2005-01-31 Nick Clifton <nickc@redhat.com>
|
2005-01-31 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
|
* confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
|
||||||
@ -115,9 +119,9 @@
|
|||||||
* bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
|
* bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
|
||||||
* elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
|
* elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
|
||||||
(bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
|
(bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
|
||||||
passing flag value from ld. Set flag value in global hash table entry.
|
passing flag value from ld. Set flag value in global hash table entry.
|
||||||
(elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
|
(elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
|
||||||
relocation.
|
relocation.
|
||||||
|
|
||||||
2005-01-27 Andrew Cagney <cagney@gnu.org>
|
2005-01-27 Andrew Cagney <cagney@gnu.org>
|
||||||
|
|
||||||
@ -126,7 +130,7 @@
|
|||||||
2005-01-25 Mark Mitchell <mark@codesourcery.com>
|
2005-01-25 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
* elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
|
* elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
|
||||||
SymbianOS.
|
SymbianOS.
|
||||||
|
|
||||||
2005-01-25 Alexandre Oliva <aoliva@redhat.com>
|
2005-01-25 Alexandre Oliva <aoliva@redhat.com>
|
||||||
|
|
||||||
|
@ -2815,7 +2815,12 @@ elf_add_dt_needed_tag (bfd *abfd,
|
|||||||
|
|
||||||
/* Called via elf_link_hash_traverse, elf_smash_syms sets all symbols
|
/* Called via elf_link_hash_traverse, elf_smash_syms sets all symbols
|
||||||
belonging to NOT_NEEDED to bfd_link_hash_new. We know there are no
|
belonging to NOT_NEEDED to bfd_link_hash_new. We know there are no
|
||||||
references to these symbols. */
|
references from regular objects to these symbols.
|
||||||
|
|
||||||
|
??? Should we do something about references from other dynamic
|
||||||
|
obects? If not, we potentially lose some warnings about undefined
|
||||||
|
symbols. But how can we recover the initial undefined / undefweak
|
||||||
|
state? */
|
||||||
|
|
||||||
struct elf_smash_syms_data
|
struct elf_smash_syms_data
|
||||||
{
|
{
|
||||||
@ -4094,8 +4099,11 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
|
|||||||
free (isymbuf);
|
free (isymbuf);
|
||||||
isymbuf = NULL;
|
isymbuf = NULL;
|
||||||
|
|
||||||
if (!add_needed)
|
if (!add_needed
|
||||||
|
&& (elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0)
|
||||||
{
|
{
|
||||||
|
/* Remove symbols defined in an as-needed shared lib that wasn't
|
||||||
|
needed. */
|
||||||
struct elf_smash_syms_data inf;
|
struct elf_smash_syms_data inf;
|
||||||
inf.not_needed = abfd;
|
inf.not_needed = abfd;
|
||||||
inf.htab = hash_table;
|
inf.htab = hash_table;
|
||||||
|
Reference in New Issue
Block a user