ncroxon / gnu-efi

Develop EFI applications for ARM-64, ARM-32, x86_64, IA-64 (IPF), IA-32 (x86), and MIPS platforms using the GNU toolchain and the EFI development environment.
42 stars 10 forks source link

gnu-efi-3.0.18 fails to link with lld as linker #4

Closed chriscpritchard closed 4 months ago

chriscpritchard commented 4 months ago

downstream bug build log

When trying to build using clang-18, and lld as linker, I get the below error.


clang -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/../inc -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/../inc/ia32 -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/../inc/protocol -Wno-error=pragmas -mno-mmx -mno-sse -mno-avx -fPIE -m32 -g -O2 -Wall -Wextra -Wno-pointer-sign -funsigned-char -fshort-wchar -fno-strict-aliasing -ffreestanding -fno-stack-protector -fno-stack-check  -DCONFIG_ia32 -std=c11 -D__KERNEL__ -I/usr/src/sys/build/include -c /var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/t.c -o t.o
ld.lld -nostdlib --warn-common --no-undefined --fatal-warnings --build-id=sha1 -z nocombreloc -shared -Bsymbolic -L/var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/../ia32/lib -L/var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/../ia32/gnuefi /var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/../ia32/gnuefi/crt0-efi-ia32.o t.o -o t.so -lefi -lgnuefi /usr/lib/llvm/18/bin/../../../../lib/clang/18/lib/linux/libclang_rt.builtins-i386.a -T /var/tmp/portage/sys-boot/gnu-efi-3.0.18/work/gnu-efi-3.0.18//apps/../gnuefi/elf_ia32_efi.lds
ld.lld: error: section: .dynamic is not contiguous with other relro sections```