diff options
author | Alan Modra <amodra@gmail.com> | 2025-09-03 09:54:50 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2025-09-03 11:22:06 +0930 |
commit | 98583463abed11c7659028c0d68a9619fed5f559 (patch) | |
tree | e5cad908c8c99fae1527de2381f49214577bf12f /sim/testsuite/cr16/scs.cgs | |
parent | 180075d14fab9f75eaf679589f9d175fb5448d21 (diff) | |
download | binutils-master.zip binutils-master.tar.gz binutils-master.tar.bz2 |
Fuzzers stress the assembler in ways no sane programmer would ever do.
One x86 oss-fuzz testcase (cleaned up a litte) was:
.sect .debug_frame
call x
.long x,0
.space 1
.long 0,0
The call insn leaves the frag data corresponding to a CIE
uninitialised until later in assembly, leading to reports of
uninitialised data access in ehopt.c:check_eh_frame.
Hack around this problem by noticing an insn has been assembled in
dwarf2_emit_insn. The existing frag has_code can't be used as that
leads to alignment complaints, so add a new segment_info flag.
* subsegs.h (struct segment_info_struct): Move bss and hadone
later. Rename hadone to stab_seen. Add insn_seen bitfield.
* dwarf2dbg.c (dwarf2_emit_insn): Set insn_seen.
* ehopt.c (check_eh_frame): Disable optimisation if insn_seen.
* stabs.c (s_stab_generic): Adjust for hadone rename.
Diffstat (limited to 'sim/testsuite/cr16/scs.cgs')
0 files changed, 0 insertions, 0 deletions