* elfcode.h (map_program_segments): Don't abort if we allocated
authorIan Lance Taylor <ian@airs.com>
Fri, 23 Sep 1994 19:19:41 +0000 (19:19 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 23 Sep 1994 19:19:41 +0000 (19:19 +0000)
too much space for the program header, only if we allocated too
little.

bfd/ChangeLog
bfd/elfcode.h

index 4089456a96c9cb4a5df73064ae937d65bedace8d..5fa7daf25288b8c74d98b35196d467027fcf3901 100644 (file)
@@ -1,3 +1,9 @@
+Fri Sep 23 15:15:31 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * elfcode.h (map_program_segments): Don't abort if we allocated
+       too much space for the program header, only if we allocated too
+       little.
+
 Tue Sep 20 13:17:07 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
 
        * libaout.h: Fix comment.
@@ -6,6 +12,11 @@ Tue Sep 20 13:17:07 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
 
 Tue Sep 20 15:23:21 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
 
+       * Makefile.in: Rebuilt dependencies.
+       (BFD32_BACKENDS): Add sparcnetbsd.o.
+       (CFILES): Add ns32knetbsd.c and sparcnetbsd.c.
+       * targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec.
+
        * coff-sh.c (rtype2howto): Remove; unused.
        (coff_sh_relocate_section): Remove unused local variable rstat.
        (reloc_processing): Comment out; unused.
index 2ba485695d43d656fa08ddc01e96345231517b0b..60e8957a58fee6938ab93acb5cefed50a94c4279 100644 (file)
@@ -1924,8 +1924,9 @@ map_program_segments (abfd, off, first, phdr_size)
     }
 
   /* Make sure the return value from get_program_header_size matches
-     what we computed here.  */
-  if (phdr_count != phdr_size / sizeof (Elf_External_Phdr))
+     what we computed here.  Actually, it's OK if we allocated too
+     much space in the program header.  */
+  if (phdr_count > phdr_size / sizeof (Elf_External_Phdr))
     abort ();
 
   /* Set up program header information.  */
@@ -5855,10 +5856,7 @@ elf_link_output_extsym (h, data)
   sym.st_size = h->size;
   sym.st_other = 0;
   if (h->root.type == bfd_link_hash_weak
-      || ((h->elf_link_hash_flags & ELF_LINK_HASH_DEFINED_WEAK) != 0
-         && ((h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR
-                                        | ELF_LINK_HASH_REF_DYNAMIC))
-             == 0)))
+      || (h->elf_link_hash_flags & ELF_LINK_HASH_DEFINED_WEAK) != 0)
     sym.st_info = ELF_ST_INFO (STB_WEAK, h->type);
   else
     sym.st_info = ELF_ST_INFO (STB_GLOBAL, h->type);