from linux-2.6.36-rc3, `fs/jdb2/journal.c' triggers the following:
/linux-2.6/fs/jbd2/journal.c:1200:1: internal compiler error: Segmentation
fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
On a reduced testcase:
/sparc-none-linux-none/libexec/gcc/sparc-none-linux-none/4.5.2/cc1 -version
reduced-testcase.c -auxbase-strip fs/jbd2/journal.o -Os -o /tmp/ccW5WcDf.s
GNU C (crosstool-NG) version 4.5.2 20100814 (prerelease)
(sparc-none-linux-none)
compiled by GNU C version 4.3.3, GMP version 5.0.1, MPFR version 3.0.0, MPC
version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (crosstool-NG) version 4.5.2 20100814 (prerelease) (sparcnone-linux-none)
compiled by GNU C version 4.3.3, GMP version 5.0.1, MPFR version 3.0.0, MPC
version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
options passed: reduced-testcase.c -auxbase-strip fs/jbd2/journal.o -Os
options enabled: -falign-functions -falign-jumps -falign-labels
-fargument-alias -fauto-inc-dec -fbranch-count-reg -fcaller-saves -fcommon
-fcprop-registers -fcrossjumping -fcse-follow-jumps
-fdefer-pop -fdelayed-branch -fdelete-null-pointer-checks -fdwarf2-cfi-asm
-fearly-inlining -feliminate-unused-debug-types -fexpensive-optimizations
-fforward-propagate -ffunction-cse -fgcse -fgcse-lm -fguess-branch-probability
-fident -fif-conversion -fif-conversion2
-findirect-inlining -finline -finline-functions
-finline-functions-called-once -finline-small-functions -fipa-cp
-fipa-pure-const -fipa-reference -fipa-sra -fira-share-save-slots
-fira-share-spill-slots -fivopts -fkeep-static-consts -fleading-underscore
-fmath-errno -fmerge-constants -fmerge-debug-strings
-fmove-loop-invariants -fomit-frame-pointer -foptimize-register-move
-foptimize-sibling-calls -fpcc-struct-return -fpeephole -fpeephole2
-fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop
-fsched-critical-path-heuristic -fsched-dep-count-heuristic
-fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic
-fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic
-fsched-stalled-insns-dep -fschedule-insns2 -fshow-column -fsigned-zeros
-fsplit-ivs-in-unroller -fsplit-wide-types -fstrict-aliasing
-fstrict-overflow -fthread-jumps -ftoplevel-reorder -ftrapping-math
-ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-copy-prop
-ftree-copyrename -ftree-cselim -ftree-dce -ftree-dominator-opts
-ftree-dse -ftree-forwprop -ftree-fre -ftree-loop-im -ftree-loop-ivcanon
-ftree-loop-optimize -ftree-parallelize-loops= -ftree-phiprop -ftree-pre
-ftree-pta -ftree-reassoc -ftree-scev-cprop -ftree-sink
-ftree-slp-vectorize -ftree-sra -ftree-switch-conversion -ftree-ter
-ftree-vect-loop-version -ftree-vrp -funit-at-a-time -fvar-tracking
-fvar-tracking-assignments -fzero-initialized-in-bss -m32 -mapp-regs -mfpu
-mglibc -mlong-double-64 -mptr32 -msoft-quad-float
Compiler executable checksum: f32dd74a0af03a816776742ef7661751
printk journal_fail_superblock journal_get_superblock load_superblock
jbd2_journal_update_format jbd2_journal_wipe
Analyzing compilation unit
Performing interprocedural optimizations
<*free_lang_data> <visibility> <early_local_cleanups> <whole-program> <cp>
<inline> <static-var> <pure-const>Assembling functions:
journal_get_superblock
reduced-testcase.c: In function 'journal_get_superblock':
reduced-testcase.c:64:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Backtrace is:
Program received signal SIGSEGV, Segmentation fault.
0x083a5001 in mark_target_live_regs ()
Current language: auto; currently asm
(gdb) bt
#0 0x083a5001 in mark_target_live_regs ()
#1 0x0839fecd in fill_slots_from_thread ()
#2 0x083a0f06 in fill_eager_delay_slots ()
#3 0x083a2777 in dbr_schedule ()
#4 0x083a2ee9 in rest_of_handle_delay_slots ()
#5 0x08340c89 in execute_one_pass ()
#6 0x08340f6d in execute_pass_list ()
#7 0x08340f89 in execute_pass_list ()
#8 0x08340f89 in execute_pass_list ()
#9 0x08460809 in tree_rest_of_compilation ()
#10 0x085b5040 in cgraph_expand_function ()
#11 0x085b52aa in cgraph_expand_all_functions ()
#12 0x085b58f6 in cgraph_optimize ()
#13 0x085b3cbc in cgraph_finalize_compilation_unit ()
#14 0x080c411c in c_write_global_declarations ()
#15 0x0840d15b in compile_file ()
#16 0x0840ef84 in do_compile ()
#17 0x0840f049 in toplev_main ()
#18 0x08131936 in main ()
This ICE happens seems to happen on sparc- with -Os.
--
Summary: ICE on Sparc with -Os
Product: gcc
Version: 4.5.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lacombar at gmail dot com
GCC host triplet: i686-pc
GCC target triplet: sparc-none-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45593