-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support more LTOed packages #48
Conversation
I have all packages built w/ this for now and no noticeable problems so far. The only `-flto` overrides left is (as have some build errors): ```sh media-libs/alsa-lib media-libs/flac ``` and this two (unstable w/ LTO): ```sh net-misc/openssh media-sound/jack2 ``` Some other locally patched to be built w/ LTO or have additional flags. So for now I have ~1K packages installed and still no any `-ffat-lto-objects` flags set.
Oh wow, glad to see some upstream discussion about this -- thanks for linking the thread! I understand now why It looks like perhaps a Portage patch is in order to fix this. According to the linked thread, |
Okay, I was able to patch Portage to do it, but of course the patch will need work. File /usr/lib64/portage/python3.6/ebuild-helpers/prepstrip (will vary from system to system) line 347:
This did the trick for me. Obviously there are a few things that need to be addressed:
While that's being worked on, instead of having a blanket |
Ahh yes, I found where STRIP is defined:
So Of course, this still has the drawback of breaking checksums. Hmm. |
Not-stripped edit: if ! ${SKIP_STRIP} ; then
# The noglob funk is to support STRIP_MASK="/*/booga" and to keep
# the for loop from expanding the globs.
# The eval echo is to support STRIP_MASK="/*/{booga,bar}" sex.
set -o noglob
strip_this=true
for m in $(eval echo ${STRIP_MASK}) ; do
[[ /${x#${ED}} == ${m} ]] && strip_this=false && break
done
set +o noglob
else
strip_this=false
fi
|
Sure you can use |
One more example to be clear:
but you have But it builds fine for me w/ LTOed and nostripped |
Wow, thanks for the in-depth information @pchome ! I'm sufficiently convinced now that we should go ahead with your approach on this. It really does seem like this workaround is required until |
I have all packages built w/ this for now and no noticeable problems so far. The only
-flto
overrides left is (as have some build errors):and this two (unstable w/ LTO):
Some other locally patched to be built w/ LTO or have additional flags.
So for now I have ~1K packages installed and still no any
-ffat-lto-objects
flags set.