A recent change in ld.lld made the linker error with -Wl,--fatal-warnings if a gnu.warnings segment is present. This breaks the build of sysutils/efivar. Diff below fixes this.
cc -O2 -pipe -std=gnu11 -funsigned-char -fvisibility=hidden -std=gnu11 -funsigned-char -fvisibility=hidden -L. -Wl,--build-id -Wl,--no-undefined-version -Wl,-z,now -Wl,-z,muldefs -Wl,-z,relro -Wl,--fatal-warnings -DLIBEFIVAR_VERSION=38 -D_GNU_SOURCE -I/tmp/pobj/efivar-38/efivar-bsd-v1/src/include/ -o efivar efivar.o guid.o util.o -lefivar ld: error: efivar.c(efivar.o:(parse_name)): warning: strcpy() is almost always misused, please use strlcpy() Index: patches/patch-src_include_defaults_mk =================================================================== RCS file: /cvs/ports/sysutils/efivar/patches/patch-src_include_defaults_mk,v diff -u -p -r1.1.1.1 patch-src_include_defaults_mk --- patches/patch-src_include_defaults_mk 5 Jul 2023 14:17:47 -0000 1.1.1.1 +++ patches/patch-src_include_defaults_mk 5 Aug 2024 16:35:41 -0000 @@ -3,7 +3,15 @@ Fix .so versioning. Index: src/include/defaults.mk --- src/include/defaults.mk.orig +++ src/include/defaults.mk -@@ -65,7 +65,7 @@ SOFLAGS_CLANG = +@@ -56,7 +56,6 @@ override LDFLAGS = $(CFLAGS) -L. $(_LDFLAGS) $(_CCLDFL + -Wl,-z,now \ + -Wl,-z,muldefs \ + -Wl,-z,relro \ +- -Wl,--fatal-warnings \ + $(call family,LDFLAGS) $(call family,CCLDFLAGS) \ + $(call pkg-config-ccldflags) + override CCLDFLAGS = $(LDFLAGS) +@@ -65,7 +64,7 @@ SOFLAGS_CLANG = SOFLAGS ?= override _SOFLAGS := $(SOFLAGS) override SOFLAGS = $(_SOFLAGS) \