diff options
Diffstat (limited to 'gas/frags.c')
-rw-r--r-- | gas/frags.c | 6 |
1 files changed, 6 insertions, 0 deletions
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; |