mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 22:48:57 +08:00
* aoutx.h (aout_link_check_ar_symbols): Correct test for whether
object file defines symbol. Also, if skipping a symbol, skip the second symbol of a N_WARNING or N_INDR symbol as well.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||||
|
|
||||||
|
* aoutx.h (aout_link_check_ar_symbols): Correct test for whether
|
||||||
|
object file defines symbol. Also, if skipping a symbol, skip the
|
||||||
|
second symbol of a N_WARNING or N_INDR symbol as well.
|
||||||
|
|
||||||
Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||||
|
|
||||||
Add basic support for writing RS/6000 XCOFF files.
|
Add basic support for writing RS/6000 XCOFF files.
|
||||||
|
21
bfd/aoutx.h
21
bfd/aoutx.h
@ -3035,7 +3035,12 @@ aout_link_check_ar_symbols (abfd, info, pneeded)
|
|||||||
|
|
||||||
/* Ignore symbols that are not externally visible. */
|
/* Ignore symbols that are not externally visible. */
|
||||||
if ((type & N_EXT) == 0)
|
if ((type & N_EXT) == 0)
|
||||||
continue;
|
{
|
||||||
|
if (type == N_WARNING
|
||||||
|
|| type == N_INDR)
|
||||||
|
++p;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
name = strings + GET_WORD (abfd, p->e_strx);
|
name = strings + GET_WORD (abfd, p->e_strx);
|
||||||
h = bfd_link_hash_lookup (info->hash, name, false, false, true);
|
h = bfd_link_hash_lookup (info->hash, name, false, false, true);
|
||||||
@ -3045,9 +3050,17 @@ aout_link_check_ar_symbols (abfd, info, pneeded)
|
|||||||
if (h == (struct bfd_link_hash_entry *) NULL
|
if (h == (struct bfd_link_hash_entry *) NULL
|
||||||
|| (h->type != bfd_link_hash_undefined
|
|| (h->type != bfd_link_hash_undefined
|
||||||
&& h->type != bfd_link_hash_common))
|
&& h->type != bfd_link_hash_common))
|
||||||
continue;
|
{
|
||||||
|
if (type == (N_INDR | N_EXT))
|
||||||
|
++p;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ((type & (N_TEXT | N_DATA | N_BSS)) != 0)
|
if (type == (N_TEXT | N_EXT)
|
||||||
|
|| type == (N_DATA | N_EXT)
|
||||||
|
|| type == (N_BSS | N_EXT)
|
||||||
|
|| type == (N_ABS | N_EXT)
|
||||||
|
|| type == (N_INDR | N_EXT))
|
||||||
{
|
{
|
||||||
/* This object file defines this symbol. We must link it
|
/* This object file defines this symbol. We must link it
|
||||||
in. This is true regardless of whether the current
|
in. This is true regardless of whether the current
|
||||||
@ -3064,7 +3077,7 @@ aout_link_check_ar_symbols (abfd, info, pneeded)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == (N_EXT | N_UNDF))
|
if (type == (N_UNDF | N_EXT))
|
||||||
{
|
{
|
||||||
bfd_vma value;
|
bfd_vma value;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user