summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile20
-rw-r--r--fallback.c5
-rw-r--r--shim.c6
3 files changed, 22 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index 640ecf2b..cfdf3b52 100644
--- a/Makefile
+++ b/Makefile
@@ -33,6 +33,9 @@ CFLAGS = -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \
"-DDEFAULT_LOADER=L\"$(DEFAULT_LOADER)\"" \
"-DDEFAULT_LOADER_CHAR=\"$(DEFAULT_LOADER)\"" \
$(EFI_INCLUDES)
+SHIMNAME = shim
+MMNAME = MokManager
+FBNAME = fallback
ifneq ($(origin OVERRIDE_SECURITY_POLICY), undefined)
CFLAGS += -DOVERRIDE_SECURITY_POLICY
@@ -45,16 +48,25 @@ ifeq ($(ARCH),x86_64)
-DNO_BUILTIN_VA_FUNCS \
"-DEFI_ARCH=L\"x64\"" \
"-DDEBUGDIR=L\"/usr/lib/debug/usr/share/shim/x64-$(VERSION)$(RELEASE)/\""
+ MMNAME = mmx64
+ FBNAME = fbx64
+ SHIMNAME= shimx64
endif
ifeq ($(ARCH),ia32)
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \
-maccumulate-outgoing-args -m32 \
"-DEFI_ARCH=L\"ia32\"" \
"-DDEBUGDIR=L\"/usr/lib/debug/usr/share/shim/ia32-$(VERSION)$(RELEASE)/\""
+ MMNAME = mmia32
+ FBNAME = fbia32
+ SHIMNAME= shimia32
endif
ifeq ($(ARCH),aarch64)
CFLAGS += "-DEFI_ARCH=L\"aa64\"" \
"-DDEBUGDIR=L\"/usr/lib/debug/usr/share/shim/aa64-$(VERSION)$(RELEASE)/\""
+ MMNAME = mmaa64
+ FBNAME = fbaa64
+ SHIMNAME= shimaa64
endif
ifneq ($(origin VENDOR_CERT_FILE), undefined)
@@ -66,7 +78,7 @@ endif
LDFLAGS = --hash-style=sysv -nostdlib -znocombreloc -T $(EFI_LDS) -shared -Bsymbolic -L$(EFI_PATH) -L$(LIB_PATH) -LCryptlib -LCryptlib/OpenSSL $(EFI_CRT_OBJS) --build-id=sha1
-TARGET = shim.efi MokManager.efi.signed fallback.efi.signed
+TARGET = $(SHIMNAME).efi $(MMNAME).efi.signed $(FBNAME).efi.signed
OBJS = shim.o netboot.o cert.o replacements.o tpm.o version.o
KEYS = shim_cert.h ocsp.* ca.* shim.crt shim.csr shim.p12 shim.pem shim.key shim.cer
SOURCES = shim.c shim.h netboot.c include/PeImage.h include/wincert.h include/console.h replacements.c replacements.h tpm.c tpm.h version.c version.h
@@ -105,17 +117,17 @@ shim.o: $(wildcard *.h)
cert.o : cert.S
$(CC) $(CFLAGS) -c -o $@ $<
-shim.so: $(OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
+$(SHIMNAME).so: $(OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
$(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS)
fallback.o: $(FALLBACK_SRCS)
-fallback.so: $(FALLBACK_OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
+$(FBNAME).so: $(FALLBACK_OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
$(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS)
MokManager.o: $(MOK_SOURCES)
-MokManager.so: $(MOK_OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
+$(MMNAME).so: $(MOK_OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
$(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS) lib/lib.a
Cryptlib/libcryptlib.a:
diff --git a/fallback.c b/fallback.c
index da7f2099..6c9774d0 100644
--- a/fallback.c
+++ b/fallback.c
@@ -608,7 +608,8 @@ find_boot_csv(EFI_FILE_HANDLE fh, CHAR16 *dirname)
fi = buffer;
- if (!StrCaseCmp(fi->FileName, L"boot.csv")) {
+ if (!StrCaseCmp(fi->FileName, L"boot.csv")
+ || !StrCaseCmp(fi->FileName, L"boot" EFI_ARCH L".csv")) {
EFI_FILE_HANDLE fh2;
rc = uefi_call_wrapper(fh->Open, 5, fh, &fh2,
fi->FileName,
@@ -817,7 +818,7 @@ debug_hook(void)
x = 1;
Print(L"add-symbol-file "DEBUGDIR
- L"fallback.debug %p -s .data %p\n", &_etext,
+ L"fb" EFI_ARCH L".efi.debug %p -s .data %p\n", &_etext,
&_edata);
}
diff --git a/shim.c b/shim.c
index ed01899c..a923e5b9 100644
--- a/shim.c
+++ b/shim.c
@@ -51,8 +51,8 @@
#include "console.h"
#include "version.h"
-#define FALLBACK L"\\fallback.efi"
-#define MOK_MANAGER L"\\MokManager.efi"
+#define FALLBACK L"\\fb" EFI_ARCH L".efi"
+#define MOK_MANAGER L"\\mm" EFI_ARCH L".efi"
static EFI_SYSTEM_TABLE *systab;
static EFI_HANDLE image_handle;
@@ -2527,7 +2527,7 @@ debug_hook(void)
}
Print(L"add-symbol-file "DEBUGDIR
- L"shim.debug 0x%08x -s .data 0x%08x\n", &_text,
+ L"shim" EFI_ARCH L".efi.debug 0x%08x -s .data 0x%08x\n", &_text,
&_data);
Print(L"Pausing for debugger attachment.\n");