From 2dc2dfa7d7a53aae58da4a51a77e9ad996cd2937 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 9 Mar 2023 16:35:12 +1030 Subject: [PATCH] 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. --- gas/frags.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 2.30.2