Also build for armv7
Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
parent
0d85a58186
commit
c9952e9c14
133
0001-Explicitly-place-our-build-id-notes.patch
Normal file
133
0001-Explicitly-place-our-build-id-notes.patch
Normal file
@ -0,0 +1,133 @@
|
||||
From 5652abf9c4ede88d7b5cad25415db4ea530631a3 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 10:15:51 -0400
|
||||
Subject: [PATCH] Explicitly place our build-id notes.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Apparently some linkers will just throw caution to the wind and decide
|
||||
to stick stuff we don't explicitly mention at 0, no matter what else has
|
||||
already explicitly been located there. A debian/ubuntu builder noted:
|
||||
|
||||
gcc -O0 -g3 -fpic -Wall -fshort-wchar -fno-strict-aliasing \
|
||||
-fno-merge-constants -ffreestanding -fno-stack-protector \
|
||||
-fno-stack-check --std=c11 -DCONFIG_aarch64 -D__KERNEL__ \
|
||||
-I/usr/include/efi/ -I/usr/include/efi/aarch64/ \
|
||||
-iquote/«PKGBUILDDIR»/include "-DDEBUGDIR=L\"/\"" \
|
||||
-ffreestanding -I/usr/lib/gcc/aarch64-linux-gnu/4.9/include \
|
||||
-c -o fakeesrt2.o fakeesrt2.c
|
||||
ld -nostdlib --warn-common --no-undefined --fatal-warnings -shared \
|
||||
-Bsymbolic -L/usr/lib -L/usr/lib --build-id=sha1 \
|
||||
/usr/lib/crt0-efi-aarch64.o --defsym=EFI_SUBSYSTEM=0xa \
|
||||
-o fakeesrt2.so fakeesrt2.o -lefi -lgnuefi \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/4.9/libgcc.a \
|
||||
-T elf_aarch64_efi.lds
|
||||
ld: section .note.gnu.build-id loaded at [00000000,00000023] overlaps section .text loaded at [00000000,0000668f]
|
||||
|
||||
This shouldn't be a problem if we explicitly tell it where to put them.
|
||||
I hope.
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
---
|
||||
gnuefi/elf_aarch64_efi.lds | 1 +
|
||||
gnuefi/elf_arm_efi.lds | 1 +
|
||||
gnuefi/elf_ia32_efi.lds | 2 ++
|
||||
gnuefi/elf_ia32_fbsd_efi.lds | 2 ++
|
||||
gnuefi/elf_ia64_efi.lds | 2 ++
|
||||
gnuefi/elf_x86_64_efi.lds | 2 ++
|
||||
gnuefi/elf_x86_64_fbsd_efi.lds | 2 ++
|
||||
7 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/gnuefi/elf_aarch64_efi.lds b/gnuefi/elf_aarch64_efi.lds
|
||||
index 8864757..85f1582 100644
|
||||
--- a/gnuefi/elf_aarch64_efi.lds
|
||||
+++ b/gnuefi/elf_aarch64_efi.lds
|
||||
@@ -38,6 +38,7 @@ SECTIONS
|
||||
. = ALIGN(16);
|
||||
_bss_end = .;
|
||||
}
|
||||
+
|
||||
.rela.dyn : { *(.rela.dyn) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
diff --git a/gnuefi/elf_arm_efi.lds b/gnuefi/elf_arm_efi.lds
|
||||
index 2ca8fc6..665bbdb 100644
|
||||
--- a/gnuefi/elf_arm_efi.lds
|
||||
+++ b/gnuefi/elf_arm_efi.lds
|
||||
@@ -39,6 +39,7 @@ SECTIONS
|
||||
. = ALIGN(16);
|
||||
_bss_end = .;
|
||||
}
|
||||
+
|
||||
.rel.dyn : { *(.rel.dyn) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
diff --git a/gnuefi/elf_ia32_efi.lds b/gnuefi/elf_ia32_efi.lds
|
||||
index b164094..6cc4ce1 100644
|
||||
--- a/gnuefi/elf_ia32_efi.lds
|
||||
+++ b/gnuefi/elf_ia32_efi.lds
|
||||
@@ -46,6 +46,8 @@ SECTIONS
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
+ .note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
+
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
diff --git a/gnuefi/elf_ia32_fbsd_efi.lds b/gnuefi/elf_ia32_fbsd_efi.lds
|
||||
index 1f56cd7..77d6fad 100644
|
||||
--- a/gnuefi/elf_ia32_fbsd_efi.lds
|
||||
+++ b/gnuefi/elf_ia32_fbsd_efi.lds
|
||||
@@ -46,6 +46,8 @@ SECTIONS
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
+ .note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
+
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
diff --git a/gnuefi/elf_ia64_efi.lds b/gnuefi/elf_ia64_efi.lds
|
||||
index a6ec717..baca962 100644
|
||||
--- a/gnuefi/elf_ia64_efi.lds
|
||||
+++ b/gnuefi/elf_ia64_efi.lds
|
||||
@@ -43,6 +43,8 @@ SECTIONS
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
+ .note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
+
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds
|
||||
index 3862d9f..942d1f3 100644
|
||||
--- a/gnuefi/elf_x86_64_efi.lds
|
||||
+++ b/gnuefi/elf_x86_64_efi.lds
|
||||
@@ -46,6 +46,8 @@ SECTIONS
|
||||
*(COMMON)
|
||||
*(.rel.local)
|
||||
}
|
||||
+ .note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
+
|
||||
_edata = .;
|
||||
_data_size = . - _etext;
|
||||
. = ALIGN(4096);
|
||||
diff --git a/gnuefi/elf_x86_64_fbsd_efi.lds b/gnuefi/elf_x86_64_fbsd_efi.lds
|
||||
index 507fe43..6fd2031 100644
|
||||
--- a/gnuefi/elf_x86_64_fbsd_efi.lds
|
||||
+++ b/gnuefi/elf_x86_64_fbsd_efi.lds
|
||||
@@ -43,6 +43,8 @@ SECTIONS
|
||||
*(COMMON)
|
||||
*(.rel.local)
|
||||
}
|
||||
+ .note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
+
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: Development Libraries and headers for EFI
|
||||
Name: gnu-efi
|
||||
Version: 3.0.3
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Epoch: 1
|
||||
Group: Development/System
|
||||
License: BSD
|
||||
@ -10,6 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
|
||||
BuildRequires: git
|
||||
Source: http://superb-dca2.dl.sourceforge.net/project/gnu-efi/gnu-efi-%{version}.tar.bz2
|
||||
Patch0001: 0001-Explicitly-place-our-build-id-notes.patch
|
||||
|
||||
%define debug_package %{nil}
|
||||
|
||||
@ -93,6 +94,9 @@ rm -rf %{buildroot}
|
||||
%attr(0644,root,root) /boot/efi/EFI/%{efidir}/*.efi
|
||||
|
||||
%changelog
|
||||
* Tue Feb 23 2016 Peter Jones <pjones@redhat.com> - 3.0.3-2
|
||||
- We still need build-id patches in some places.
|
||||
|
||||
* Mon Feb 22 2016 Peter Jones <pjones@redhat.com> - 3.0.3-1
|
||||
- Rebase to 3.0.3
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user