Summary: | media-video/libav-9.8 - fails to build on amd64 hardened system when CFLAGS+=-fstack-check | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Amadeusz Sławiński <amade> |
Component: | Hardened | Assignee: | Gentoo Media-video project <media-video> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | hardened |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=471756 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Amadeusz Sławiński
2013-08-23 20:21:40 UTC
Okay the following should address this issue: # diff -Naur libav-9.14.ebuild libav-9.14-r1.ebuild --- libav-9.14.ebuild 2014-08-10 17:01:13.000000000 -0400 +++ libav-9.14-r1.ebuild 2014-10-17 17:06:22.162781792 -0400 @@ -259,6 +259,11 @@ # Misc stuff use hardcoded-tables && myconf+=( --enable-hardcoded-tables ) + # Even amd64 suffers from too-few-registers, bug #482258 + if [[ ${ABI} == amd64 ]] && gcc-specs-stack-check; then + append-flags $(test-flags -fno-stack-check) + fi + # Specific workarounds for too-few-registers arch... if [[ ${ABI} == x86 ]]; then local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS} Currently only hardened uses -fstack-check, and its only available on 4.8 and above, but this future proofs the code in case stack-check makes it into our mainline specs. Time to applay the fix on libav and ffmpeg? The corresponding ffmpeg bug #471756 mentions that this issue got resolved by using newer gcc versions (4.8 and up). I just tried compiling libav (12.1) with a current gcc (6.4.0) and saw no problem. I guess this bug is obsolete and can be closed (?). Or can anyone still reproduce this? I can confirm libav builds correctly here, please reopen the bug if necessary. |