* sunos.c (sunos_add_one_symbol): Only set the sunos specific
fields if we are doing a sunos link.
This commit is contained in:
parent
11618ce8f2
commit
04dc16b76b
@ -1,3 +1,15 @@
|
||||
Fri Jan 20 11:44:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||||
|
||||
* sunos.c (sunos_add_one_symbol): Only set the sunos specific
|
||||
fields if we are doing a sunos link.
|
||||
|
||||
Wed Jan 18 12:28:17 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||||
|
||||
* cpu-h8300.c (h8300_info_struct): Change name from "H8/300" to
|
||||
"h8300" for consistency with other cpu-* files.
|
||||
(h8300h_info_struct): Change name from "H8/300H" to "h8300h".
|
||||
* coff-h8300.c (special): Remove unused variable diff.
|
||||
|
||||
Tue Jan 17 10:52:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||||
|
||||
* bfd-in.h (bfd_byte, reloc_howto_type): Define here, not...
|
||||
|
53
bfd/sunos.c
53
bfd/sunos.c
@ -518,7 +518,7 @@ sunos_canonicalize_dynamic_reloc (abfd, storage, syms)
|
||||
|
||||
#define SPARC_PLT_ENTRY_SIZE (12)
|
||||
|
||||
static bfd_byte sparc_plt_first_entry[SPARC_PLT_ENTRY_SIZE] =
|
||||
static const bfd_byte sparc_plt_first_entry[SPARC_PLT_ENTRY_SIZE] =
|
||||
{
|
||||
/* sethi %hi(0),%g1; address filled in by runtime linker. */
|
||||
0x3, 0, 0, 0,
|
||||
@ -542,7 +542,7 @@ static bfd_byte sparc_plt_first_entry[SPARC_PLT_ENTRY_SIZE] =
|
||||
|
||||
#define M68K_PLT_ENTRY_SIZE (8)
|
||||
|
||||
static bfd_byte m68k_plt_first_entry[M68K_PLT_ENTRY_SIZE] =
|
||||
static const bfd_byte m68k_plt_first_entry[M68K_PLT_ENTRY_SIZE] =
|
||||
{
|
||||
/* jmps @# */
|
||||
0x4e, 0xf9,
|
||||
@ -891,32 +891,35 @@ sunos_add_one_symbol (info, abfd, name, flags, section, value, string,
|
||||
hashp))
|
||||
return false;
|
||||
|
||||
/* Set a flag in the hash table entry indicating the type of
|
||||
reference or definition we just found. Keep a count of the
|
||||
number of dynamic symbols we find. A dynamic symbol is one which
|
||||
is referenced or defined by both a regular object and a shared
|
||||
object. */
|
||||
if ((abfd->flags & DYNAMIC) == 0)
|
||||
if (abfd->xvec == info->hash->creator)
|
||||
{
|
||||
if (bfd_is_und_section (section))
|
||||
new_flag = SUNOS_REF_REGULAR;
|
||||
/* Set a flag in the hash table entry indicating the type of
|
||||
reference or definition we just found. Keep a count of the
|
||||
number of dynamic symbols we find. A dynamic symbol is one
|
||||
which is referenced or defined by both a regular object and a
|
||||
shared object. */
|
||||
if ((abfd->flags & DYNAMIC) == 0)
|
||||
{
|
||||
if (bfd_is_und_section (section))
|
||||
new_flag = SUNOS_REF_REGULAR;
|
||||
else
|
||||
new_flag = SUNOS_DEF_REGULAR;
|
||||
}
|
||||
else
|
||||
new_flag = SUNOS_DEF_REGULAR;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bfd_is_und_section (section))
|
||||
new_flag = SUNOS_REF_DYNAMIC;
|
||||
else
|
||||
new_flag = SUNOS_DEF_DYNAMIC;
|
||||
}
|
||||
h->flags |= new_flag;
|
||||
{
|
||||
if (bfd_is_und_section (section))
|
||||
new_flag = SUNOS_REF_DYNAMIC;
|
||||
else
|
||||
new_flag = SUNOS_DEF_DYNAMIC;
|
||||
}
|
||||
h->flags |= new_flag;
|
||||
|
||||
if (h->dynindx == -1
|
||||
&& (h->flags & (SUNOS_DEF_REGULAR | SUNOS_REF_REGULAR)) != 0)
|
||||
{
|
||||
++sunos_hash_table (info)->dynsymcount;
|
||||
h->dynindx = -2;
|
||||
if (h->dynindx == -1
|
||||
&& (h->flags & (SUNOS_DEF_REGULAR | SUNOS_REF_REGULAR)) != 0)
|
||||
{
|
||||
++sunos_hash_table (info)->dynsymcount;
|
||||
h->dynindx = -2;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user