소스 검색

FreeBSD's binutils doesn't have "-j <glob>" support, so we need to
include non-globbed versions of .rel/.rela individually.

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Bill Paul <wpaul@windriver.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>

Nigel Croxon 10 년 전
부모
커밋
00bd66ef46
2개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 7 0
      gnu-efi-3.0/Make.defaults
  2. 3 2
      gnu-efi-3.0/Make.rules

+ 7 - 0
gnu-efi-3.0/Make.defaults

@@ -133,8 +133,15 @@ endif
 # Generic compilation flags
 INCDIR  += -I$(SRCDIR) -I$(TOPDIR)/inc -I$(TOPDIR)/inc/$(ARCH) \
            -I$(TOPDIR)/inc/protocol
+
+ifeq (FreeBSD, $(findstring FreeBSD, $(OS)))
+CFLAGS  += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \
+           -ffreestanding -fno-stack-protector
+else
 CFLAGS  += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \
            -fno-merge-constants -ffreestanding -fno-stack-protector       \
            -fno-stack-check
+endif
+
 ASFLAGS += $(ARCH3264)
 LDFLAGS	+= -nostdlib --warn-common --no-undefined --fatal-warnings

+ 3 - 2
gnu-efi-3.0/Make.rules

@@ -35,8 +35,9 @@
 #
 
 %.efi: %.so
-	$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel* \
-		   -j .rela* -j .reloc $(FORMAT) $*.so $@
+	$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
+		    -j .rela -j .rel.* -j .rela.* -j .rel* -j .rela* \
+		    -j .reloc $(FORMAT) $*.so $@
 
 %.so: %.o
 	$(LD) $(LDFLAGS) $^ -o $@ $(LOADLIBES)