2001-05-10 H.J. Lu <hjl@gnu.org>
* linker.c (_bfd_generic_link_add_one_symbol): Check loop on indirect symbols.
This commit is contained in:
parent
9a0f0643ee
commit
689effed70
|
@ -1,3 +1,8 @@
|
||||||
|
2001-05-10 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* linker.c (_bfd_generic_link_add_one_symbol): Check loop on
|
||||||
|
indirect symbols.
|
||||||
|
|
||||||
2001-05-09 H.J. Lu <hjl@gnu.org>
|
2001-05-09 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
* elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate
|
* elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate
|
||||||
|
|
|
@ -1801,6 +1801,15 @@ _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section, value,
|
||||||
copy, false);
|
copy, false);
|
||||||
if (inh == (struct bfd_link_hash_entry *) NULL)
|
if (inh == (struct bfd_link_hash_entry *) NULL)
|
||||||
return false;
|
return false;
|
||||||
|
if (inh->type == bfd_link_hash_indirect
|
||||||
|
&& inh->u.i.link == h)
|
||||||
|
{
|
||||||
|
(*_bfd_error_handler)
|
||||||
|
(_("%s: indirect symbol `%s' to `%s' is a loop"),
|
||||||
|
bfd_get_filename (abfd), name, string);
|
||||||
|
bfd_set_error (bfd_error_invalid_operation);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (inh->type == bfd_link_hash_new)
|
if (inh->type == bfd_link_hash_new)
|
||||||
{
|
{
|
||||||
inh->type = bfd_link_hash_undefined;
|
inh->type = bfd_link_hash_undefined;
|
||||||
|
|
Loading…
Reference in New Issue