gas: deal with the need for relocations from .cfi_{escape,fde_data}

Ignoring return values often isn't a good idea. The Sparc assembler in
particular would report an internal error if an expression with
relocation specifier is used with .cfi_escape, when the same works fine
with .byte. Propagate the relocation indicator up from
do_parse_cons_expression(), and eventually into emit_expr_with_reloc().

dot_cfi_fde_data(), only retaining the expression's X_add_number, would
require further work. Simply report the lack of support there. While
there, also check that what we were dealt is actually a constant.
This commit is contained in:
Jan Beulich
2025-03-14 10:29:33 +01:00
parent a64e445f7a
commit 61a5adc314
8 changed files with 49 additions and 10 deletions

View File

@@ -97,6 +97,7 @@ struct cfi_escape_data
{
struct cfi_escape_data *next;
expressionS exp;
TC_PARSE_CONS_RETURN_TYPE reloc;
};
struct cfi_insn_data