[PATCH] gas: accept custom ".linefile <n> ."
Jan Beulich
jbeulich@suse.com
Fri Nov 11 07:32:17 GMT 2022
While .linefile is generally intended for gas internal use only, its use
in a source file would better not result in an internal error. Give use
of it outside of any macro(-like) construct the meaning of restoring the
original (physical) input file name.
--- a/gas/input-scrub.c
+++ b/gas/input-scrub.c
@@ -469,13 +469,15 @@ new_logical_line_flags (const char *fnam
/* FIXME: we could check that include nesting is correct. */
break;
case 1 << 3:
- if (line_number < 0 || fname != NULL || next_saved_file == NULL)
+ if (line_number < 0 || fname != NULL)
abort ();
/* PR gas/16908 workaround: Ignore updates when nested inside a macro
expansion. */
if (from_sb_expansion == expanding_nested)
return;
- if (next_saved_file->logical_input_file)
+ if (next_saved_file == NULL)
+ fname = physical_input_file;
+ else if (next_saved_file->logical_input_file)
fname = next_saved_file->logical_input_file;
else
fname = next_saved_file->physical_input_file;
More information about the Binutils
mailing list