https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83760
Bug ID: 83760
Summary: [8 Regression] [SH] ICE in maybe_record_trace_start
building glibc tst-copy_file_range.c
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: jsm28 at gcc dot gnu.org
CC: law at gcc dot gnu.org
Target Milestone: ---
Target: sh4eb-linux-gnu
Created attachment 43083
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43083&action=edit
preprocessed source
Compile the attached test (from the glibc testsuite) with -g -O2 for
sh4eb-linux-gnu, GCC trunk. I see an ICE:
during RTL pass: dwarf2
tst-copy_file_range.c: In function 'simple_file_copy':
tst-copy_file_range.c:246:1: internal compiler error: in
maybe_record_trace_start, at dwarf2cfi.c:2344
0x79ad31 maybe_record_trace_start
/scratch/jmyers/glibc/many8/src/gcc/gcc/dwarf2cfi.c:2344
0x79b023 create_trace_edges
/scratch/jmyers/glibc/many8/src/gcc/gcc/dwarf2cfi.c:2440
0x79ec6a scan_trace
/scratch/jmyers/glibc/many8/src/gcc/gcc/dwarf2cfi.c:2653
0x79f8aa create_cfi_notes
/scratch/jmyers/glibc/many8/src/gcc/gcc/dwarf2cfi.c:2679
0x79f8aa execute_dwarf2_frame
/scratch/jmyers/glibc/many8/src/gcc/gcc/dwarf2cfi.c:3037
0x79f8aa execute
/scratch/jmyers/glibc/many8/src/gcc/gcc/dwarf2cfi.c:3525
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
This only appeared recently in glibc testing (where the exact sources being
compiled would have varied over time), but if I fix the .i file used in
testing, my bisection says this appeared with r255387. Which makes no real
sense, so I'm supposing that actually exposed a latent bug elsewhere. It's
entirely possible the issue is really the same as bug 78459, bug 80863 or both
of them (both are SH bugs reporting ICEs in maybe_record_trace_start which
later mysteriously disappeared).
Note: according to the logs from my glibc bot the problem only appeared for
sh4eb-linux-gnu, not for little-endian or soft-float, which might also be an
indication of a latent bug being more or less randomly perturbed by other
variations.