|
@@ -44,3 +44,21 @@ NORMAL_LIBGCC = $(shell $(CC) $(PLATFORM_CPPFLAGS) -print-libgcc-file-name)
|
|
OBJCOPYFLAGS := --prefix-symbols=__normal_
|
|
OBJCOPYFLAGS := --prefix-symbols=__normal_
|
|
$(obj)/lib.a: $(NORMAL_LIBGCC) FORCE
|
|
$(obj)/lib.a: $(NORMAL_LIBGCC) FORCE
|
|
$(call if_changed,objcopy)
|
|
$(call if_changed,objcopy)
|
|
|
|
+
|
|
|
|
+obj-$(CONFIG_EFI_APP) += crt0_ia32_efi.o reloc_ia32_efi.o
|
|
|
|
+
|
|
|
|
+ifneq ($(CONFIG_EFI_STUB),)
|
|
|
|
+
|
|
|
|
+CFLAGS_REMOVE_reloc_ia32_efi.o += -mregparm=3
|
|
|
|
+CFLAGS_reloc_ia32_efi.o += -fpic -fshort-wchar
|
|
|
|
+
|
|
|
|
+# When building for 64-bit we must remove the i386-specific flags
|
|
|
|
+CFLAGS_REMOVE_reloc_x86_64_efi.o += -mregparm=3 -march=i386 -m32
|
|
|
|
+CFLAGS_reloc_x86_64_efi.o += -fpic -fshort-wchar
|
|
|
|
+
|
|
|
|
+AFLAGS_REMOVE_crt0_x86_64_efi.o += -mregparm=3 -march=i386 -m32
|
|
|
|
+AFLAGS_crt0_x86_64_efi.o += -fpic -fshort-wchar
|
|
|
|
+
|
|
|
|
+extra-$(CONFIG_EFI_STUB_32BIT) += crt0_ia32_efi.o reloc_ia32_efi.o
|
|
|
|
+extra-$(CONFIG_EFI_STUB_64BIT) += crt0_x86_64_efi.o reloc_x86_64_efi.o
|
|
|
|
+endif
|