commit:     7c0cb0a875021f18b06ab03e85e5163f773830eb
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 26 17:18:58 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jan 26 17:18:58 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c0cb0a8

sys-apps/systemd: fix build with gcc 10

Package-Manager: Portage-2.3.85_p2, Repoman-2.3.20_p36
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 sys-apps/systemd/files/244-efi-gcc-10.patch | 40 +++++++++++++++++++++++++++++
 sys-apps/systemd/systemd-244.ebuild         |  1 +
 2 files changed, 41 insertions(+)

diff --git a/sys-apps/systemd/files/244-efi-gcc-10.patch 
b/sys-apps/systemd/files/244-efi-gcc-10.patch
new file mode 100644
index 00000000000..ce37ac300be
--- /dev/null
+++ b/sys-apps/systemd/files/244-efi-gcc-10.patch
@@ -0,0 +1,40 @@
+From 2c3ab079560664926189d5135b08eccc9797ab9e Mon Sep 17 00:00:00 2001
+From: Susant Sahani <ssah...@vmware.com>
+Date: Sat, 25 Jan 2020 11:30:08 +0100
+Subject: [PATCH] efi: fix build.
+
+```
+ninja -C build
+ninja: Entering directory `build'
+[29/101] Generating systemd_boot.so with a custom command.
+FAILED: src/boot/efi/systemd_boot.so
+/usr/bin/ld -o src/boot/efi/systemd_boot.so -T 
/usr/lib64/gnuefi/elf_x64_efi.lds -shared -Bsymbolic -nostdlib -znocombreloc -L 
/usr/lib64 /usr/lib64/gnuefi/crt0-efi-x64.o src/boot/efi/disk.c.o 
src/boot/efi/graphics.c.o src/boot/efi/measure.c.o src/boot/efi/pe.c.o 
src/boot/efi/util.c.o src/boot/efi/boot.c.o src/boot/efi/console.c.o 
src/boot/efi/crc32.c.o src/boot/efi/random-seed.c.o src/boot/efi/sha256.c.o 
src/boot/efi/shim.c.o -lefi -lgnuefi 
/usr/lib/gcc/x86_64-redhat-linux/10/libgcc.a
+/usr/bin/ld: 
src/boot/efi/graphics.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
multiple definition of `loader_guid'; 
src/boot/efi/disk.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
first defined here
+/usr/bin/ld: 
src/boot/efi/pe.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
multiple definition of `loader_guid'; 
src/boot/efi/disk.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
first defined here
+/usr/bin/ld: 
src/boot/efi/util.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
multiple definition of `loader_guid'; 
src/boot/efi/disk.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
first defined here
+/usr/bin/ld: 
src/boot/efi/boot.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
multiple definition of `loader_guid'; 
src/boot/efi/disk.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
first defined here
+/usr/bin/ld: 
src/boot/efi/console.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
multiple definition of `loader_guid'; 
src/boot/efi/disk.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
first defined here
+/usr/bin/ld: 
src/boot/efi/random-seed.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58:
 multiple definition of `loader_guid'; 
src/boot/efi/disk.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
first defined here
+/usr/bin/ld: 
src/boot/efi/shim.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
multiple definition of `loader_guid'; 
src/boot/efi/disk.c.o:/home/sus/tt/systemd/build/../src/boot/efi/util.h:58: 
first defined here
+[31/101] Generating stub.c.o with a custom command.
+ninja: build stopped: subcommand failed.
+make: *** [Makefile:2: all] Error 1
+
+```
+---
+ src/boot/efi/util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/boot/efi/util.h b/src/boot/efi/util.h
+index 8518dfde77e..b13f22476c6 100644
+--- a/src/boot/efi/util.h
++++ b/src/boot/efi/util.h
+@@ -55,7 +55,7 @@ static inline void FileHandleClosep(EFI_FILE_HANDLE *handle) 
{
+         uefi_call_wrapper((*handle)->Close, 1, *handle);
+ }
+ 
+-const EFI_GUID loader_guid;
++extern const EFI_GUID loader_guid;
+ 
+ #define UINTN_MAX (~(UINTN)0)
+ #define INTN_MAX ((INTN)(UINTN_MAX>>1))

diff --git a/sys-apps/systemd/systemd-244.ebuild 
b/sys-apps/systemd/systemd-244.ebuild
index daed59e210c..948689867c8 100644
--- a/sys-apps/systemd/systemd-244.ebuild
+++ b/sys-apps/systemd/systemd-244.ebuild
@@ -185,6 +185,7 @@ src_prepare() {
 
        # Add local patches here
        PATCHES+=(
+               "${FILESDIR}"/244-efi-gcc-10.patch
        )
 
        if ! use vanilla; then

Reply via email to