On Tuesday September 17 2019 11:49:11 Joshua Root wrote:
I continue to think that compiler choice and options should be something the
user can set the default for, without having to replace the standard system
compiler drivers (/usr/bin/clang{,++}) with wrapper scripts.
>machine. But -mdynamic-no-pic is incompatible with PIE, which is the
>default since 10.7.
I use -mdynamic-no-pic all the time for almost all my KF5 builds, and *may*
only have an issue with a single port that had the option to build with PIE
(which I don't see the point of, and I don't think I was using -mdynamic-no-pic
at the time). I know that option is incompatible with +universal builds unless
you add a linker option I never managed to remember.
I don't even know if -mdynamic-no-pic still gives the same almost free
performance gain as it did on PPC (15% or so, I learned about it long ago
thanks to the still-lamented Shark tool). But my Mac is now old enough that it
makes sense to maximise compilation optimisation. I only don't use LTO
systematically because I never managed to get a usable backtrace from slightly
more complicated applications with it.
BTW, I do have a LTO PortGroup that adds a +LTO variant and works some magic
which seems to work pretty reliably and which I could contribute if there's an
interest for it.
R.