From: Alan Modra Date: Thu, 9 Mar 2023 06:05:12 +0000 (+1030) Subject: gas: allow frag address wrapping in absolute section X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2dc2dfa7d7a53aae58da4a51a77e9ad996cd2937;p=binutils-gdb.git gas: allow frag address wrapping in absolute section This: .struct -1 x: .fill 1 y: results in an internal error in frag_new due to abs_section_offset wrapping from -1 to 0. Frags in the absolute section don't do much so I think we can allow the address wrap. * frags.c (frag_new): Allow address wrap in absolute section. --- diff --git a/gas/frags.c b/gas/frags.c index 2a2806da835..016d857ded6 100644 --- a/gas/frags.c +++ b/gas/frags.c @@ -166,7 +166,8 @@ frag_new (size_t old_frags_var_max_size /* Fix up old frag's fr_fix. */ frag_now->fr_fix = frag_now_fix_octets (); - gas_assert (frag_now->fr_fix >= old_frags_var_max_size); + gas_assert (frag_now->fr_fix >= old_frags_var_max_size + || now_seg == absolute_section); frag_now->fr_fix -= old_frags_var_max_size; /* Make sure its type is valid. */ gas_assert (frag_now->fr_type != 0);