diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/symbols.c | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 018ce60..ce4e78c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2022-10-11 Nick Clifton <nickc@redhat.com> + + * symbols.c (S_GET_VALUE): If the unresolved symbol is the fake + label provide a more helpful error message to the user. + 2022-09-28 Nick Clifton <nickc@redhat.com> PR 29623 diff --git a/gas/symbols.c b/gas/symbols.c index d4c0dff..0aac3a43 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -2236,8 +2236,13 @@ S_GET_VALUE (symbolS *s) if (! s->flags.resolved || s->x->value.X_op != O_symbol || (S_IS_DEFINED (s) && ! S_IS_COMMON (s))) - as_bad (_("attempt to get value of unresolved symbol `%s'"), - S_GET_NAME (s)); + { + if (strcmp (S_GET_NAME (s), FAKE_LABEL_NAME) == 0) + as_bad (_("expression is too complex to be resolved")); + else + as_bad (_("attempt to get value of unresolved symbol `%s'"), + S_GET_NAME (s)); + } } return (valueT) s->x->value.X_add_number; } |