From b328f6ede664d5c37ecbd957355a991862191ff9 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 18 Mar 2014 11:41:18 -0400 Subject: [PATCH 04/15] Changes to make sure we inherit CFLAGS properly from rpmbuild. This makes sure we build with -fstack-protector-strong when invoked correctly with it in CFLAGS="" from make. Signed-off-by: Peter Jones --- Make.defaults | 7 ++++--- Make.efirules | 6 +++--- Make.rules | 10 +++++----- libdpe/pe_allocspace.c | 1 + src/Makefile | 2 +- src/efikeygen.c | 2 +- util/Makefile | 2 +- 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Make.defaults b/Make.defaults index e2c967b..0995e5b 100644 --- a/Make.defaults +++ b/Make.defaults @@ -5,7 +5,8 @@ HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,) ARCH := $(shell uname -m | sed s,i[3456789]86,ia32,) INCDIR = -I$(TOPDIR)/include CPPFLAGS = -DCONFIG_$(ARCH) -CFLAGS = $(ARCH3264) -g -O0 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE +CFLAGS = -g -O0 +BUILDFLAGS := $(CFLAGS) $(ARCH3264) -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function ASFLAGS = $(ARCH3264) LDFLAGS = -nostdlib CCLDFLAGS = -shared @@ -21,7 +22,7 @@ RANLIB = $(bindir)ranlib OBJCOPY = $(bindir)objcopy ifeq ($(ARCH),ia64) - CFLAGS += -mfixed-range=f32-f127 + BUILDFLAGS += -mfixed-range=f32-f127 LIBDIR = $(PREFIX)/lib64 endif @@ -33,7 +34,7 @@ ifeq ($(ARCH), ia32) endif ifeq ($(ARCH), x86_64) - CFLAGS += -mno-red-zone + BUILDFLAGS += -mno-red-zone LIBDIR := $(PREFIX)/lib64 ifeq ($(HOSTARCH), ia32) ARCH3264 := -m64 diff --git a/Make.efirules b/Make.efirules index 9aa4b5b..bed36b1 100644 --- a/Make.efirules +++ b/Make.efirules @@ -6,10 +6,10 @@ $(LD) $(LDFLAGS) -o $@ $^ $(LIBS) %.o: %.c - $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -D__UEFI__ -c $< -o $@ + $(CC) $(INCDIR) $(BUILDFLAGS) $(CPPFLAGS) -D__UEFI__ -c $< -o $@ %.S: %.c - $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -D__UEFI__ -S $< -o $@ + $(CC) $(INCDIR) $(BUILDFLAGS) $(CPPFLAGS) -D__UEFI__ -S $< -o $@ %.E: %.c - $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -D__UEFI__ -E $< -o $@ + $(CC) $(INCDIR) $(BUILDFLAGS) $(CPPFLAGS) -D__UEFI__ -E $< -o $@ diff --git a/Make.rules b/Make.rules index 999d717..2749521 100644 --- a/Make.rules +++ b/Make.rules @@ -5,18 +5,18 @@ $(CC) $(CCLDFLAGS) -o $@ $^ $(foreach lib,$(LIBS),-l$(lib)) $(foreach pklib,$(PKLIBS), $(shell pkg-config --libs-only-l --libs-only-other $(pklib))) -lpthread %.so : - $(CC) $(INCDIR) $(CFLAGS) -Wl,-soname,$(SONAME) $(CCLDFLAGS) $^ -o $@ + $(CC) $(INCDIR) $(BUILDFLAGS) -Wl,-soname,$(SONAME) $(CCLDFLAGS) $^ -o $@ %.o: %.c - $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + $(CC) $(INCDIR) $(BUILDFLAGS) $(CPPFLAGS) -c $< -o $@ .%.P : %.c - $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -M -MM -MF $@ $^ + $(CC) $(INCDIR) $(BUILDFLAGS) $(CPPFLAGS) -M -MM -MF $@ $^ %.S: %.c - $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -S $< -o $@ + $(CC) $(INCDIR) $(BUILDFLAGS) $(CPPFLAGS) -S $< -o $@ %.E: %.c - $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -E $< -o $@ + $(CC) $(INCDIR) $(BUILDFLAGS) $(CPPFLAGS) -E $< -o $@ %.c : %.h diff --git a/libdpe/pe_allocspace.c b/libdpe/pe_allocspace.c index 716373c..1f0f44a 100644 --- a/libdpe/pe_allocspace.c +++ b/libdpe/pe_allocspace.c @@ -19,6 +19,7 @@ #include "libdpe.h" +#include #include #include #include diff --git a/src/Makefile b/src/Makefile index f478aa6..e45d2a3 100644 --- a/src/Makefile +++ b/src/Makefile @@ -8,7 +8,7 @@ LIBS = popt STATIC_LIBS = $(TOPDIR)/libdpe/libdpe.a LDFLAGS = CCLDFLAGS = -L../libdpe $(foreach pklib,$(PKLIBS), $(shell pkg-config --libs-only-L $(pklib))) -CFLAGS += -I../include/ $(foreach pklib,$(PKLIBS), $(shell pkg-config --cflags $(pklib))) -Werror +BUILDFLAGS += -I../include/ $(foreach pklib,$(PKLIBS), $(shell pkg-config --cflags $(pklib))) -Werror TARGETS = pesign authvar client efisiglist efikeygen peverify diff --git a/src/efikeygen.c b/src/efikeygen.c index ac27acc..45ee5c5 100644 --- a/src/efikeygen.c +++ b/src/efikeygen.c @@ -333,7 +333,7 @@ populate_extensions(cms_context *cms, CERTCertificate *cert, oid = SECOID_FindOIDByTag(SEC_OID_PKCS9_EXTENSION_REQUEST); - for (int i; crq->attributes[i]; i++) { + for (int i = 0 ; crq->attributes[i]; i++) { attr = crq->attributes[i]; if (attr->attrType.len != oid->oid.len) continue; diff --git a/util/Makefile b/util/Makefile index 1cf782c..ff11cb8 100644 --- a/util/Makefile +++ b/util/Makefile @@ -7,7 +7,7 @@ FORMAT=efi-app-$(HOSTARCH) LDFLAGS = -nostdlib -T $(LIBDIR)/gnuefi/elf_$(HOSTARCH)_efi.lds -shared -Bsymbolic $(LIBDIR)/gnuefi/crt0-efi-$(HOSTARCH).o -L$(LIBDIR) LIBS=-lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name) CCLDFLAGS = -CFLAGS = -I/usr/include/efi/ -I/usr/include/efi/$(HOSTARCH)/ -I/usr/include/efi/protocol -fpic -fshort-wchar -fno-reorder-functions -fno-strict-aliasing -fno-merge-constants -mno-red-zone -Wimplicit-function-declaration +BUILDFLAGS = -I/usr/include/efi/ -I/usr/include/efi/$(HOSTARCH)/ -I/usr/include/efi/protocol -fpic -fshort-wchar -fno-reorder-functions -fno-strict-aliasing -fno-merge-constants -mno-red-zone -Wimplicit-function-declaration TARGETS = setupsb.efi dumpsb.efi clearpk.efi -- 2.5.5