* aoutx.h (NAME(aout,final_link)): Don't assume that all the input

files are a.out.
This commit is contained in:
Ian Lance Taylor 1994-09-13 20:25:46 +00:00
parent a3f7a777c6
commit 204ba9e37e
2 changed files with 28 additions and 16 deletions

View File

@ -1,3 +1,8 @@
Tue Sep 13 16:23:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
* aoutx.h (NAME(aout,final_link)): Don't assume that all the input
files are a.out.
Tue Sep 13 11:09:39 1994 J.T. Conklin (jtc@rtl.cygnus.com) Tue Sep 13 11:09:39 1994 J.T. Conklin (jtc@rtl.cygnus.com)
* configure.host (sparc-*-netbsd): use sparcnbsd. * configure.host (sparc-*-netbsd): use sparcnbsd.

View File

@ -698,6 +698,10 @@ NAME(aout,machine_type) (arch, machine, unknown)
if (machine == 0) arch_flags = M_29K; if (machine == 0) arch_flags = M_29K;
break; break;
case bfd_arch_arm:
if (machine == 0) arch_flags = M_ARM;
break;
case bfd_arch_mips: case bfd_arch_mips:
switch (machine) { switch (machine) {
case 0: case 0:
@ -1767,7 +1771,7 @@ add_to_stringtab (abfd, tab, str, copy)
bfd_size_type index; bfd_size_type index;
/* An index of 0 always means the empty string. */ /* An index of 0 always means the empty string. */
if (*str == '\0') if (str == 0 || *str == '\0')
return 0; return 0;
/* Don't hash if BFD_TRADITIONAL_FORMAT is set, because SunOS dbx /* Don't hash if BFD_TRADITIONAL_FORMAT is set, because SunOS dbx
@ -3307,23 +3311,26 @@ NAME(aout,final_link) (abfd, info, callback)
} }
} }
sz = bfd_section_size (sub, obj_textsec (sub)); if (bfd_get_flavour (sub) == bfd_target_aout_flavour)
if (sz > max_contents_size) {
max_contents_size = sz; sz = bfd_section_size (sub, obj_textsec (sub));
sz = bfd_section_size (sub, obj_datasec (sub)); if (sz > max_contents_size)
if (sz > max_contents_size) max_contents_size = sz;
max_contents_size = sz; sz = bfd_section_size (sub, obj_datasec (sub));
if (sz > max_contents_size)
max_contents_size = sz;
sz = exec_hdr (sub)->a_trsize; sz = exec_hdr (sub)->a_trsize;
if (sz > max_relocs_size) if (sz > max_relocs_size)
max_relocs_size = sz; max_relocs_size = sz;
sz = exec_hdr (sub)->a_drsize; sz = exec_hdr (sub)->a_drsize;
if (sz > max_relocs_size) if (sz > max_relocs_size)
max_relocs_size = sz; max_relocs_size = sz;
sz = obj_aout_external_sym_count (sub); sz = obj_aout_external_sym_count (sub);
if (sz > max_sym_count) if (sz > max_sym_count)
max_sym_count = sz; max_sym_count = sz;
}
} }
if (info->relocateable) if (info->relocateable)