summaryrefslogtreecommitdiff
path: root/gas/frags.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-11-14 17:43:32 +0000
committerNick Clifton <nickc@redhat.com>2001-11-14 17:43:32 +0000
commit700424eaccde81907d343baf511132918420c6b4 (patch)
tree4ca09a1c833c5e60005afa96f86434b4817bdfc3 /gas/frags.c
parent6476422578cc4a5b7a2132ac377a626b593f99d2 (diff)
downloadbinutils-redhat-700424eaccde81907d343baf511132918420c6b4.tar.gz
Use frag_make_room() to grow the obstack.
Diffstat (limited to 'gas/frags.c')
-rw-r--r--gas/frags.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gas/frags.c b/gas/frags.c
index 8d7ed2f58a..e80ccedd72 100644
--- a/gas/frags.c
+++ b/gas/frags.c
@@ -65,6 +65,12 @@ void
frag_grow (nchars)
unsigned int nchars;
{
+ /* Try really hard to grow the obstack. Creating a new obstack can
+ disable expression optimisations that would otherwise occur if
+ two symbols were located in the same obstack. */
+ if (obstack_room (&frchain_now->frch_obstack) < nchars)
+ obstack_make_room (& frchain_now->frch_obstack, 2 * nchars);
+
if (obstack_room (&frchain_now->frch_obstack) < nchars)
{
unsigned int n;