I have 2 days trying to figure out why the terminal dont respect apps inside it like nano if i open a normal mate-terminal unmaximized looks like this > https://i.imgur.com/gPxcY7b.png but when i maximize nano looks like this all cut https://i.imgur.com/nZbJNXG.png , this time maximized https://i.imgur.com/FWVfw9Y.png and look like this when i unmaximize https://i.imgur.com/Rle0IYM.png same for htop https://i.imgur.com/OpUcerd.png max , unmax https://i.imgur.com/r6lINw1.png , and the root of the problem was bash and deps compiled with LTO
also i was giving up on bash and i changed to fish and fish was also giving me problems like when i try tab completion i got this >>> fish: Process 13174, “apropos” from job 2, “apropos $argv 2>/dev/null | awk…” terminated by signal SIGABRT (Abort) and the root of the problem was gawk and deps compiled with LTO.
simple console apps get corrupted with LTO , Seems Like A Bad Idea To Me ,
and really i dont see any REAL , Optimization in general and i had my system recompiled with emerge -e world 2 times , no real difference with Arch or the old installation of gentoo that i have and Link On Time Compilation just make compilation Slower on my 4G of ram laptop machine always Freezing and Halting . Just For LD linking process using all my ram , ETC ....
im just going Back To "-O3 -march=native" , too much RICE makes You Fat And Ugly > Gentoo.
EDIT: With :>
CFLAGS="-O3 -march=native -mfpmath=both -funroll-loops -floop-block -floop-interchange -floop-strip-mine -ftree-loop-distribution -falign-functions=32 -fgraphite-identity -floop-nest-optimize -fno-semantic-interposition -pipe" you can get enough optimization without break everything , just no Lto
Thanks .
Well... No one here is telling you what to do. Much like Gentoo itself, this is a repository you can choose to use... or not... in whichever way you want, for any reason you want.
Right at the top of this repository's README, there's this little disclaimer:
Warning: this configuration is not for the faint of heart. It is probably not a good idea to use this on a production system!
If you want to report a specific problem with a specific package, you should do that. This repository maintains a list of exceptions for packages that aren't safe to compile with LTO. Contributing to it is beneficial for all of us here.
If you're trying to tell us that you don't see the point in using LTO because you're experiencing breaks in general... this isn't helpful. Not only many of us here including myself run LTO in production without much trouble, but also a big point of this project is to advance what we know and improve things for everyone else who's interested. Not 'RICE'. Not size. Brains. Helpfulness.
Finally, if your gawk, bash, etc. are broken, it might very well not be LTO's fault on its own. It might very well be the interactions between LTO and the myriad of other flags you said you were using, not to mention your toolchain version or other elements that we can't see or help you with without an emerge --info... if by any chance you actually happened to want help.
I took a look at the other issues you reported: #258 and #260
You seem to be running a system with flag-o-matic-overrides enabled on this overlay. This isn't the most stable thing to do. I'd try to re-build the system with this overlay, but with the flag-o-matic overrides disabled and perhaps more conservative base CFLAGS.
A good base could be "-O3 -march=native -falign-functions=32 -pipe" + the defaults from this repository's make.conf.lto, which would add "-flto=2 -fno-semantic-interposition -fgraphite-identity -floop-nest-optimize -fuse-linker-plugin"
You might just end up with better results.
The main use I see of this repository is to slowly get those problems actually solved. If no one use those optimizations, they will never be usable safely. I don't use every single optimizations here on a production system (I do use some) but I mess with that a lot in QEMU myself. Scariest is always issues that are hard to notice in programs without a proper test suite.
Also flag-o-matic overrides are kinda broken last I checked. Notably append-flags() needs to __not__ be overriden because gentoo ebuilds sometimes use it to add critical flags (at most, you'd want to stop it some specific flags like -O2 but not say.. -fno-strict-aliasing, or -Wa,--noexecstack, etc..). I override flag-o-matic system-wide myself (even on a production system) but a bit differently that this overlay does (Edit: I had a old post about this at https://github.com/InBetweenNames/gentooLTO/issues/57#issuecomment-439289521 )
As the overlay warns, flag-o-matic override is highly not recommended anyhow (things are generally known to work fine without it). It notably even let these optimizations get used on glibc which can be nasty (that aside, many are actually fine to use nowadays on glibc, you can even link glibc with ld.gold fine, but gentoo still tries to block that -- I am actually using a full-gold system right now (no exceptions), with gentoo not being allowed to block it. kernel as well)
@javashin GentooLTO is not stable right now. It's getting there. Unless you are comfortable reading the source code of others and writing/applying your own patches, I recommend NOT using it on your production system! If you NEED things to work, use a stable configuration. GentooLTO is much more stable now than it was when it first launched, but understand there's still quite a ways to go.
I'm closing this issue as there isn't really much more to be said about this.
Most helpful comment
Well... No one here is telling you what to do. Much like Gentoo itself, this is a repository you can choose to use... or not... in whichever way you want, for any reason you want.
Right at the top of this repository's README, there's this little disclaimer:
If you want to report a specific problem with a specific package, you should do that. This repository maintains a list of exceptions for packages that aren't safe to compile with LTO. Contributing to it is beneficial for all of us here.
If you're trying to tell us that you don't see the point in using LTO because you're experiencing breaks in general... this isn't helpful. Not only many of us here including myself run LTO in production without much trouble, but also a big point of this project is to advance what we know and improve things for everyone else who's interested. Not 'RICE'. Not size. Brains. Helpfulness.
Finally, if your
gawk,bash, etc. are broken, it might very well not be LTO's fault on its own. It might very well be the interactions between LTO and the myriad of other flags you said you were using, not to mention your toolchain version or other elements that we can't see or help you with without anemerge --info... if by any chance you actually happened to want help.