From 3ee93968e10126adc7dad5c8872f0170c3421e13 Mon Sep 17 00:00:00 2001 From: zorz Date: Tue, 5 May 2026 18:29:35 +0300 Subject: various obsolette --- gnu-efi/.footprint | 60 +++++++++++++ gnu-efi/.signature | 10 +++ gnu-efi/MAKEPKG | 100 ++++++++++++++++++++++ gnu-efi/gnu-efi-3.0.18-clang.patch | 26 ++++++ gnu-efi/gnu-efi-3.0.18-remove-linux-headers.patch | 14 +++ gnu-efi/gnu-efi-3.0.19-fix-binutils-2.46.patch | 19 ++++ 6 files changed, 229 insertions(+) create mode 100644 gnu-efi/.footprint create mode 100644 gnu-efi/.signature create mode 100644 gnu-efi/MAKEPKG create mode 100644 gnu-efi/gnu-efi-3.0.18-clang.patch create mode 100644 gnu-efi/gnu-efi-3.0.18-remove-linux-headers.patch create mode 100644 gnu-efi/gnu-efi-3.0.19-fix-binutils-2.46.patch (limited to 'gnu-efi') diff --git a/gnu-efi/.footprint b/gnu-efi/.footprint new file mode 100644 index 0000000..bfdfd54 --- /dev/null +++ b/gnu-efi/.footprint @@ -0,0 +1,60 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/include/ +drwxr-xr-x root/root usr/include/efi/ +-rw-r--r-- root/root usr/include/efi/efi.h +-rw-r--r-- root/root usr/include/efi/efi_nii.h +-rw-r--r-- root/root usr/include/efi/efi_pxe.h +-rw-r--r-- root/root usr/include/efi/efiapi.h +-rw-r--r-- root/root usr/include/efi/eficompiler.h +-rw-r--r-- root/root usr/include/efi/eficon.h +-rw-r--r-- root/root usr/include/efi/eficonex.h +-rw-r--r-- root/root usr/include/efi/efidebug.h +-rw-r--r-- root/root usr/include/efi/efidef.h +-rw-r--r-- root/root usr/include/efi/efidevp.h +-rw-r--r-- root/root usr/include/efi/efierr.h +-rw-r--r-- root/root usr/include/efi/efifs.h +-rw-r--r-- root/root usr/include/efi/efigpt.h +-rw-r--r-- root/root usr/include/efi/efiip.h +-rw-r--r-- root/root usr/include/efi/efilib.h +-rw-r--r-- root/root usr/include/efi/efilink.h +-rw-r--r-- root/root usr/include/efi/efinet.h +-rw-r--r-- root/root usr/include/efi/efipart.h +-rw-r--r-- root/root usr/include/efi/efipciio.h +-rw-r--r-- root/root usr/include/efi/efipoint.h +-rw-r--r-- root/root usr/include/efi/efiprot.h +-rw-r--r-- root/root usr/include/efi/efipxebc.h +-rw-r--r-- root/root usr/include/efi/efirtlib.h +-rw-r--r-- root/root usr/include/efi/efiser.h +-rw-r--r-- root/root usr/include/efi/efisetjmp.h +-rw-r--r-- root/root usr/include/efi/efishell.h +-rw-r--r-- root/root usr/include/efi/efishellintf.h +-rw-r--r-- root/root usr/include/efi/efistdarg.h +-rw-r--r-- root/root usr/include/efi/efitcp.h +-rw-r--r-- root/root usr/include/efi/efiudp.h +-rw-r--r-- root/root usr/include/efi/efiui.h +-rw-r--r-- root/root usr/include/efi/lib.h +-rw-r--r-- root/root usr/include/efi/libsmbios.h +-rw-r--r-- root/root usr/include/efi/pci22.h +-rw-r--r-- root/root usr/include/efi/pe.h +-rw-r--r-- root/root usr/include/efi/romload.h +drwxr-xr-x root/root usr/include/efi/protocol/ +-rw-r--r-- root/root usr/include/efi/protocol/adapterdebug.h +-rw-r--r-- root/root usr/include/efi/protocol/eficonsplit.h +-rw-r--r-- root/root usr/include/efi/protocol/efidbg.h +-rw-r--r-- root/root usr/include/efi/protocol/efivar.h +-rw-r--r-- root/root usr/include/efi/protocol/intload.h +-rw-r--r-- root/root usr/include/efi/protocol/legacyboot.h +-rw-r--r-- root/root usr/include/efi/protocol/piflash64.h +-rw-r--r-- root/root usr/include/efi/protocol/vgaclass.h +drwxr-xr-x root/root usr/include/efi/x86_64/ +-rw-r--r-- root/root usr/include/efi/x86_64/efibind.h +-rw-r--r-- root/root usr/include/efi/x86_64/efilibplat.h +-rw-r--r-- root/root usr/include/efi/x86_64/efisetjmp_arch.h +-rw-r--r-- root/root usr/include/efi/x86_64/pe.h +drwxr-xr-x root/root usr/lib/ +-rw-r--r-- root/root usr/lib/crt0-efi-x86_64.o +-rw-r--r-- root/root usr/lib/elf_x86_64_efi.lds +-rw-r--r-- root/root usr/lib/libefi.a +-rw-r--r-- root/root usr/lib/libgnuefi.a +drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/gnu-efi.pc diff --git a/gnu-efi/.signature b/gnu-efi/.signature new file mode 100644 index 0000000..88c56c3 --- /dev/null +++ b/gnu-efi/.signature @@ -0,0 +1,10 @@ +untrusted comment: verify with zorz.pub +RWTZ9IduCSQ/mN2CGS6Er3qQNMb/CTlIjkqvTX1NNdL5NYcTcH9T74dkf7oTXyvoVPGUoEdaO5q1x8NTdmY30cYKviDLtr5j8wM= + +SHA256 (MAKEPKG) = d599cc8cfcdd2610c6affa42a958c186488272f246d7be0d9736e7e3d9363930 +SHA256 (.footprint) = 9ebae1f784c664782582b968923210166e2f3a8a268d59abf1cc28c9de658410 +SHA256 (gnu-efi-3.0.18.tar.bz2) = 7f212c96ee66547eeefb531267b641e5473d7d8529f0bd8ccdefd33cf7413f5c +SHA256 (binutils-2.46.0.tar.xz) = d75a94f4d73e7a4086f7513e67e439e8fcdcbb726ffe63f4661744e6256b2cf2 +SHA256 (gnu-efi-3.0.18-clang.patch) = cbd8f6af3b8f522fc65c65a96a589602a9a072a501740954f8617990029ae984 +SHA256 (gnu-efi-3.0.18-remove-linux-headers.patch) = 0996a5a167567066d7289cc4f9d576602cc61a3ea67608e76544b58bb0a47e94 +SHA256 (gnu-efi-3.0.19-fix-binutils-2.46.patch) = 173191018e118048025e6a5acc8e4fd9a401e58fa485bfab04dd09b5c24e4a4f diff --git a/gnu-efi/MAKEPKG b/gnu-efi/MAKEPKG new file mode 100644 index 0000000..94c971b --- /dev/null +++ b/gnu-efi/MAKEPKG @@ -0,0 +1,100 @@ +#!/bin/mkpkg +# description: EFI application development toolkit +# url: https://sourceforge.net/projects/gnu-efi/ + +name=gnu-efi +version=3.0.18 +release=1 +depends=() +makedeps=() +source=(https://downloads.sourceforge.net/sourceforge/gnu-efi/gnu-efi-$version.tar.bz2 + https://ftp.gnu.org/gnu/binutils/binutils-2.46.0.tar.xz + gnu-efi-3.0.18-clang.patch + gnu-efi-3.0.18-remove-linux-headers.patch + gnu-efi-3.0.19-fix-binutils-2.46.patch) +sha256sums=( + "7f212c96ee66547eeefb531267b641e5473d7d8529f0bd8ccdefd33cf7413f5c" + "d75a94f4d73e7a4086f7513e67e439e8fcdcbb726ffe63f4661744e6256b2cf2" + "cbd8f6af3b8f522fc65c65a96a589602a9a072a501740954f8617990029ae984" + "0996a5a167567066d7289cc4f9d576602cc61a3ea67608e76544b58bb0a47e94" + "173191018e118048025e6a5acc8e4fd9a401e58fa485bfab04dd09b5c24e4a4f" +) + +build() { + # Build private GNU binutils — need objcopy with EFI/pei- target support + cd $SRC/binutils-2.46.0 + CONFIG_SHELL=/bin/bash ./configure \ + --prefix=$SRC/binutils-local \ + --disable-nls \ + --disable-multilib \ + --disable-werror \ + --disable-gdb \ + --disable-gdbserver \ + --disable-gold \ + --disable-gprofng \ + --disable-sim \ + --disable-libdecnumber \ + --disable-readline \ + --enable-ld \ + --enable-targets=x86_64-linux,i686-linux,x86_64-pep \ + --with-system-zlib \ + CC=clang CXX=clang++ + make $MKPKG_MAKEFLAGS + make install + export PATH="$SRC/binutils-local/bin:$PATH" + + cd $SRC/gnu-efi-$version + + # apply patches + patch -N -p1 < $SRC/gnu-efi-3.0.18-clang.patch || true + patch -N -p1 < $SRC/gnu-efi-3.0.18-remove-linux-headers.patch || true + patch -N -p1 < $SRC/gnu-efi-3.0.19-fix-binutils-2.46.patch || true + + # remove -Werror + sed -i 's/-Werror//g' Make.defaults + + # fix CHAR16 typedef for clang — wchar_t causes pointer mismatch + sed -i 's/typedef wchar_t CHAR16/typedef uint16_t CHAR16/' \ + inc/x86_64/efibind.h + + # musl: include clang's own headers first, then system + CPPINCLUDEDIR=$(clang -print-resource-dir 2>/dev/null)/include + export CFLAGS="-nostdinc -isystem $CPPINCLUDEDIR -isystem /usr/include" + + mkdir -p $SRC/gnu-efi-$version/x86_64/lib/runtime + mkdir -p $SRC/gnu-efi-$version/x86_64/lib/x86_64 + mkdir -p $SRC/gnu-efi-$version/x86_64/gnuefi + mkdir -p $SRC/gnu-efi-$version/x86_64/inc + + make -j1 ARCH=x86_64 \ + CC=clang \ + AS="$SRC/binutils-local/bin/as" \ + LD="$SRC/binutils-local/bin/ld" \ + AR=llvm-ar \ + RANLIB=llvm-ranlib \ + OBJCOPY="$SRC/binutils-local/bin/objcopy" \ + SUBDIRS="lib gnuefi inc" \ + all + + make -j1 ARCH=x86_64 \ + CC=clang \ + AS="$SRC/binutils-local/bin/as" \ + LD="$SRC/binutils-local/bin/ld" \ + AR=llvm-ar \ + RANLIB=llvm-ranlib \ + OBJCOPY="$SRC/binutils-local/bin/objcopy" \ + PREFIX=/usr \ + LIBDIR=/usr/lib \ + INSTALLROOT=$PKG \ + SUBDIRS="lib gnuefi inc" \ + install + + # xen and other tools expect efi/pe.h directly + cp $PKG/usr/include/efi/x86_64/pe.h $PKG/usr/include/efi/pe.h +} +signify() { + untrusted comment: public key + RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3 +} + +# vim: filetype=sh diff --git a/gnu-efi/gnu-efi-3.0.18-clang.patch b/gnu-efi/gnu-efi-3.0.18-clang.patch new file mode 100644 index 0000000..7819351 --- /dev/null +++ b/gnu-efi/gnu-efi-3.0.18-clang.patch @@ -0,0 +1,26 @@ +https://bugs.gentoo.org/930538 +https://github.com/ncroxon/gnu-efi/issues/4 +https://github.com/ncroxon/gnu-efi/pull/5 +https://github.com/ncroxon/gnu-efi/commit/a0111e0df165d49cf34fc4f5fae46fc0921a756d + +From a0111e0df165d49cf34fc4f5fae46fc0921a756d Mon Sep 17 00:00:00 2001 +From: Callum Farmer +Date: Wed, 24 Apr 2024 12:04:48 +0100 +Subject: [PATCH] Disable RELRO + +No point having PT_GNU_RELRO as ELF data won't exist when merging into PE32+ file + +Unbreaks lld usage which complains about linker script +Fixes ncroxon/gnu-efi#4 +--- a/Make.defaults ++++ b/Make.defaults +@@ -199,7 +199,7 @@ endif + ARFLAGS := rDv + ASFLAGS += $(ARCH3264) + LDFLAGS += -nostdlib --warn-common --no-undefined --fatal-warnings \ +- --build-id=sha1 -z nocombreloc ++ --build-id=sha1 -z nocombreloc -z norelro + + ifneq ($(ARCH),arm) + export LIBGCC=$(shell $(CC) $(CFLAGS) $(ARCH3264) -print-libgcc-file-name) + diff --git a/gnu-efi/gnu-efi-3.0.18-remove-linux-headers.patch b/gnu-efi/gnu-efi-3.0.18-remove-linux-headers.patch new file mode 100644 index 0000000..e997aae --- /dev/null +++ b/gnu-efi/gnu-efi-3.0.18-remove-linux-headers.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/888829 + +--- a/apps/Makefile ++++ b/apps/Makefile +@@ -41,9 +41,7 @@ + + include $(SRCDIR)/../Make.defaults + +-LINUX_HEADERS = /usr/src/sys/build + APPSDIR = $(LIBDIR)/gnuefi/apps +-CPPFLAGS += -D__KERNEL__ -I$(LINUX_HEADERS)/include + CRTOBJS = $(TOPDIR)/$(ARCH)/gnuefi/crt0-efi-$(ARCH).o + + LDSCRIPT = $(TOPDIR)/gnuefi/elf_$(ARCH)_efi.lds diff --git a/gnu-efi/gnu-efi-3.0.19-fix-binutils-2.46.patch b/gnu-efi/gnu-efi-3.0.19-fix-binutils-2.46.patch new file mode 100644 index 0000000..3499371 --- /dev/null +++ b/gnu-efi/gnu-efi-3.0.19-fix-binutils-2.46.patch @@ -0,0 +1,19 @@ +Backport the fix from gnu-efi 4.0.4 to build with binutils-2.46. + +https://bugs.gentoo.org/970040 + +--- a/apps/Makefile ++++ b/apps/Makefile +@@ -66,9 +66,9 @@ + + ifneq ($(HAVE_EFI_OBJCOPY),) + +-FORMAT := --target efi-app-$(ARCH) +-$(TARGET_BSDRIVERS): FORMAT=--target efi-bsdrv-$(ARCH) +-$(TARGET_RTDRIVERS): FORMAT=--target efi-rtdrv-$(ARCH) ++FORMAT := -O efi-app-$(ARCH) ++$(TARGET_BSDRIVERS): FORMAT=-O efi-bsdrv-$(ARCH) ++$(TARGET_RTDRIVERS): FORMAT=-O efi-rtdrv-$(ARCH) + + else + -- cgit v1.2.3