Nick Clifton cb347a
--- a/bfd/merge.c	2010-08-20 12:19:33.000000000 +0100
Nick Clifton cb347a
+++ b/bfd/merge.c	2010-08-20 12:18:01.000000000 +0100
Nick Clifton cb347a
@@ -307,6 +307,9 @@
Nick Clifton cb347a
       len = -off & (entry->alignment - 1);
Nick Clifton cb347a
       if (len != 0)
Nick Clifton cb347a
 	{
Nick Clifton cb347a
+	  /* We should never have an entry with an alignment
Nick Clifton cb347a
+	     greater than the section's alignment.  */
Nick Clifton cb347a
+	  BFD_ASSERT (len <= (bfd_size_type) (1 << alignment_power));
Nick Clifton cb347a
 	  if (bfd_bwrite (pad, len, abfd) != len)
Nick Clifton cb347a
 	    goto err;
Nick Clifton cb347a
 	  off += len;
Nick Clifton cb347a
@@ -324,6 +327,7 @@
Nick Clifton cb347a
   /* Trailing alignment needed?  */
Nick Clifton cb347a
   off = sec->size - off;
Nick Clifton cb347a
   if (off != 0
Nick Clifton cb347a
+      && alignment_power
Nick Clifton cb347a
       && bfd_bwrite (pad, off, abfd) != off)
Nick Clifton cb347a
     goto err;
Nick Clifton cb347a