[binutils-gdb] gas: allow frag address wrapping in absolute section
Alan Modra
amodra@sourceware.org
Thu Mar 9 12:18:43 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2dc2dfa7d7a53aae58da4a51a77e9ad996cd2937
commit 2dc2dfa7d7a53aae58da4a51a77e9ad996cd2937
Author: Alan Modra <amodra@gmail.com>
Date: Thu Mar 9 16:35:12 2023 +1030
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:
---
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);
More information about the Binutils-cvs
mailing list