Description of problem:
Autotools, during the ./configure process, was checking if the compiler & linker were PIE-compatible.
Meson, however, seems to prefer the simple default of enabling PIC.
PIC is good for shared libraries, but wont ensure that the executable itself is fully position independent.
This is a problem because it causes hardening regression in our build system when a project migrates from autotools to meson.
Ideally, Meson should automagically enable PIE (`-pie -fPIE` on gcc) on executable without maintainer having to manually adapt the CFLAGS & so on.
Sorry for the late reply, I was on a long PTO. I believe hughsie was investigating the fwupd and libappstream-glib regressions in the matching RHEL8 ticket, https://bugzilla.redhat.com/show_bug.cgi?id=1618722 and the fix should be applicable to RHEL7 as well.
I spent some time today investigating this and looks like we can work this around by setting "%global _hardened_build 1" in fwupd and libappstream-glib spec files (longer explanation in the 8.0 ticket, https://bugzilla.redhat.com/show_bug.cgi?id=1618722). Can I get exception/blocker acks for this, please? I'll use it for rebuilding fwupd and libappstream-glib.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.