this code from the glib-2.18.2 testsuite segfaults during execution when compiled with >= -O1 (not -O0 or -Os). i hope this is the information you need. let me know if you need more.
---8<--- kali /var/tmp/portage/dev-libs/glib-2.18.2/work/glib-2.18.2/tests # gcc -v --save-temps relation-test.c -o relation-test -O1 -I../glib -I.. ../glib/.libs/libglib-2.0.so -Wl,--rpath -Wl,/var/tmp/portage/dev-libs/glib-2.18.2/work/glib-2.18.2/glib/.libs Using built-in specs. Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-4.4.0_pre9999/work/gcc-4.4.0-9999/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.4.0-pre9999 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.0-pre9999 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.0-pre9999/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.0-pre9999/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --disable-nls --with-system-zlib --disable-checking --disable-werror --enable-secureplt --enable-multilib --disable-libmudflap --disable-libssp --enable-libgomp --enable-cld --disable-libgcj --enable-languages=c,c++ --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion= --enable-linux-futex --enable-checking Thread model: posix gcc version 4.4.0-pre9999 built 20081120 (Gentoo SVN ebuild) rev. 142066 () COLLECT_GCC_OPTIONS='-v' '-save-temps' '-o' 'relation-test' '-O1' '-I../glib' '-I..' '-mtune=generic' /usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/cc1 -E -quiet -v -I../glib -I.. relation-test.c -mtune=generic -O1 -fpch-preprocess -o relation-test.i ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../x86_64-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: ../glib .. /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/include /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-o' 'relation-test' '-O1' '-I../glib' '-I..' '-mtune=generic' /usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/cc1 -fpreprocessed relation-test.i -quiet -dumpbase relation-test.c -mtune=generic -auxbase relation-test -O1 -version -o relation-test.s GNU C () version 4.4.0-pre9999 built 20081120 (Gentoo SVN ebuild) rev. 142066 (x86_64-pc-linux-gnu) compiled by GNU C version 4.4.0-pre9999 built 20081120 (Gentoo SVN ebuild) rev. 142066, GMP version 4.2.4, MPFR version 2.3.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: d4c9642bc626bf4a7400061384dcd0e6 COLLECT_GCC_OPTIONS='-v' '-save-temps' '-o' 'relation-test' '-O1' '-I../glib' '-I..' '-mtune=generic' /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../x86_64-pc-linux-gnu/bin/as -V -Qy -o relation-test.o relation-test.s GNU assembler version 2.19.50.0.1 (x86_64-pc-linux-gnu) using BFD version (Linux/GNU Binutils) 2.19.50.0.1.20081007 COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/:/usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../x86_64-pc-linux-gnu/bin/ LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-save-temps' '-o' 'relation-test' '-O1' '-I../glib' '-I..' '-mtune=generic' /usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/collect2 --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o relation-test /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/crtbegin.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../.. relation-test.o ../glib/.libs/libglib-2.0.so --rpath /var/tmp/portage/dev-libs/glib-2.18.2/work/glib-2.18.2/glib/.libs -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/crtend.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.0-pre9999/../../../../lib64/crtn.o kali ~ # gcc -O1 relation-test.i -lglib-2.0 -o relation-test kali ~ # gdb ./relation-test GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu"... (no debugging symbols found) (gdb) run Starting program: /root/relation-test Program received signal SIGSEGV, Segmentation fault. IA__g_int_hash (v=0x7fffdb813000) at gutils.c:3162 3162 gutils.c: No such file or directory. in gutils.c (gdb) bt #0 IA__g_int_hash (v=0x7fffdb813000) at gutils.c:3162 #1 0x00007f4cd3345d83 in IA__g_hash_table_lookup (hash_table=0x1931080, key=0x7fffdb813000) at ghash.c:118 #2 0x00007f4cd3361c08 in IA__g_relation_insert (relation=0x1930010) at grel.c:211 #3 0x000000000040075e in main () -- Summary: segfault in glib testsuite with trunk Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: regression AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dirtyepic at gentoo dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38223