From: Ian Lance Taylor Date: Mon, 14 Jun 1993 17:25:15 +0000 (+0000) Subject: * coff-mips.c (ecoff_set_symbol_info): Constructor sections should X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9caf15da5176e2ca0c16884b239ef6308279bbbd;p=binutils-gdb.git * coff-mips.c (ecoff_set_symbol_info): Constructor sections should only be aligned to a 4 byte boundary. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f8d2145d258..2764a4f33f8 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 14 10:23:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Constructor sections should + only be aligned to a 4 byte boundary. + Sat Jun 12 16:13:17 1993 Jim Kingdon (kingdon@cygnus.com) * hosts/std-host.h (struct int64e_struct): Remove needless typedef diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index 45175580c38..eede88fd328 100644 --- a/bfd/coff-mips.c +++ b/bfd/coff-mips.c @@ -562,7 +562,7 @@ ecoff_styp_to_sec_flags (abfd, hdr) /* For 386 COFF, at least, an unloadable text or data section is actually a shared library section. */ if ((styp_flags & STYP_TEXT) - || (stype_FLAGS & STYP_MIPS_INIT)) + || (styp_flags & STYP_MIPS_INIT)) { if (sec_flags & SEC_NEVER_LOAD) sec_flags |= SEC_CODE | SEC_SHARED_LIBRARY; @@ -1022,7 +1022,14 @@ ecoff_set_symbol_info (abfd, ecoff_sym, asym, ext, indirect_ptr_ptr) /* Set up the constructor section to hold the reloc. */ section->flags = SEC_CONSTRUCTOR; ++section->reloc_count; - section->alignment_power = 4; + + /* Constructor sections must be rounded to a four byte + boundary (FIXME: assuming 32 bit entries). These are + not real sections--they are handled specially by the + linker--so the ECOFF 16 byte alignment restriction does + not apply. */ + section->alignment_power = 2; + reloc_chain->next = section->constructor_chain; section->constructor_chain = reloc_chain;