mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 14:39:09 +08:00
* elflink.c (bfd_elf_record_link_assignment): Remove output_bfd param.
(_bfd_elf_provide_symbol): Allow redefinition of weak syms and those defined in output sections. Call bfd_elf_record_link_assignment. * bfd-in.h (bfd_elf_record_link_assignment): Update prototype. * bfd-in2.h: Regenerate.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2005-07-15 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* elflink.c (bfd_elf_record_link_assignment): Remove output_bfd param.
|
||||||
|
(_bfd_elf_provide_symbol): Allow redefinition of weak syms and those
|
||||||
|
defined in output sections. Call bfd_elf_record_link_assignment.
|
||||||
|
* bfd-in.h (bfd_elf_record_link_assignment): Update prototype.
|
||||||
|
* bfd-in2.h: Regenerate.
|
||||||
|
|
||||||
2005-07-14 Jim Blandy <jimb@redhat.com>
|
2005-07-14 Jim Blandy <jimb@redhat.com>
|
||||||
|
|
||||||
Add support for m32c-*-elf (Renesas m32c and m16c).
|
Add support for m32c-*-elf (Renesas m32c and m16c).
|
||||||
|
@ -633,7 +633,7 @@ enum dynamic_lib_link_class {
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern bfd_boolean bfd_elf_record_link_assignment
|
extern bfd_boolean bfd_elf_record_link_assignment
|
||||||
(bfd *, struct bfd_link_info *, const char *, bfd_boolean);
|
(struct bfd_link_info *, const char *, bfd_boolean);
|
||||||
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
|
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
|
||||||
(bfd *, struct bfd_link_info *);
|
(bfd *, struct bfd_link_info *);
|
||||||
extern bfd_boolean bfd_elf_get_bfd_needed_list
|
extern bfd_boolean bfd_elf_get_bfd_needed_list
|
||||||
|
@ -640,7 +640,7 @@ enum dynamic_lib_link_class {
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern bfd_boolean bfd_elf_record_link_assignment
|
extern bfd_boolean bfd_elf_record_link_assignment
|
||||||
(bfd *, struct bfd_link_info *, const char *, bfd_boolean);
|
(struct bfd_link_info *, const char *, bfd_boolean);
|
||||||
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
|
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
|
||||||
(bfd *, struct bfd_link_info *);
|
(bfd *, struct bfd_link_info *);
|
||||||
extern bfd_boolean bfd_elf_get_bfd_needed_list
|
extern bfd_boolean bfd_elf_get_bfd_needed_list
|
||||||
|
@ -433,8 +433,7 @@ bfd_elf_link_record_dynamic_symbol (struct bfd_link_info *info,
|
|||||||
this in case some dynamic object refers to this symbol. */
|
this in case some dynamic object refers to this symbol. */
|
||||||
|
|
||||||
bfd_boolean
|
bfd_boolean
|
||||||
bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED,
|
bfd_elf_record_link_assignment (struct bfd_link_info *info,
|
||||||
struct bfd_link_info *info,
|
|
||||||
const char *name,
|
const char *name,
|
||||||
bfd_boolean provide)
|
bfd_boolean provide)
|
||||||
{
|
{
|
||||||
@ -9843,8 +9842,13 @@ _bfd_elf_provide_symbol (struct bfd_link_info *info, const char *name,
|
|||||||
{
|
{
|
||||||
struct elf_link_hash_entry *h;
|
struct elf_link_hash_entry *h;
|
||||||
|
|
||||||
|
bfd_elf_record_link_assignment (info, name, TRUE);
|
||||||
|
|
||||||
h = elf_link_hash_lookup (elf_hash_table (info), name, FALSE, FALSE, FALSE);
|
h = elf_link_hash_lookup (elf_hash_table (info), name, FALSE, FALSE, FALSE);
|
||||||
if (h != NULL && !h->def_regular)
|
if (h != NULL
|
||||||
|
&& !(h->root.type == bfd_link_hash_defined
|
||||||
|
&& h->root.u.def.section != NULL
|
||||||
|
&& h->root.u.def.section != h->root.u.def.section->output_section))
|
||||||
bfd_elf_set_symbol (h, val, s);
|
bfd_elf_set_symbol (h, val, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user