aboutsummaryrefslogtreecommitdiff
path: root/gas
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
commitc1a44b0823606ed5813c912c66f1a67d904656dd (patch)
treee5d1c5b565321efcca47e7bb580b2bc82c195b88 /gas
parent25050984999b3830cd4a2c2f94da9b09b915a164 (diff)
downloadgdb-c1a44b0823606ed5813c912c66f1a67d904656dd.zip
gdb-c1a44b0823606ed5813c912c66f1a67d904656dd.tar.gz
gdb-c1a44b0823606ed5813c912c66f1a67d904656dd.tar.bz2
Use frag_make_room() to grow the obstack.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/frags.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 337c8dc..3fbbd2c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2001-11-12 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * frags.c (frag_grow): Use frag_make_room() to grow the
+ obstack.
+
2001-11-14 Nick Clifton <nickc@cambridge.redhat.com>
* config/tc-sparc.c (md_apply_fix3): Do not remove the symbol's
diff --git a/gas/frags.c b/gas/frags.c
index 8d7ed2f..e80cced 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;