Summary: | app-portage/eix-0.25.5: SIGSEGV if USE debug is disabled | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Nikoli <nikoli> |
Component: | Current packages | Assignee: | Martin Väth <martin> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | darkside |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Nikoli
2012-06-06 09:27:18 UTC
I cannot reproduce this here on amd64 (multilib) with not fully PAX kernel. There was a bump on gcc's pie on June 04, maybe recompiling gcc with the current patchset helps? Does it work with a kernel without PAX? Do you get a more reasonable backtrace if instead of USE=DEBUG you use FEATURES="nostrip" CXXFLAGS="-O2 -g -ggdb3" LDFLAGS="" emerge -1 eix In any case, please post the active USE-flags for eix (last lines of emerge --info eix) and the CXXFLAGS/LDFLAGS actually used (thel ines shown in emerge's install log near the end of the configure phase). USE="dep nls sqlite strong-optimization test -debug -doc -optimization -security -tools -zsh-completion" CXXFLAGS: -O2 -g -ggdb3 PREPEND_CXXFLAGS: -fomit-frame-pointer -fno-common -fnothrow-opt -frename-registers -fstrict-aliasing -fmerge-all-constants -funsafe-loop-optimizations -finline-functions -fgcse-sm -fgcse-las -fgcse-after-reload -fpredictive-commoning -ftree-switch-conversion -fno-ident -fvisibility=hidden -fvisibility-inlines-hidden -flto -flto-partition=none -fweb -ftree-vectorize -fno-enforce-eh-specs -fwhole-program -DNDEBUG -DNO_DEBUG -DG_DISABLE_ASSERT LDFLAGS: PREPEND_LDFLAGS: -Wl,-O1 -Wl,--relax -Wl,--as-needed -Wl,--sort-common -Wl,-z,combreloc -Wl,-O9 -flto -flto-partition=none -fwhole-program -Wl,-z,noexecstack -fomit-frame-pointer -fno-common -fnothrow-opt -frename-registers -fstrict-aliasing -fmerge-all-constants -funsafe-loop-optimizations -finline-functions -fgcse-sm -fgcse-las -fgcse-after-reload -fpredictive-commoning -ftree-switch-conversion -fno-ident -fvisibility=hidden -fvisibility-inlines-hidden -flto -flto-partition=none -fweb -ftree-vectorize -fno-enforce-eh-specs -fwhole-program -DNDEBUG -DNO_DEBUG -DG_DISABLE_ASSERT -DG_DISABLE_ASSERT -DNO_DEBUG -DNDEBUG -fwhole-program -fno-enforce-eh-specs -ftree-vectorize -fweb -flto-partition=none -flto -fvisibility-inlines-hidden -fvisibility=hidden -fno-ident -ftree-switch-conversion -fpredictive-commoning -fgcse-after-reload -fgcse-las -fgcse-sm -finline-functions -funsafe-loop-optimizations -fmerge-all-constants -fstrict-aliasing -frename-registers -fnothrow-opt -fno-common -fomit-frame-pointer -O2 -g -ggdb3 (gdb) run Starting program: /usr/bin/eix eix warning: no loadable sections found in added symbol-file system-supplied DSO at 0x366e1102000 Program received signal SIGSEGV, Segmentation fault. 0x00000366e09dd80c in ?? () (gdb) bt #0 0x00000366e09dd80c in ?? () #1 0x000000000000000c in ?? () #2 0x00000366e09dc2c9 in ?? () #3 0x0000002f4fb2af58 in ?? () #4 0x00000366e0931e60 in ?? () #5 0x0000002f4fac2a98 in ?? () #6 0x0000002f4f6a7940 in OverlayIdent::readLabel (this=0x2f4fac2aa8, Path=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/bits/basic_string.h:542 #7 0x0000000000000000 in ?? () (gdb) Started rebuilding gcc. Rebuilding gcc did not help. I can reproduce it now (I was not expecting that you use strong-opzimization; this is the reason why it works with USE=debug: Among others, this disables strong-optimization...) The problem is apparently that gcc-4.6.3[hardened] breaks badly with LTO in some cases (but not in some minimal test cases, so that I am not able to build a ./configure test to detect this breakage automatically). The only solution I can offer is that you use only USE=optimization (instead of USE=strong-optimization) when compiling eix (vanilla gcc with USE="strong-optimization security" works also) Thanks, rebuilding with strong-opzimization disabled helped. USE opzimization was enabled. |