https://bugzilla.redhat.com/show_bug.cgi?id=1460254
Nick Clifton <nickc(a)redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Flags|needinfo?(nickc(a)redhat.com) |
--- Comment #7 from Nick Clifton <nickc(a)redhat.com> ---
Right - so ^A in a symbol name would normally indicate the use of a dollar
local label in the assembler sources:
Dollar Local Labels
-------------------
On some targets `as' also supports an even more local form of local
labels called dollar labels. These labels go out of scope (i.e., they
become undefined) as soon as a non-local label is defined. Thus they
remain valid for only a small region of the input source code. Normal
local labels, by contrast, remain in scope for the entire file, or
until they are redefined by another occurrence of the same local label.
Dollar labels are defined in exactly the same way as ordinary local
labels, except that they have a dollar sign suffix to their numeric
value, e.g., `55$:'.
They can also be distinguished from ordinary local labels by their
transformed names which use ASCII character `\001' (control-A) as the
magic character to distinguish them from ordinary labels. For example,
the fifth definition of `6$' may be named `.L6C-A5'.
However this feature may not be to blame in this case since dollar local labels
all have the form of L<number>^A<number> and the symbols being matched by the
code in comment #3 do not conform to this template.
I think instead that the problem is most likely that the code added by the
binutils-2.28-gas-comp_dir.patch is buggy. I suspect that it is using a buffer
for a symbol name that is either freed before use or held on the stack and
corrupted via stack unwinding. It is likely that running the assembler with
address sanitization enabled would detect this.
I am not sure why the problem should be specific to the s390x, since the code
in the patch is generic, and the s390x assembler backend does not do anything
particularly funny. If there was a small testcase I would like to investigate
further. (By small I am hoping for something like an assembler source file and
command line, which I can then test using an s390 cross assembler. Finding an
s390 machine with f26 installed would be a bit of a pain).
Cheers
Nick
--
You are receiving this mail because:
You are on the CC list for the bug.