[gentoo-commits] repo/gentoo:master commit in: sys-boot/gnu-efi/, sys-boot/gnu-efi/files/
commit: a27c3eccc447347e96c31fd03795f3ee354c2f65 Author: Viorel Munteanu gentoo org> AuthorDate: Fri Aug 2 04:49:29 2024 + Commit: Viorel Munteanu gentoo org> CommitDate: Fri Aug 2 04:53:06 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a27c3ecc sys-boot/gnu-efi: fix building efi apps Remove an include directory missing on most systems. Closes: https://bugs.gentoo.org/29 Signed-off-by: Viorel Munteanu gentoo.org> .../files/gnu-efi-3.0.18-remove-linux-headers.patch| 14 ++ sys-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild | 1 + 2 files changed, 15 insertions(+) diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0.18-remove-linux-headers.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0.18-remove-linux-headers.patch new file mode 100644 index ..e997aae58836 --- /dev/null +++ b/sys-boot/gnu-efi/files/gnu-efi-3.0.18-remove-linux-headers.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/29 + +--- 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/sys-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild b/sys-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild index 3db0d1f5144e..5e1f208f9dba 100644 --- a/sys-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild +++ b/sys-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild @@ -33,6 +33,7 @@ RESTRICT="strip" PATCHES=( "${FILESDIR}"/${P}-clang.patch + "${FILESDIR}"/${PN}-3.0.18-remove-linux-headers.patch ) check_and_set_objcopy() {
[gentoo-commits] repo/gentoo:master commit in: sys-boot/gnu-efi/, sys-boot/gnu-efi/files/
commit: 57927b014a90f5719a141e97596f9c26ad1ed9c5 Author: Viorel Munteanu gentoo org> AuthorDate: Mon Jul 29 06:03:36 2024 + Commit: Viorel Munteanu gentoo org> CommitDate: Mon Jul 29 06:04:30 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57927b01 sys-boot/gnu-efi: drop 3.0.18-r1 Signed-off-by: Viorel Munteanu gentoo.org> sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch | 126 - sys-boot/gnu-efi/gnu-efi-3.0.18-r1.ebuild | 90 --- 2 files changed, 216 deletions(-) diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch deleted file mode 100644 index d198426c4635.. --- a/sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch +++ /dev/null @@ -1,126 +0,0 @@ -https://github.com/ncroxon/gnu-efi/commit/f5bb548df572c992fe3389a586bec3a19b092c18 -https://github.com/ncroxon/gnu-efi/commit/6b9dae0bef0fab82230a6672eaadd38d739e3e1e - -From f5bb548df572c992fe3389a586bec3a19b092c18 Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Thu, 25 Apr 2024 15:27:26 +0100 -Subject: [PATCH] Align RTLIB CopyMem/SetMem with normal versions - -Looks like 699e452654df6de53890ae994756b0d47237e3ac broke rEFInd -(https://sourceforge.net/p/refind/code/ci/189e405630293445df8565e36b831bba56e87093/) a/inc/efirtlib.h -+++ b/inc/efirtlib.h -@@ -45,6 +45,7 @@ RtZeroMem ( - ); - - VOID -+EFIAPI - RUNTIMEFUNCTION - RtSetMem ( - IN VOID *Buffer, -@@ -53,10 +54,11 @@ RtSetMem ( - ); - - VOID -+EFIAPI - RUNTIMEFUNCTION - RtCopyMem ( - IN VOID *Dest, --IN CONST VOID *Src, -+IN VOID *Src, - IN UINTNlen - ); - a/lib/runtime/efirtlib.c -+++ b/lib/runtime/efirtlib.c -@@ -42,6 +42,7 @@ RtZeroMem ( - #pragma RUNTIME_CODE(RtSetMem) - #endif - VOID -+EFIAPI - RUNTIMEFUNCTION - RtSetMem ( - IN VOID *Buffer, -@@ -61,10 +62,11 @@ RtSetMem ( - #pragma RUNTIME_CODE(RtCopyMem) - #endif - VOID -+EFIAPI - RUNTIMEFUNCTION - RtCopyMem ( - IN VOID*Dest, --IN CONST VOID *Src, -+IN VOID *Src, - IN UINTN len - ) - { - -From 6b9dae0bef0fab82230a6672eaadd38d739e3e1e Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Sat, 27 Apr 2024 13:14:28 +0100 -Subject: [PATCH] Fixup string functions for new CopyMem - -Signed-off-by: Callum Farmer a/lib/runtime/rtstr.c -+++ b/lib/runtime/rtstr.c -@@ -69,10 +69,13 @@ RtStrnCpy ( - ) - // copy strings - { -+CHAR16 CopySrc = *Src; -+CHAR16 *PCopySrc = &CopySrc; -+ - UINTN Size = RtStrnLen(Src, Len); - if (Size != Len) - RtSetMem(Dest + Size, (Len - Size) * sizeof(CHAR16), '\0'); --RtCopyMem(Dest, Src, Size * sizeof(CHAR16)); -+RtCopyMem(Dest, PCopySrc, Size * sizeof(CHAR16)); - } - - #ifndef __GNUC__ -@@ -105,10 +108,13 @@ RtStpnCpy ( - ) - // copy strings - { -+CHAR16 CopySrc = *Src; -+CHAR16 *PCopySrc = &CopySrc; -+ - UINTN Size = RtStrnLen(Src, Len); - if (Size != Len) - RtSetMem(Dest + Size, (Len - Size) * sizeof(CHAR16), '\0'); --RtCopyMem(Dest, Src, Size * sizeof(CHAR16)); -+RtCopyMem(Dest, PCopySrc, Size * sizeof(CHAR16)); - return Dest + Size; - } - -@@ -137,10 +143,12 @@ RtStrnCat ( - ) - { - UINTN DestSize, Size; -+CHAR16 CopySrc = *Src; -+CHAR16 *PCopySrc = &CopySrc; - - DestSize = RtStrLen(Dest); - Size = RtStrnLen(Src, Len); --RtCopyMem(Dest + DestSize, Src, Size * sizeof(CHAR16)); -+RtCopyMem(Dest + DestSize, PCopySrc, Size * sizeof(CHAR16)); - Dest[DestSize + Size] = '\0'; - } - a/lib/str.c -+++ b/lib/str.c -@@ -201,11 +201,13 @@ StrDuplicate ( - { - CHAR16 *Dest; - UINTN Size; -+CHAR16 CopySrc = *Src; -+CHAR16 *PCopySrc = &CopySrc; - - Size = StrSize(Src); - Dest = AllocatePool (Size); - if (Dest) { --CopyMem (Dest, (void *)Src, Size); -+CopyMem (Dest, PCopySrc, Size); - } - return Dest; - } diff --git a/sys-boot/gnu-efi/gnu-efi-3.0.18-r1.ebuild b/sys-boot/gnu-efi/gnu-efi-3.0.18-r1.ebuild deleted file mode 100644 index 4261653d9664.. --- a/sys-boot/gnu-efi/gnu-efi-3.0.18-r1.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 2004-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Library for build EFI Applications" -HOMEPAGE="https://sourceforge.net/projects/gnu-efi/"; -SRC_URI="https://downloads.sourceforge.net/gnu-efi/${P}.tar.bz2"; - -# inc/, lib/ dirs (README.efilib) -# - BSD-2 -# gnuefi dir: -# - BSD (3-cluase): crt0-efi-ia32.S -# - GPL-2+ : setjmp_ia32.S -LICENSE="GPL-2+ BSD BSD-2" -SLOT="0" -KEYWORDS="-* amd64 arm arm64 ~ia64 ~riscv x86" -IUSE="abi_x86_32 abi_x86_64 custom-cflags" -REQUIRED_USE=" - amd64? ( || ( abi_x86_32 abi_x86_64 ) ) - x86? ( || ( abi_x86_32 abi_x86_64 ) ) -" - -# These objects get run early boot (i.
[gentoo-commits] repo/gentoo:master commit in: sys-boot/gnu-efi/, sys-boot/gnu-efi/files/
commit: ebaac45475e2dbf861838769c38459dd6275d1b6 Author: Sam James gentoo org> AuthorDate: Fri May 3 05:00:53 2024 + Commit: Sam James gentoo org> CommitDate: Fri May 3 05:05:43 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebaac454 sys-boot/gnu-efi: fix Clang build, backport refind fixes Closes: https://bugs.gentoo.org/930538 Signed-off-by: Sam James gentoo.org> sys-boot/gnu-efi/files/gnu-efi-3.0.18-clang.patch | 26 + sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch | 126 + sys-boot/gnu-efi/gnu-efi-3.0.18-r1.ebuild | 90 +++ 3 files changed, 242 insertions(+) diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0.18-clang.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0.18-clang.patch new file mode 100644 index ..7819351928c5 --- /dev/null +++ b/sys-boot/gnu-efi/files/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/sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch new file mode 100644 index ..d198426c4635 --- /dev/null +++ b/sys-boot/gnu-efi/files/gnu-efi-3.0.18-refind.patch @@ -0,0 +1,126 @@ +https://github.com/ncroxon/gnu-efi/commit/f5bb548df572c992fe3389a586bec3a19b092c18 +https://github.com/ncroxon/gnu-efi/commit/6b9dae0bef0fab82230a6672eaadd38d739e3e1e + +From f5bb548df572c992fe3389a586bec3a19b092c18 Mon Sep 17 00:00:00 2001 +From: Callum Farmer +Date: Thu, 25 Apr 2024 15:27:26 +0100 +Subject: [PATCH] Align RTLIB CopyMem/SetMem with normal versions + +Looks like 699e452654df6de53890ae994756b0d47237e3ac broke rEFInd +(https://sourceforge.net/p/refind/code/ci/189e405630293445df8565e36b831bba56e87093/) +--- a/inc/efirtlib.h b/inc/efirtlib.h +@@ -45,6 +45,7 @@ RtZeroMem ( + ); + + VOID ++EFIAPI + RUNTIMEFUNCTION + RtSetMem ( + IN VOID *Buffer, +@@ -53,10 +54,11 @@ RtSetMem ( + ); + + VOID ++EFIAPI + RUNTIMEFUNCTION + RtCopyMem ( + IN VOID *Dest, +-IN CONST VOID *Src, ++IN VOID *Src, + IN UINTNlen + ); + +--- a/lib/runtime/efirtlib.c b/lib/runtime/efirtlib.c +@@ -42,6 +42,7 @@ RtZeroMem ( + #pragma RUNTIME_CODE(RtSetMem) + #endif + VOID ++EFIAPI + RUNTIMEFUNCTION + RtSetMem ( + IN VOID *Buffer, +@@ -61,10 +62,11 @@ RtSetMem ( + #pragma RUNTIME_CODE(RtCopyMem) + #endif + VOID ++EFIAPI + RUNTIMEFUNCTION + RtCopyMem ( + IN VOID*Dest, +-IN CONST VOID *Src, ++IN VOID *Src, + IN UINTN len + ) + { + +From 6b9dae0bef0fab82230a6672eaadd38d739e3e1e Mon Sep 17 00:00:00 2001 +From: Callum Farmer +Date: Sat, 27 Apr 2024 13:14:28 +0100 +Subject: [PATCH] Fixup string functions for new CopyMem + +Signed-off-by: Callum Farmer +--- a/lib/runtime/rtstr.c b/lib/runtime/rtstr.c +@@ -69,10 +69,13 @@ RtStrnCpy ( + ) + // copy strings + { ++CHAR16 CopySrc = *Src; ++CHAR16 *PCopySrc = &CopySrc; ++ + UINTN Size = RtStrnLen(Src, Len); + if (Size != Len) + RtSetMem(Dest + Size, (Len - Size) * sizeof(CHAR16), '\0'); +-RtCopyMem(Dest, Src, Size * sizeof(CHAR16)); ++RtCopyMem(Dest, PCopySrc, Size * sizeof(CHAR16)); + } + + #ifndef __GNUC__ +@@ -105,10 +108,13 @@ RtStpnCpy ( + ) + // copy strings + { ++CHAR16 CopySrc = *Src; ++CHAR16 *PCopySrc = &CopySrc; ++ + UINTN Size = RtStrnLen(Src, Len); + if (Size != Len) + RtSetMem(Dest + Size, (Len - Size) * sizeof(CHAR16), '\0'); +-RtCopyMem(Dest, Src, Size * sizeof(CHAR16)); ++RtCopyMem(Dest, PCopySrc, Size * sizeof(CHAR16)); + return Dest + Size; + } + +@@ -137,10 +143,12 @@ RtStrnCat ( + ) + { + UINTN DestSize, Size; ++CHAR16 CopySrc = *Src; ++CHAR16 *PCopySrc = &CopySrc; + + DestSize = RtStrLen(Dest); + Size = RtStrnLen(Src, Len); +-RtCopyMem(Dest + DestSize, Src, Size * sizeof(CHAR16)); ++RtCopyMem(Dest + DestSize, PCopySrc, Size * sizeof(CHAR16)); + Dest[DestSize + Size] = '\0'; + } + +--- a/lib/str.c b/lib/str.c +@@ -201,11 +201,13 @@ StrDuplicate ( + {
[gentoo-commits] repo/gentoo:master commit in: sys-boot/gnu-efi/, sys-boot/gnu-efi/files/
commit: 610d14c7620422c7dc21e13808db1c3a8faf15e9 Author: Peter Levine gmail com> AuthorDate: Wed Sep 25 07:26:23 2019 + Commit: Mike Gilbert gentoo org> CommitDate: Thu Oct 3 21:02:05 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=610d14c7 sys-boot/gnu-efi: Fix building with clang-9 Fix the build to emit valid CFLAGS for clang. Closes: https://bugs.gentoo.org/695612 Closes: https://github.com/gentoo/gentoo/pull/13033 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Peter Levine gmail.com> Signed-off-by: Mike Gilbert gentoo.org> .../gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch | 19 +++ sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch new file mode 100644 index 000..0e4ec7d77b0 --- /dev/null +++ b/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch @@ -0,0 +1,19 @@ +Bug: https://bugs.gentoo.org/695612 +Upstream: https://sourceforge.net/p/gnu-efi/patches/70/ + +--- a/Make.defaults b/Make.defaults +@@ -110,10 +110,10 @@ + || ( [ $(GCCVERSION) -eq "4" ] \ + && [ $(GCCMINOR) -ge "7" ] ) ) \ + && echo 1) +- ifeq ($(GCCNEWENOUGH),1) +-CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 +- else ifeq ($(USING_CLANG),clang) ++ ifeq ($(USING_CLANG),clang) + CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 ++ else ifeq ($(GCCNEWENOUGH),1) ++CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 + endif + + CFLAGS += -mno-red-zone diff --git a/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild b/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild index fa23e18d91d..57a9ed662e5 100644 --- a/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild +++ b/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild @@ -24,9 +24,11 @@ IUSE="abi_x86_32 abi_x86_64 custom-cflags" QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" RESTRICT="strip" +PATCHES=( "${FILESDIR}"/${PN}-3.0.9-fix-clang-build.patch ) + src_prepare() { - sed -i -e "s/-Werror//" Make.defaults || die default + sed -i -e "s/-Werror//" Make.defaults || die } efimake() {