directive:
- Pass .file "source.c" to s_app_file
- Handle .file 1 "source.c" by adding an entry to the DWARF-2 file table
Of course, if the assembler really wants to require .files to appear
in order, it should report an error rather
gas 2.14 and 2.16 can SEGV trying to report an error
assembling this erroneous code:
.set bar,5f+text1
5:
text1:
The bug is that 'report_op_error' incorrectly uses 'file' and 'line'
in the 'else' case where they are not initialized. Because the value
of 'file' is garbage, it is of course
This is for gas 2.18, but it looks like the same bug is present in 2.19.
emit_expr, used by '.word' and others, grabs dot_value for the current
frag, does some processing, and later calls frag_more. Unfortunately,
the frag_more call can realize the frag is not big enough and switch
to a new frag.