aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-mips.c12
2 files changed, 11 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9cb014d..2fe618d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,8 @@
Wed Aug 7 11:50:26 1996 Ian Lance Taylor <ian@cygnus.com>
+ * config/tc-mips.c (md_section_align): Do align if OBJ_ELF, but
+ not to more than a 16 byte boundary.
+
* config/tc-i386.c (tc_gen_reloc): Accept all relocs; remove
#ifndef OBJ_ELF lines. From Eric Valette <valette@crf.canon.fr>.
(tc_gen_reloc): If out of memory call as_fatal rather than
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index f9b6045..38bcebc 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -7393,13 +7393,17 @@ md_section_align (seg, addr)
asection *seg;
valueT addr;
{
-#ifndef OBJ_ELF
int align = bfd_get_section_alignment (stdoutput, seg);
- return ((addr + (1 << align) - 1) & (-1 << align));
-#else
- return addr;
+#ifdef OBJ_ELF
+ /* We don't need to align ELF sections to the full alignment.
+ However, Irix 5 may prefer that we align them at least to a 16
+ byte boundary. */
+ if (align > 16)
+ align = 16;
#endif
+
+ return ((addr + (1 << align) - 1) & (-1 << align));
}
/* Utility routine, called from above as well. If called while the