Summary: | sys-devel/gcc-4.5.3-r2 is aware but does not honor libssp USE flag, breaking glibc upgrades | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Larry <research> |
Component: | Hardened | Assignee: | The Gentoo Linux Hardened Team <hardened> |
Status: | RESOLVED WORKSFORME | ||
Severity: | major | CC: | vapier |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Larry
2011-12-21 22:56:37 UTC
After rebuilding gcc (4.5.3-r1 this time) the problem persists: * Your system still has old SSP __guard symbols. You need to * rebuild all the packages that provide these files first: * //lib64/cpp * //usr/bin/c++ * //usr/bin/cc * //usr/bin/gcjh * //usr/bin/x86_64-pc-linux-gnu-gcc * //usr/bin/cpp * //usr/bin/gcj * //usr/bin/x86_64-pc-linux-gnu-gcj * //usr/bin/gcov * //usr/bin/g++ * //usr/bin/gcc * //usr/bin/x86_64-pc-linux-gnu-gcjh * //usr/bin/x86_64-pc-linux-gnu-cpp * //usr/bin/x86_64-pc-linux-gnu-c++ * //usr/bin/x86_64-pc-linux-gnu-g++ * //usr/lib64/libltdl.so.3 * ERROR: sys-libs/glibc-2.13-r4 failed (setup phase): * old __guard detected Reverting to 4.4.6 causes things like eix to break, and does not resolve the issue. It also contains guard symbols. /usr/bin/gcc and friends are not owned by sys-devel/gcc (any version). Instead, they are copies of /usr/lib64/misc/gcc-config, which is owned by sys-devel/gcc-config. This is a consequence of allowing users to switch the active gcc version cheaply: a binary aware of gcc-config choices must be invoked first, then chain to the real gcc. Rebuild sys-devel/gcc-config, reset your active gcc version, then repeat your test. The problem with libltdl.so.3 is probably a side effect of @preserved-rebuild. Verify that you have libltdl.so.7 (or newer), that you have nothing depending on that old version, then delete the old version. libssp has never been supported latest hardened systems use native upstream ssp logic |