On 2017-07-05 11:36, Evangelos Foutras wrote:
On 2 July 2017 at 19:19, Daniel Micay via arch-dev-public <arch-dev-public@archlinux.org> wrote:
Using -fno-plt would be a nice tiny little performance boost at runtime but then it's important to make sure everything is compiled with -Wl,- z,now and there might be programs ignoring LDFLAGS but respecting CFLAGS. Ideally -z now would be the default in the linker first. If we aren't going to patch the default, then I think a configure flag for that needs to land upstream.
It's also worth noting that clang does not support the -fno-plt option and I couldn't find any discussions about adding support for it.
If it's only a tiny performance improvement, I strongly believe we should skip it for now.
Repeating what I said on IRC. First, it's easy to workaround - there is no magic about using bash substitution and re-exporting CFLAGS in the environment. Second, enabling PIE and SSP by default is already a breaking change that we make an exception for clang. Apparently you can patch clang to reflect this, but you can't make it ignore -fno-plt too? This is not a huge change that will cause everything to fall apart, and less than 40 packages need clang. I can live with having to change them. Bartłomiej