I'm afraid that we have to add ' -Wl,-z,now' to the LDFLAGS and not to the
CPPFLAGS because
the flag is used only for generating an executable or shared library
See 'man ld'
I'm not sure about '-Wl,-z,relro' it is not neccessary to have it in the
CPPFLAGS but it should
be added to the LDFLAGS (but nothing has changed when I moved the flag from
the CPPFLAGS to the LDFLAGS)
See
http://post-office.corp.redhat.com/archives/os-devel-list/2011-July/msg00...
I tweaked your version and the library has the desired properties according to
https://bugzilla.redhat.com/show_bug.cgi?id=812283#c11
$ git diff
diff --git a/src/client-python/Makefile.am b/src/client-python/Makefile.am
index 67e3b7a..768c518 100644
--- a/src/client-python/Makefile.am
+++ b/src/client-python/Makefile.am
@@ -19,11 +19,12 @@ _reportclient_la_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(PYTHON_CFLAGS) \
-D_GNU_SOURCE \
- -fPIE \
- -Wl,-z,relro -Wl,-z,now
+ -fPIE
_reportclient_la_LDFLAGS = \
-module \
-avoid-version \
- -export-symbols-regex init_reportclient
+ -export-symbols-regex init_reportclient \
+ -Wl,-z,relro \
+ -Wl,-z,now
_reportclient_la_LIBADD = \
../lib/libreport.la
$ readelf -ld src/client-python/.libs/_reportclient.so | grep -i -e "NOW" -e
"RELRO"
GNU_RELRO 0x0000000000001d18 0x0000000000201d18 0x0000000000201d18
0x0000000000000018 (BIND_NOW)
0x000000006ffffffb (FLAGS_1) Flags: NOW
Note:
And I'd say that adding -fPIE is not enought to enable PIE:
To enable PIE, you would pass -fPIE -DPIE in the CFLAGS and -pie in
the
LDFLAGS.
See
http://post-office.corp.redhat.com/archives/os-devel-list/2011-July/msg00...
Regards
Jakub
On Thursday 06 of June 2013 10:34:56 Jiri Moskovcak wrote:
Signed-off-by: Jiri Moskovcak <jmoskovc(a)redhat.com>
---
src/client-python/Makefile.am | 3 ++-
src/report-python/Makefile.am | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/client-python/Makefile.am b/src/client-python/Makefile.am
index c3ce8c6..67e3b7a 100644
--- a/src/client-python/Makefile.am
+++ b/src/client-python/Makefile.am
@@ -19,7 +19,8 @@ _reportclient_la_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(PYTHON_CFLAGS) \
-D_GNU_SOURCE \
- -fPIE -Wl,-z,relro,now
+ -fPIE \
+ -Wl,-z,relro -Wl,-z,now
_reportclient_la_LDFLAGS = \
-module \
-avoid-version \
diff --git a/src/report-python/Makefile.am b/src/report-python/Makefile.am
index 5dc0b54..2afdf34 100644
--- a/src/report-python/Makefile.am
+++ b/src/report-python/Makefile.am
@@ -24,7 +24,8 @@ _pyreport_la_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(PYTHON_CFLAGS) \
-D_GNU_SOURCE \
- -fPIE -Wl,-z,relro,now
+ -fPIE \
+ -Wl,-z,relro -Wl,-z,now
_pyreport_la_LDFLAGS = \
-module \
-avoid-version \