SHA256
1
0
forked from pool/gnu-efi

Compare commits

...

2 Commits

Author SHA256 Message Date
Ana Guerrero
89354a4707 Accepting request 1231643 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1231643
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnu-efi?expand=0&rev=37
2024-12-18 19:08:53 +00:00
Raymund Will
c83a44cf49 - Split into apps and devel packages
- Remove rpmlintrc: All errors are now fixed
- Update to gnu-efi 4.0.0:
  * Add MP Services Protocol Support
  * Add some more pkgconfig variables
  * Replace 'Copright' with 'Copyright'
  * Add clear documentation for building and packaging
  * Align CRT0 exit function naming
  * Now built and verified using GitHub Actions
  * Fix SetMem/CopyMem again
  * Move ReallocatePool/CompareGuid/CopyMem to EDK2 ABI
  * Add non-objcopy CRT0/LDS for ARM64/RISCV64/IA32
- Remove gnu-efi-bsc1182057-support-sbat-section.patch:
  * no longer needed; fwupd-efi has been fixed upstream
    (by me)

OBS-URL: https://build.opensuse.org/package/show/Base:System/gnu-efi?expand=0&rev=51
2024-12-17 08:22:15 +00:00
6 changed files with 75 additions and 125 deletions

BIN
gnu-efi-3.0.15.tar.bz2 (Stored with Git LFS)

Binary file not shown.

3
gnu-efi-4.0.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2e5dfd25e7fc0cd2027d75dc2517b4c74d94f801ff4784eca557ac1b9835899
size 228852

View File

@ -1,96 +0,0 @@
From fb52c3207282f1b8b5ca2f445210bbd00ac8f42a Mon Sep 17 00:00:00 2001
From: Gary Lin <glin@suse.com>
Date: Fri, 12 Mar 2021 15:35:08 +0800
Subject: [PATCH 1/2] Update linker scripts to add .sbat section
Signed-off-by: Gary Lin <glin@suse.com>
---
gnuefi/elf_aarch64_efi.lds | 9 +++++++++
gnuefi/elf_arm_efi.lds | 9 +++++++++
gnuefi/elf_x86_64_efi.lds | 10 ++++++++++
3 files changed, 28 insertions(+)
diff --git a/gnuefi/elf_aarch64_efi.lds b/gnuefi/elf_aarch64_efi.lds
index 836d982..1ddec27 100644
--- a/gnuefi/elf_aarch64_efi.lds
+++ b/gnuefi/elf_aarch64_efi.lds
@@ -46,6 +46,15 @@ SECTIONS
. = ALIGN(512);
_edata = .;
_data_size = . - _data;
+ . = ALIGN(4096);
+ .sbat :
+ {
+ _sbat = .;
+ *(.sbat)
+ *(.sbat.*)
+ }
+ _esbat = .;
+ _sbat_size = . - _sbat;
. = ALIGN(4096);
.dynsym : { *(.dynsym) }
diff --git a/gnuefi/elf_arm_efi.lds b/gnuefi/elf_arm_efi.lds
index 665bbdb..d47a750 100644
--- a/gnuefi/elf_arm_efi.lds
+++ b/gnuefi/elf_arm_efi.lds
@@ -46,6 +46,15 @@ SECTIONS
.rel.data : { *(.rel.data) *(.rel.data*) }
_edata = .;
_data_size = . - _etext;
+ . = ALIGN(4096);
+ .sbat :
+ {
+ _sbat = .;
+ *(.sbat)
+ *(.sbat.*)
+ }
+ _esbat = .;
+ _sbat_size = . - _sbat;
. = ALIGN(4096);
.dynsym : { *(.dynsym) }
diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds
index 7be5902..fad1939 100644
--- a/gnuefi/elf_x86_64_efi.lds
+++ b/gnuefi/elf_x86_64_efi.lds
@@ -61,6 +61,16 @@ SECTIONS
*(.rela.got)
*(.rela.stab)
}
+ . = ALIGN(4096);
+ .sbat :
+ {
+ _sbat = .;
+ *(.sbat)
+ *(.sbat.*)
+ }
+ _esbat = .;
+ _sbat_size = . - _sbat;
+
. = ALIGN(4096);
.dynsym : { *(.dynsym) }
. = ALIGN(4096);
--- a/gnuefi/elf_ia32_efi.lds
+++ b/gnuefi/elf_ia32_efi.lds
@@ -72,6 +72,16 @@ SECTIONS
*(.reloc)
}
. = ALIGN(4096);
+ .sbat :
+ {
+ _sbat = .;
+ *(.sbat)
+ *(.sbat.*)
+ }
+ _esbat = .;
+ _sbat_size = . - _sbat;
+
+ . = ALIGN(4096);
.dynsym : { *(.dynsym) }
. = ALIGN(4096);
.dynstr : { *(.dynstr) }
--
2.29.2

View File

