aboutsummaryrefslogtreecommitdiff
path: root/gas/frags.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/frags.c')
-rw-r--r--gas/frags.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/frags.c b/gas/frags.c
index c6ac425..beb251b 100644
--- a/gas/frags.c
+++ b/gas/frags.c
@@ -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)
{