summaryrefslogtreecommitdiffstats
path: root/src/boot
diff options
context:
space:
mode:
authortpgxyz <tpgxyz@gmail.com>2021-03-18 12:24:27 +0100
committerLuca Boccassi <luca.boccassi@gmail.com>2021-03-19 20:42:47 +0100
commite39288193fcdf3a36dbc49b78e6c9bf86a764e31 (patch)
treeb2b0dc269355e4cc6f2f9d3965a49721692ce863 /src/boot
parentblockdev-util: fix access to possibly invalidated dirent struct (diff)
downloadsystemd-e39288193fcdf3a36dbc49b78e6c9bf86a764e31.tar.xz
systemd-e39288193fcdf3a36dbc49b78e6c9bf86a764e31.zip
systemd-boot: LLVM/lld does not support PE/COFF relocations. Bail out with an error message
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/efi/meson.build9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
index fdbbed6f83..bb5f591fe5 100644
--- a/src/boot/efi/meson.build
+++ b/src/boot/efi/meson.build
@@ -45,10 +45,17 @@ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
if efi_cc.length() == 0
efi_cc = cc.cmd_array()
endif
- efi_ld = get_option('efi-ld')
+ efi_ld = get_option('efi-ld').to_lower()
if efi_ld == ''
efi_ld = find_program('ld', required: true)
endif
+
+ if efi_ld == 'lld' or efi_ld == 'ld.lld'
+# LLVM/LLD does not support PE/COFF relocations
+# https://lists.llvm.org/pipermail/llvm-dev/2021-March/149234.html
+ error('LLVM/lld does not support PE/COFF relocations. Use different linker for EFI image.')
+ endif
+
efi_incdir = get_option('efi-includedir')
gnu_efi_path_arch = ''