@ -1,4 +0,0 @@
addFilter(".*devel-file-in-non-devel-package.*")
addFilter(".*static-library-without-debuginfo.*")
addFilter(".*source-or-patch-not-compressed.*")
addFilter(".*source-or-patch-not-bzipped.*")

View File

@ -1,3 +1,40 @@
-------------------------------------------------------------------
Sun Dec 8 15:28:22 UTC 2024 - Callum Farmer <gmbr3@opensuse.org>
- Split into apps and devel packages
- Remove rpmlintrc: All errors are now fixed
-------------------------------------------------------------------
Tue Dec 3 13:58:03 UTC 2024 - Callum Farmer <gmbr3@opensuse.org>
- Update to gnu-efi 4.0.0:
* Add MP Services Protocol Support
* Add some more pkgconfig variables
* Replace 'Copright' with 'Copyright'
* Add clear documentation for building and packaging
* Align CRT0 exit function naming
* Now built and verified using GitHub Actions
* Fix SetMem/CopyMem again
* Move ReallocatePool/CompareGuid/CopyMem to EDK2 ABI
* Add non-objcopy CRT0/LDS for ARM64/RISCV64/IA32
- Remove gnu-efi-bsc1182057-support-sbat-section.patch:
* no longer needed; fwupd-efi has been fixed upstream
(by me)
-------------------------------------------------------------------
Thu Jun 29 14:18:10 UTC 2023 - Callum Farmer <gmbr3@opensuse.org>
- Update to gnu-efi 3.0.18:
* Add pkgconfig file
* Make ELF constructors and destructors work
* Make CHAR8 and similar be defined the same way edk2 does it
* Switch to -fPIE
* Merge all rela sections into one
- gnu-efi-bsc1182057-support-sbat-section.patch:
* Restore ARM32 SBAT crt0 patch as binutils doesn't actually
support it
* Add SBAT support for RISC-V 64
-------------------------------------------------------------------
Wed Oct 5 13:08:31 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>

View File

@ -1,7 +1,7 @@
#
# spec file for package gnu-efi
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,15 +17,13 @@
Name: gnu-efi
Version: 3.0.15
Version: 4.0.0
Release: 0
Summary: Library for EFI Applications
License: BSD-3-Clause AND GPL-2.0-or-later
Group: Development/Libraries/Other
URL: https://sourceforge.net/projects/gnu-efi
Source0: https://download.sourceforge.net/project/gnu-efi/gnu-efi-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
Patch0: gnu-efi-bsc1182057-support-sbat-section.patch
URL: https://github.com/ncroxon/gnu-efi
Source0: https://github.com/ncroxon/gnu-efi/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: kernel-source
ExclusiveArch: ia64 %{ix86} x86_64 aarch64 %{arm} riscv64
@ -34,33 +32,48 @@ Library to develop EFI applications for IA-64 (IPF), IA-32 (x86), x86_64,
ARM-32, and ARM-64 platforms using the GNU toolchain and the EFI development
environment.
%package devel
Summary: Development files for gnu-efi
Group: Development/Libraries/Other
Provides: gnu-efi = %{version}-%{release}
Obsoletes: gnu-efi < %{version}-%{release}
%description devel
A package containing the development files for gnu-efi,
which is used for developing EFI applications using the GNU toolchain
%package apps
Summary: Example and test files for gnu-efi
Group: Development/Tools/Other
%description apps
A package containing the example and UEFI testing files created by gnu-efi
%prep
%autosetup -p1
%build
##########################
## DO NOT ADD RPM OPT FLAGS! THIS DOES NOT BUILD AGAINST GLIBC
##
##########################
# Trick spec-cleaner in avoiding a make_build expansion
%{_bindir}/make %{?_smp_mflags} LINUX_HEADERS=%{_prefix}/src/linux
# DO NOT ADD RPM OPTFLAGS! UEFI is freestanding only!!
%make_build LINUX_HEADERS=%{_prefix}/src/linux LIBDIR=%{_libdir} PREFIX=%{_prefix}
%install
make install INSTALLROOT=%{buildroot} LIBDIR=%{_libdir} PREFIX=%{_prefix}
%if 0
mkdir %{buildroot}%{_libdir}/%{name}
cp -p apps/*.efi %{buildroot}%{_libdir}/%{name}
%endif
%make_install INSTALLROOT=%{buildroot} LIBDIR=%{_libdir} PREFIX=%{_prefix}
%files
%doc README.*
%files devel
%{_includedir}/efi
%{_libdir}/crt0-efi-*.o
%{_libdir}/elf_*_efi.lds
%ifarch %{ix86} riscv64 aarch64
%{_libdir}/elf_*_efi_local.lds
%endif
%{_libdir}/libefi.a
%{_libdir}/libgnuefi.a
%if 0
%{_libdir}/%{name}
%endif
%{_libdir}/pkgconfig/%{name}.pc
%files apps
%doc README.md SECURITY.md docs/*
%license LICENSE licenses/*
%{_libdir}/gnuefi
%changelog