* frags.c (frag_grow): Never shrink the obstack size requested
authorMaciej W. Rozycki <macro@linux-mips.org>
Fri, 3 Aug 2012 22:23:44 +0000 (22:23 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Fri, 3 Aug 2012 22:23:44 +0000 (22:23 +0000)
below the default.

gas/ChangeLog
gas/frags.c

index 5c05b2cd414bb22bfbd802a6151cddc244242937..0ed43121316cd9a96f76346b641e9c0f55006881 100644 (file)
@@ -1,3 +1,8 @@
+2012-08-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * frags.c (frag_grow): Never shrink the obstack size requested
+       below the default.
+
 2012-08-02  Sean Keys  <skeys@ipdatasys.com>
 
        * config/tc-m68hc11.c (s_m68hc11_parse_pseudo_instruction):
index c6ac4259aab07d348b4ae716f039ed80a6d1d601..beb251bb01166e653da9a92f5d51e04077d549a4 100644 (file)
@@ -101,9 +101,11 @@ frag_grow (unsigned int nchars)
       if (newc < 0)
         as_fatal (_("can't extend frag %u chars"), nchars);
 
-      /* Force to allocate at least NEWC bytes.  */
+      /* Force to allocate at least NEWC bytes, but not less than the
+         default.  */
       oldc = obstack_chunk_size (&frchain_now->frch_obstack);
-      obstack_chunk_size (&frchain_now->frch_obstack) = newc;
+      if (newc > oldc)
+       obstack_chunk_size (&frchain_now->frch_obstack) = newc;
 
       while (obstack_room (&frchain_now->frch_obstack) < nchars)
         {