summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNigel Croxon <ncroxon@redhat.com>2013-06-25 08:47:03 -0400
committerNigel Croxon <ncroxon@redhat.com>2013-06-25 08:47:03 -0400
commit9d6b441ec581a2df92ccde627ab6ec8dfbb31ce6 (patch)
tree43adffd9fbfa877ec32d1a07822140ed548df17c
parent401d5b7194175a75a673c0e710417c1accc27dca (diff)
downloadgnu-efi-3.0-9d6b441ec581a2df92ccde627ab6ec8dfbb31ce6.tar.gz
gnu-efi-3.0-9d6b441ec581a2df92ccde627ab6ec8dfbb31ce6.tar.xz
gnu-efi-3.0-9d6b441ec581a2df92ccde627ab6ec8dfbb31ce6.zip
be more pedantic when linking
Don't allow duplicate symbols, abort upon first error. also make sure the linker script comes last for apps. Signed-off-by: David Decotigny <decot@googlers.com>
-rw-r--r--gnu-efi-3.0/Make.defaults2
-rw-r--r--gnu-efi-3.0/apps/Makefile8
2 files changed, 7 insertions, 3 deletions
diff --git a/gnu-efi-3.0/Make.defaults b/gnu-efi-3.0/Make.defaults
index a22a1b4..6b4b6de 100644
--- a/gnu-efi-3.0/Make.defaults
+++ b/gnu-efi-3.0/Make.defaults
@@ -114,4 +114,4 @@ CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \
-fno-merge-constants -ffreestanding -fno-stack-protector \
-fno-stack-check
ASFLAGS += $(ARCH3264)
-LDFLAGS += -nostdlib --no-undefined
+LDFLAGS += -nostdlib --warn-common --no-undefined --fatal-warnings
diff --git a/gnu-efi-3.0/apps/Makefile b/gnu-efi-3.0/apps/Makefile
index 773bc08..6834e14 100644
--- a/gnu-efi-3.0/apps/Makefile
+++ b/gnu-efi-3.0/apps/Makefile
@@ -52,8 +52,12 @@ ifneq (,$(findstring FreeBSD,$(OS)))
LDSCRIPT = $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds
endif
-LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
-LOADLIBES = -lefi -lgnuefi $(shell $(CC) $(ARCH3264) -print-libgcc-file-name)
+LDFLAGS += -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
+
+LOADLIBES += -lefi -lgnuefi
+LOADLIBES += $(shell $(CC) $(ARCH3264) -print-libgcc-file-name)
+LOADLIBES += -T $(LDSCRIPT)
+
FORMAT = efi-app-$(ARCH)
TARGETS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi printenv.efi t7.efi tcc.efi modelist.efi route80h.efi