aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog12
-rw-r--r--bfd/sunos.c53
2 files changed, 40 insertions, 25 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6357958..2eb4f02 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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...
diff --git a/bfd/sunos.c b/bfd/sunos.c
index 71ad457..157eba9 100644
--- a/bfd/sunos.c
+++ b/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 (bfd_is_und_section (section))
- new_flag = SUNOS_REF_REGULAR;
- else
- new_flag = SUNOS_DEF_REGULAR;
- }
- else
+ if (abfd->xvec == info->hash->creator)
{
- if (bfd_is_und_section (section))
- new_flag = SUNOS_REF_DYNAMIC;
+ /* 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_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;