Blame SOURCES/0006-Build-as-PIE-RELRO-binaries.patch

fe5aa1
From 1d2859fa0e9cad7e0f36fef6ff17b91e10902777 Mon Sep 17 00:00:00 2001
fe5aa1
From: Peter Jones <pjones@redhat.com>
fe5aa1
Date: Tue, 2 Sep 2014 11:08:23 -0400
fe5aa1
Subject: [PATCH 06/15] Build as PIE+RELRO binaries.
fe5aa1
fe5aa1
Resolves: rhbz#1092542
fe5aa1
fe5aa1
Signed-off-by: Peter Jones <pjones@redhat.com>
fe5aa1
---
fe5aa1
 Make.defaults   | 2 +-
fe5aa1
 libdpe/Makefile | 3 +++
fe5aa1
 src/Makefile    | 4 ++--
fe5aa1
 3 files changed, 6 insertions(+), 3 deletions(-)
fe5aa1
fe5aa1
diff --git a/Make.defaults b/Make.defaults
fe5aa1
index 0995e5b..5ff74ee 100644
fe5aa1
--- a/Make.defaults
fe5aa1
+++ b/Make.defaults
fe5aa1
@@ -6,7 +6,7 @@ ARCH	   := $(shell uname -m | sed s,i[3456789]86,ia32,)
fe5aa1
 INCDIR	   = -I$(TOPDIR)/include
fe5aa1
 CPPFLAGS   = -DCONFIG_$(ARCH)
fe5aa1
 CFLAGS	   = -g -O0
fe5aa1
-BUILDFLAGS := $(CFLAGS) $(ARCH3264) -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function
fe5aa1
+BUILDFLAGS := $(CFLAGS) $(ARCH3264) -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function
fe5aa1
 ASFLAGS    = $(ARCH3264)
fe5aa1
 LDFLAGS	   = -nostdlib
fe5aa1
 CCLDFLAGS  = -shared
fe5aa1
diff --git a/libdpe/Makefile b/libdpe/Makefile
fe5aa1
index 81d3c0b..a8b0c26 100644
fe5aa1
--- a/libdpe/Makefile
fe5aa1
+++ b/libdpe/Makefile
fe5aa1
@@ -5,6 +5,9 @@ SONAME = libdpe.so.0
fe5aa1
 
fe5aa1
 include $(TOPDIR)/Make.defaults
fe5aa1
 
fe5aa1
+BUILDFLAGS += -fPIC
fe5aa1
+CCLDFLAGS += -fPIC -Wl,-z,relro,-z,now
fe5aa1
+
fe5aa1
 TARGETS = libdpe.so libdpe.a
fe5aa1
 all : $(TARGETS)
fe5aa1
 
fe5aa1
diff --git a/src/Makefile b/src/Makefile
fe5aa1
index e45d2a3..766ffe8 100644
fe5aa1
--- a/src/Makefile
fe5aa1
+++ b/src/Makefile
fe5aa1
@@ -7,8 +7,8 @@ PKLIBS = nss
fe5aa1
 LIBS = popt
fe5aa1
 STATIC_LIBS = $(TOPDIR)/libdpe/libdpe.a
fe5aa1
 LDFLAGS =
fe5aa1
-CCLDFLAGS = -L../libdpe $(foreach pklib,$(PKLIBS), $(shell pkg-config --libs-only-L $(pklib)))
fe5aa1
-BUILDFLAGS += -I../include/ $(foreach pklib,$(PKLIBS), $(shell pkg-config --cflags $(pklib))) -Werror
fe5aa1
+CCLDFLAGS = -L../libdpe $(foreach pklib,$(PKLIBS), $(shell pkg-config --libs-only-L $(pklib))) -pie -fPIE -Wl,-z,relro,-z,now
fe5aa1
+BUILDFLAGS += -I../include/ $(foreach pklib,$(PKLIBS), $(shell pkg-config --cflags $(pklib))) -Werror -fPIE
fe5aa1
 
fe5aa1
 TARGETS = pesign authvar client efisiglist efikeygen peverify
fe5aa1
 
fe5aa1
-- 
fe5aa1
2.5.5
fe5aa1