mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
extra/chromium: fix
This commit is contained in:
parent
871a74bcf8
commit
d4d6719809
4 changed files with 510 additions and 39 deletions
|
@ -1,4 +1,4 @@
|
||||||
From bf98ba5c122134948dd5da3bb18cdc7e7761023d Mon Sep 17 00:00:00 2001
|
From 2c9098974b0be2d79c86faada645bbffbba2d989 Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
Date: Thu, 18 Feb 2021 19:35:58 -0700
|
Date: Thu, 18 Feb 2021 19:35:58 -0700
|
||||||
Subject: [PATCH 1/3] widevine support for arm
|
Subject: [PATCH 1/3] widevine support for arm
|
||||||
|
@ -21,5 +21,5 @@ index 1a833ae57589c..42164ca5416eb 100644
|
||||||
(target_os == "win" && (target_cpu == "x86" || target_cpu == "x64"))
|
(target_os == "win" && (target_cpu == "x86" || target_cpu == "x64"))
|
||||||
|
|
||||||
--
|
--
|
||||||
2.32.0
|
2.35.1
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 4165b45646bca0977b80e0aa7b7645fbb70e654f Mon Sep 17 00:00:00 2001
|
From d4bc35d92065cbd407e061ecaca7c5daed71e7b6 Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
Date: Tue, 2 Feb 2021 13:58:59 -0700
|
Date: Tue, 2 Feb 2021 13:58:59 -0700
|
||||||
Subject: [PATCH 2/3] Run blink bindings generation single threaded
|
Subject: [PATCH 2/3] Run blink bindings generation single threaded
|
||||||
|
@ -9,7 +9,7 @@ When not single threaded this process will eat all the RAM.
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/bindings/BUILD.gn b/third_party/blink/renderer/bindings/BUILD.gn
|
diff --git a/third_party/blink/renderer/bindings/BUILD.gn b/third_party/blink/renderer/bindings/BUILD.gn
|
||||||
index 30017570a1391..f88e5906f23f4 100644
|
index 3b474c47dc7ce..e7787535882f9 100644
|
||||||
--- a/third_party/blink/renderer/bindings/BUILD.gn
|
--- a/third_party/blink/renderer/bindings/BUILD.gn
|
||||||
+++ b/third_party/blink/renderer/bindings/BUILD.gn
|
+++ b/third_party/blink/renderer/bindings/BUILD.gn
|
||||||
@@ -148,6 +148,7 @@ template("generate_bindings") {
|
@@ -148,6 +148,7 @@ template("generate_bindings") {
|
||||||
|
@ -21,5 +21,5 @@ index 30017570a1391..f88e5906f23f4 100644
|
||||||
rebase_path(web_idl_database, root_build_dir),
|
rebase_path(web_idl_database, root_build_dir),
|
||||||
"--root_src_dir",
|
"--root_src_dir",
|
||||||
--
|
--
|
||||||
2.32.0
|
2.35.1
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,157 @@
|
||||||
From 7e18463de3934080ab42a764b453cca010fb929f Mon Sep 17 00:00:00 2001
|
From 9f77fc4f9b6a7b205d8522422f0d43c72a6390ea Mon Sep 17 00:00:00 2001
|
||||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
Date: Wed, 21 Jul 2021 21:37:31 -0600
|
Date: Wed, 21 Jul 2021 21:37:31 -0600
|
||||||
Subject: [PATCH 3/3] Fix eu-strip build for newer GCC
|
Subject: [PATCH 3/3] Fix eu-strip build for newer GCC
|
||||||
|
|
||||||
---
|
---
|
||||||
|
.../third_party/eu-strip/0001-gcc-fixes.patch | 642 ++++++++++++++++++
|
||||||
buildtools/third_party/eu-strip/build.sh | 3 +-
|
buildtools/third_party/eu-strip/build.sh | 3 +-
|
||||||
.../third_party/eu-strip/gcc-fixes.patch | 171 ++++++++++++++++++
|
2 files changed, 644 insertions(+), 1 deletion(-)
|
||||||
2 files changed, 173 insertions(+), 1 deletion(-)
|
create mode 100644 buildtools/third_party/eu-strip/0001-gcc-fixes.patch
|
||||||
create mode 100644 buildtools/third_party/eu-strip/gcc-fixes.patch
|
|
||||||
|
|
||||||
diff --git a/buildtools/third_party/eu-strip/build.sh b/buildtools/third_party/eu-strip/build.sh
|
diff --git a/buildtools/third_party/eu-strip/0001-gcc-fixes.patch b/buildtools/third_party/eu-strip/0001-gcc-fixes.patch
|
||||||
index 86f2b67f6bbd1..722ebcf46f061 100755
|
|
||||||
--- a/buildtools/third_party/eu-strip/build.sh
|
|
||||||
+++ b/buildtools/third_party/eu-strip/build.sh
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
#!/bin/sh -xe
|
|
||||||
|
|
||||||
rm -rf elfutils
|
|
||||||
-git clone git://sourceware.org/git/elfutils.git
|
|
||||||
+git clone https://sourceware.org/git/elfutils.git
|
|
||||||
cd elfutils
|
|
||||||
git checkout elfutils-0.170
|
|
||||||
autoheader
|
|
||||||
@@ -9,6 +9,7 @@ aclocal
|
|
||||||
autoconf
|
|
||||||
automake --add-missing
|
|
||||||
patch -p1 < ../fix-elf-size.patch
|
|
||||||
+patch -p1 < ../gcc-fixes.patch
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
../configure --enable-maintainer-mode
|
|
||||||
diff --git a/buildtools/third_party/eu-strip/gcc-fixes.patch b/buildtools/third_party/eu-strip/gcc-fixes.patch
|
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000..fdb84dffd9364
|
index 0000000000000..d6e49fc5260e6
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/buildtools/third_party/eu-strip/gcc-fixes.patch
|
+++ b/buildtools/third_party/eu-strip/0001-gcc-fixes.patch
|
||||||
@@ -0,0 +1,171 @@
|
@@ -0,0 +1,642 @@
|
||||||
|
+From 9402a72cccb52ec4b24d8ec3221ab2de39d40ab4 Mon Sep 17 00:00:00 2001
|
||||||
|
+From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
+Date: Thu, 17 Feb 2022 19:58:58 -0700
|
||||||
|
+Subject: [PATCH] gcc fixes
|
||||||
|
+
|
||||||
|
+---
|
||||||
|
+ backends/Makefile.am | 8 ++---
|
||||||
|
+ backends/i386_init.c | 1 -
|
||||||
|
+ backends/i386_syscall.c | 50 ---------------------------
|
||||||
|
+ backends/linux-core-note.c | 2 +-
|
||||||
|
+ backends/ppc64_init.c | 1 -
|
||||||
|
+ backends/ppc_init.c | 1 -
|
||||||
|
+ backends/ppc_syscall.c | 53 -----------------------------
|
||||||
|
+ backends/x86_64_init.c | 1 -
|
||||||
|
+ backends/x86_64_syscall.c | 50 ---------------------------
|
||||||
|
+ libdw/dwarf_frame_register.c | 2 +-
|
||||||
|
+ libdw/libdw.h | 8 +++--
|
||||||
|
+ libebl/Makefile.am | 2 +-
|
||||||
|
+ libebl/ebl-hooks.h | 4 ---
|
||||||
|
+ libebl/ebl_syscall_abi.c | 40 ----------------------
|
||||||
|
+ libebl/eblopenbackend.c | 17 ----------
|
||||||
|
+ libebl/libebl.h | 8 -----
|
||||||
|
+ libelf/libelfP.h | 4 +--
|
||||||
|
+ src/ar.c | 66 +++++++++++++++++++++++++-----------
|
||||||
|
+ tests/addrcfi.c | 2 +-
|
||||||
|
+ 19 files changed, 61 insertions(+), 259 deletions(-)
|
||||||
|
+ delete mode 100644 backends/i386_syscall.c
|
||||||
|
+ delete mode 100644 backends/ppc_syscall.c
|
||||||
|
+ delete mode 100644 backends/x86_64_syscall.c
|
||||||
|
+ delete mode 100644 libebl/ebl_syscall_abi.c
|
||||||
|
+
|
||||||
|
+diff --git a/backends/Makefile.am b/backends/Makefile.am
|
||||||
|
+index 37dc2d20..b554894d 100644
|
||||||
|
+--- a/backends/Makefile.am
|
||||||
|
++++ b/backends/Makefile.am
|
||||||
|
+@@ -48,7 +48,7 @@ libdw = ../libdw/libdw.so
|
||||||
|
+ libeu = ../lib/libeu.a
|
||||||
|
+
|
||||||
|
+ i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
|
||||||
|
+- i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \
|
||||||
|
++ i386_retval.c i386_regs.c i386_auxv.c \
|
||||||
|
+ i386_initreg.c i386_unwind.c
|
||||||
|
+ cpu_i386 = ../libcpu/libcpu_i386.a
|
||||||
|
+ libebl_i386_pic_a_SOURCES = $(i386_SRCS)
|
||||||
|
+@@ -59,7 +59,7 @@ libebl_sh_pic_a_SOURCES = $(sh_SRCS)
|
||||||
|
+ am_libebl_sh_pic_a_OBJECTS = $(sh_SRCS:.c=.os)
|
||||||
|
+
|
||||||
|
+ x86_64_SRCS = x86_64_init.c x86_64_symbol.c x86_64_corenote.c x86_64_cfi.c \
|
||||||
|
+- x86_64_retval.c x86_64_regs.c i386_auxv.c x86_64_syscall.c \
|
||||||
|
++ x86_64_retval.c x86_64_regs.c i386_auxv.c \
|
||||||
|
+ x86_64_initreg.c x86_64_unwind.c x32_corenote.c
|
||||||
|
+ cpu_x86_64 = ../libcpu/libcpu_x86_64.a
|
||||||
|
+ libebl_x86_64_pic_a_SOURCES = $(x86_64_SRCS)
|
||||||
|
+@@ -92,13 +92,13 @@ libebl_sparc_pic_a_SOURCES = $(sparc_SRCS)
|
||||||
|
+ am_libebl_sparc_pic_a_OBJECTS = $(sparc_SRCS:.c=.os)
|
||||||
|
+
|
||||||
|
+ ppc_SRCS = ppc_init.c ppc_symbol.c ppc_retval.c ppc_regs.c \
|
||||||
|
+- ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
|
||||||
|
++ ppc_corenote.c ppc_auxv.c ppc_attrs.c \
|
||||||
|
+ ppc_cfi.c ppc_initreg.c
|
||||||
|
+ libebl_ppc_pic_a_SOURCES = $(ppc_SRCS)
|
||||||
|
+ am_libebl_ppc_pic_a_OBJECTS = $(ppc_SRCS:.c=.os)
|
||||||
|
+
|
||||||
|
+ ppc64_SRCS = ppc64_init.c ppc64_symbol.c ppc64_retval.c \
|
||||||
|
+- ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
|
||||||
|
++ ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c \
|
||||||
|
+ ppc_cfi.c ppc_initreg.c ppc64_unwind.c ppc64_resolve_sym.c
|
||||||
|
+ libebl_ppc64_pic_a_SOURCES = $(ppc64_SRCS)
|
||||||
|
+ am_libebl_ppc64_pic_a_OBJECTS = $(ppc64_SRCS:.c=.os)
|
||||||
|
+diff --git a/backends/i386_init.c b/backends/i386_init.c
|
||||||
|
+index fc1587a9..847a11c0 100644
|
||||||
|
+--- a/backends/i386_init.c
|
||||||
|
++++ b/backends/i386_init.c
|
||||||
|
+@@ -58,7 +58,6 @@ i386_init (Elf *elf __attribute__ ((unused)),
|
||||||
|
+ HOOK (eh, debugscn_p);
|
||||||
|
+ HOOK (eh, return_value_location);
|
||||||
|
+ HOOK (eh, register_info);
|
||||||
|
+- HOOK (eh, syscall_abi);
|
||||||
|
+ HOOK (eh, auxv_info);
|
||||||
|
+ HOOK (eh, disasm);
|
||||||
|
+ HOOK (eh, abi_cfi);
|
||||||
|
+diff --git a/backends/i386_syscall.c b/backends/i386_syscall.c
|
||||||
|
+deleted file mode 100644
|
||||||
|
+index 535dcd86..00000000
|
||||||
|
+--- a/backends/i386_syscall.c
|
||||||
|
++++ /dev/null
|
||||||
|
+@@ -1,50 +0,0 @@
|
||||||
|
+-/* Linux/i386 system call ABI in DWARF register numbers.
|
||||||
|
+- Copyright (C) 2008 Red Hat, Inc.
|
||||||
|
+- This file is part of elfutils.
|
||||||
|
+-
|
||||||
|
+- This file is free software; you can redistribute it and/or modify
|
||||||
|
+- it under the terms of either
|
||||||
|
+-
|
||||||
|
+- * the GNU Lesser General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 3 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or
|
||||||
|
+-
|
||||||
|
+- * the GNU General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 2 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or both in parallel, as here.
|
||||||
|
+-
|
||||||
|
+- elfutils is distributed in the hope that it will be useful, but
|
||||||
|
+- WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
+- General Public License for more details.
|
||||||
|
+-
|
||||||
|
+- You should have received copies of the GNU General Public License and
|
||||||
|
+- the GNU Lesser General Public License along with this program. If
|
||||||
|
+- not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
+-
|
||||||
|
+-#ifdef HAVE_CONFIG_H
|
||||||
|
+-# include <config.h>
|
||||||
|
+-#endif
|
||||||
|
+-
|
||||||
|
+-#define BACKEND i386_
|
||||||
|
+-#include "libebl_CPU.h"
|
||||||
|
+-
|
||||||
|
+-int
|
||||||
|
+-i386_syscall_abi (Ebl *ebl __attribute__ ((unused)),
|
||||||
|
+- int *sp, int *pc, int *callno, int args[6])
|
||||||
|
+-{
|
||||||
|
+- *sp = 4; /* %esp */
|
||||||
|
+- *pc = 8; /* %eip */
|
||||||
|
+- *callno = 0; /* %eax */
|
||||||
|
+- args[0] = 3; /* %ebx */
|
||||||
|
+- args[1] = 1; /* %ecx */
|
||||||
|
+- args[2] = 2; /* %edx */
|
||||||
|
+- args[3] = 6; /* %esi */
|
||||||
|
+- args[4] = 7; /* %edi */
|
||||||
|
+- args[5] = 5; /* %ebp */
|
||||||
|
+- return 0;
|
||||||
|
+-}
|
||||||
+diff --git a/backends/linux-core-note.c b/backends/linux-core-note.c
|
+diff --git a/backends/linux-core-note.c b/backends/linux-core-note.c
|
||||||
+index 67638d70..08282ba4 100644
|
+index 67638d70..08282ba4 100644
|
||||||
+--- a/backends/linux-core-note.c
|
+--- a/backends/linux-core-note.c
|
||||||
|
@ -49,6 +165,324 @@ index 0000000000000..fdb84dffd9364
|
||||||
+ #endif
|
+ #endif
|
||||||
+ ;
|
+ ;
|
||||||
+
|
+
|
||||||
|
+diff --git a/backends/ppc64_init.c b/backends/ppc64_init.c
|
||||||
|
+index e5670338..ec36498c 100644
|
||||||
|
+--- a/backends/ppc64_init.c
|
||||||
|
++++ b/backends/ppc64_init.c
|
||||||
|
+@@ -64,7 +64,6 @@ ppc64_init (Elf *elf __attribute__ ((unused)),
|
||||||
|
+ HOOK (eh, bss_plt_p);
|
||||||
|
+ HOOK (eh, return_value_location);
|
||||||
|
+ HOOK (eh, register_info);
|
||||||
|
+- HOOK (eh, syscall_abi);
|
||||||
|
+ HOOK (eh, core_note);
|
||||||
|
+ HOOK (eh, auxv_info);
|
||||||
|
+ HOOK (eh, check_object_attribute);
|
||||||
|
+diff --git a/backends/ppc_init.c b/backends/ppc_init.c
|
||||||
|
+index aea9f2d7..ab0a00c7 100644
|
||||||
|
+--- a/backends/ppc_init.c
|
||||||
|
++++ b/backends/ppc_init.c
|
||||||
|
+@@ -60,7 +60,6 @@ ppc_init (Elf *elf __attribute__ ((unused)),
|
||||||
|
+ HOOK (eh, bss_plt_p);
|
||||||
|
+ HOOK (eh, return_value_location);
|
||||||
|
+ HOOK (eh, register_info);
|
||||||
|
+- HOOK (eh, syscall_abi);
|
||||||
|
+ HOOK (eh, core_note);
|
||||||
|
+ HOOK (eh, auxv_info);
|
||||||
|
+ HOOK (eh, check_object_attribute);
|
||||||
|
+diff --git a/backends/ppc_syscall.c b/backends/ppc_syscall.c
|
||||||
|
+deleted file mode 100644
|
||||||
|
+index b1b9c52b..00000000
|
||||||
|
+--- a/backends/ppc_syscall.c
|
||||||
|
++++ /dev/null
|
||||||
|
+@@ -1,53 +0,0 @@
|
||||||
|
+-/* Linux/PPC system call ABI in DWARF register numbers.
|
||||||
|
+- Copyright (C) 2008 Red Hat, Inc.
|
||||||
|
+- This file is part of elfutils.
|
||||||
|
+-
|
||||||
|
+- This file is free software; you can redistribute it and/or modify
|
||||||
|
+- it under the terms of either
|
||||||
|
+-
|
||||||
|
+- * the GNU Lesser General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 3 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or
|
||||||
|
+-
|
||||||
|
+- * the GNU General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 2 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or both in parallel, as here.
|
||||||
|
+-
|
||||||
|
+- elfutils is distributed in the hope that it will be useful, but
|
||||||
|
+- WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
+- General Public License for more details.
|
||||||
|
+-
|
||||||
|
+- You should have received copies of the GNU General Public License and
|
||||||
|
+- the GNU Lesser General Public License along with this program. If
|
||||||
|
+- not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
+-
|
||||||
|
+-#ifdef HAVE_CONFIG_H
|
||||||
|
+-# include <config.h>
|
||||||
|
+-#endif
|
||||||
|
+-
|
||||||
|
+-#define BACKEND ppc_
|
||||||
|
+-#include "libebl_CPU.h"
|
||||||
|
+-
|
||||||
|
+-int
|
||||||
|
+-ppc_syscall_abi (Ebl *ebl __attribute__ ((unused)),
|
||||||
|
+- int *sp, int *pc, int *callno, int args[6])
|
||||||
|
+-{
|
||||||
|
+- *sp = 1;
|
||||||
|
+- *pc = -1;
|
||||||
|
+- *callno = 0;
|
||||||
|
+- args[0] = 3;
|
||||||
|
+- args[1] = 4;
|
||||||
|
+- args[2] = 5;
|
||||||
|
+- args[3] = 6;
|
||||||
|
+- args[4] = 7;
|
||||||
|
+- args[5] = 8;
|
||||||
|
+- return 0;
|
||||||
|
+-}
|
||||||
|
+-
|
||||||
|
+-__typeof (ppc_syscall_abi)
|
||||||
|
+-ppc64_syscall_abi __attribute__ ((alias ("ppc_syscall_abi")));
|
||||||
|
+diff --git a/backends/x86_64_init.c b/backends/x86_64_init.c
|
||||||
|
+index adfa4791..a3838b69 100644
|
||||||
|
+--- a/backends/x86_64_init.c
|
||||||
|
++++ b/backends/x86_64_init.c
|
||||||
|
+@@ -61,7 +61,6 @@ x86_64_init (Elf *elf __attribute__ ((unused)),
|
||||||
|
+ HOOK (eh, core_note);
|
||||||
|
+ HOOK (eh, return_value_location);
|
||||||
|
+ HOOK (eh, register_info);
|
||||||
|
+- HOOK (eh, syscall_abi);
|
||||||
|
+ HOOK (eh, auxv_info);
|
||||||
|
+ HOOK (eh, disasm);
|
||||||
|
+ HOOK (eh, abi_cfi);
|
||||||
|
+diff --git a/backends/x86_64_syscall.c b/backends/x86_64_syscall.c
|
||||||
|
+deleted file mode 100644
|
||||||
|
+index 0deb8bad..00000000
|
||||||
|
+--- a/backends/x86_64_syscall.c
|
||||||
|
++++ /dev/null
|
||||||
|
+@@ -1,50 +0,0 @@
|
||||||
|
+-/* Linux/x86-64 system call ABI in DWARF register numbers.
|
||||||
|
+- Copyright (C) 2008 Red Hat, Inc.
|
||||||
|
+- This file is part of elfutils.
|
||||||
|
+-
|
||||||
|
+- This file is free software; you can redistribute it and/or modify
|
||||||
|
+- it under the terms of either
|
||||||
|
+-
|
||||||
|
+- * the GNU Lesser General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 3 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or
|
||||||
|
+-
|
||||||
|
+- * the GNU General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 2 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or both in parallel, as here.
|
||||||
|
+-
|
||||||
|
+- elfutils is distributed in the hope that it will be useful, but
|
||||||
|
+- WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
+- General Public License for more details.
|
||||||
|
+-
|
||||||
|
+- You should have received copies of the GNU General Public License and
|
||||||
|
+- the GNU Lesser General Public License along with this program. If
|
||||||
|
+- not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
+-
|
||||||
|
+-#ifdef HAVE_CONFIG_H
|
||||||
|
+-# include <config.h>
|
||||||
|
+-#endif
|
||||||
|
+-
|
||||||
|
+-#define BACKEND x86_64_
|
||||||
|
+-#include "libebl_CPU.h"
|
||||||
|
+-
|
||||||
|
+-int
|
||||||
|
+-x86_64_syscall_abi (Ebl *ebl __attribute__ ((unused)),
|
||||||
|
+- int *sp, int *pc, int *callno, int args[6])
|
||||||
|
+-{
|
||||||
|
+- *sp = 7; /* %rsp */
|
||||||
|
+- *pc = 16; /* %rip */
|
||||||
|
+- *callno = 0; /* %rax */
|
||||||
|
+- args[0] = 5; /* %rdi */
|
||||||
|
+- args[1] = 4; /* %rsi */
|
||||||
|
+- args[2] = 1; /* %rdx */
|
||||||
|
+- args[3] = 10; /* %r10 */
|
||||||
|
+- args[4] = 8; /* %r8 */
|
||||||
|
+- args[5] = 9; /* %r9 */
|
||||||
|
+- return 0;
|
||||||
|
+-}
|
||||||
|
+diff --git a/libdw/dwarf_frame_register.c b/libdw/dwarf_frame_register.c
|
||||||
|
+index 37e8e917..5b5b1e33 100644
|
||||||
|
+--- a/libdw/dwarf_frame_register.c
|
||||||
|
++++ b/libdw/dwarf_frame_register.c
|
||||||
|
+@@ -34,7 +34,7 @@
|
||||||
|
+ #include <dwarf.h>
|
||||||
|
+
|
||||||
|
+ int
|
||||||
|
+-dwarf_frame_register (Dwarf_Frame *fs, int regno, Dwarf_Op *ops_mem,
|
||||||
|
++dwarf_frame_register (Dwarf_Frame *fs, int regno, Dwarf_Op ops_mem[3],
|
||||||
|
+ Dwarf_Op **ops, size_t *nops)
|
||||||
|
+ {
|
||||||
|
+ /* Maybe there was a previous error. */
|
||||||
|
+diff --git a/libdw/libdw.h b/libdw/libdw.h
|
||||||
|
+index 63a38ff9..75fcbd9d 100644
|
||||||
|
+--- a/libdw/libdw.h
|
||||||
|
++++ b/libdw/libdw.h
|
||||||
|
+@@ -977,9 +977,11 @@ extern int dwarf_frame_cfa (Dwarf_Frame *frame, Dwarf_Op **ops, size_t *nops)
|
||||||
|
+ caller's REGNO is "same_value", i.e. this frame did not change it;
|
||||||
|
+ ask the caller frame where to find it.
|
||||||
|
+
|
||||||
|
+- For common simple expressions *OPS is OPS_MEM. For arbitrary DWARF
|
||||||
|
+- expressions in the CFI, *OPS is an internal pointer that can be used as
|
||||||
|
+- long as the Dwarf_CFI used to create FRAME remains alive. */
|
||||||
|
++ For common simple expressions *OPS is OPS_MEM (which is a caller
|
||||||
|
++ owned array for at least 3 Dwarf_Ops). For arbitrary DWARF
|
||||||
|
++ expressions in the CFI, *OPS is an internal pointer that can be
|
||||||
|
++ used as long as the Dwarf_CFI used to create FRAME remains
|
||||||
|
++ alive. */
|
||||||
|
+ extern int dwarf_frame_register (Dwarf_Frame *frame, int regno,
|
||||||
|
+ Dwarf_Op ops_mem[3],
|
||||||
|
+ Dwarf_Op **ops, size_t *nops)
|
||||||
|
+diff --git a/libebl/Makefile.am b/libebl/Makefile.am
|
||||||
|
+index 2491df80..b58ec11a 100644
|
||||||
|
+--- a/libebl/Makefile.am
|
||||||
|
++++ b/libebl/Makefile.am
|
||||||
|
+@@ -51,7 +51,7 @@ gen_SOURCES = eblopenbackend.c eblclosebackend.c \
|
||||||
|
+ ebl_check_special_symbol.c eblbsspltp.c eblretval.c \
|
||||||
|
+ eblreginfo.c eblnonerelocp.c eblrelativerelocp.c \
|
||||||
|
+ eblsysvhashentrysize.c eblauxvinfo.c eblcheckobjattr.c \
|
||||||
|
+- ebl_check_special_section.c ebl_syscall_abi.c eblabicfi.c \
|
||||||
|
++ ebl_check_special_section.c eblabicfi.c \
|
||||||
|
+ eblstother.c eblinitreg.c ebldwarftoregno.c eblnormalizepc.c \
|
||||||
|
+ eblunwind.c eblresolvesym.c eblcheckreloctargettype.c \
|
||||||
|
+ ebl_data_marker_symbol.c
|
||||||
|
+diff --git a/libebl/ebl-hooks.h b/libebl/ebl-hooks.h
|
||||||
|
+index f3a0e64a..5c85289d 100644
|
||||||
|
+--- a/libebl/ebl-hooks.h
|
||||||
|
++++ b/libebl/ebl-hooks.h
|
||||||
|
+@@ -142,10 +142,6 @@ ssize_t EBLHOOK(register_info) (Ebl *ebl,
|
||||||
|
+ const char **prefix, const char **setname,
|
||||||
|
+ int *bits, int *type);
|
||||||
|
+
|
||||||
|
+-/* Return system call ABI registers. */
|
||||||
|
+-int EBLHOOK(syscall_abi) (Ebl *ebl, int *sp, int *pc,
|
||||||
|
+- int *callno, int args[6]);
|
||||||
|
+-
|
||||||
|
+ /* Disassembler function. */
|
||||||
|
+ int EBLHOOK(disasm) (Ebl *ebl, const uint8_t **startp, const uint8_t *end,
|
||||||
|
+ GElf_Addr addr, const char *fmt, DisasmOutputCB_t outcb,
|
||||||
|
+diff --git a/libebl/ebl_syscall_abi.c b/libebl/ebl_syscall_abi.c
|
||||||
|
+deleted file mode 100644
|
||||||
|
+index a25369d2..00000000
|
||||||
|
+--- a/libebl/ebl_syscall_abi.c
|
||||||
|
++++ /dev/null
|
||||||
|
+@@ -1,40 +0,0 @@
|
||||||
|
+-/* Return system call ABI mapped to DWARF register numbers.
|
||||||
|
+- Copyright (C) 2008 Red Hat, Inc.
|
||||||
|
+- This file is part of elfutils.
|
||||||
|
+-
|
||||||
|
+- This file is free software; you can redistribute it and/or modify
|
||||||
|
+- it under the terms of either
|
||||||
|
+-
|
||||||
|
+- * the GNU Lesser General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 3 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or
|
||||||
|
+-
|
||||||
|
+- * the GNU General Public License as published by the Free
|
||||||
|
+- Software Foundation; either version 2 of the License, or (at
|
||||||
|
+- your option) any later version
|
||||||
|
+-
|
||||||
|
+- or both in parallel, as here.
|
||||||
|
+-
|
||||||
|
+- elfutils is distributed in the hope that it will be useful, but
|
||||||
|
+- WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
+- General Public License for more details.
|
||||||
|
+-
|
||||||
|
+- You should have received copies of the GNU General Public License and
|
||||||
|
+- the GNU Lesser General Public License along with this program. If
|
||||||
|
+- not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
+-
|
||||||
|
+-#ifdef HAVE_CONFIG_H
|
||||||
|
+-# include <config.h>
|
||||||
|
+-#endif
|
||||||
|
+-
|
||||||
|
+-#include <libeblP.h>
|
||||||
|
+-
|
||||||
|
+-
|
||||||
|
+-int
|
||||||
|
+-ebl_syscall_abi (Ebl *ebl, int *sp, int *pc, int *callno, int *args)
|
||||||
|
+-{
|
||||||
|
+- return ebl != NULL ? ebl->syscall_abi (ebl, sp, pc, callno, args) : -1;
|
||||||
|
+-}
|
||||||
|
+diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
|
||||||
|
+index 1f814776..fbd78e8a 100644
|
||||||
|
+--- a/libebl/eblopenbackend.c
|
||||||
|
++++ b/libebl/eblopenbackend.c
|
||||||
|
+@@ -196,8 +196,6 @@ static ssize_t default_register_info (Ebl *ebl,
|
||||||
|
+ const char **prefix,
|
||||||
|
+ const char **setname,
|
||||||
|
+ int *bits, int *type);
|
||||||
|
+-static int default_syscall_abi (Ebl *ebl, int *sp, int *pc,
|
||||||
|
+- int *callno, int args[6]);
|
||||||
|
+ static bool default_check_object_attribute (Ebl *ebl, const char *vendor,
|
||||||
|
+ int tag, uint64_t value,
|
||||||
|
+ const char **tag_name,
|
||||||
|
+@@ -241,7 +239,6 @@ fill_defaults (Ebl *result)
|
||||||
|
+ result->bss_plt_p = default_bss_plt_p;
|
||||||
|
+ result->return_value_location = default_return_value_location;
|
||||||
|
+ result->register_info = default_register_info;
|
||||||
|
+- result->syscall_abi = default_syscall_abi;
|
||||||
|
+ result->check_object_attribute = default_check_object_attribute;
|
||||||
|
+ result->check_reloc_target_type = default_check_reloc_target_type;
|
||||||
|
+ result->disasm = NULL;
|
||||||
|
+@@ -717,20 +714,6 @@ default_register_info (Ebl *ebl __attribute__ ((unused)),
|
||||||
|
+ return snprintf (name, namelen, "reg%d", regno);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+-static int
|
||||||
|
+-default_syscall_abi (Ebl *ebl __attribute__ ((unused)),
|
||||||
|
+- int *sp, int *pc, int *callno, int args[6])
|
||||||
|
+-{
|
||||||
|
+- *sp = *pc = *callno = -1;
|
||||||
|
+- args[0] = -1;
|
||||||
|
+- args[1] = -1;
|
||||||
|
+- args[2] = -1;
|
||||||
|
+- args[3] = -1;
|
||||||
|
+- args[4] = -1;
|
||||||
|
+- args[5] = -1;
|
||||||
|
+- return -1;
|
||||||
|
+-}
|
||||||
|
+-
|
||||||
|
+ static bool
|
||||||
|
+ default_check_object_attribute (Ebl *ebl __attribute__ ((unused)),
|
||||||
|
+ const char *vendor __attribute__ ((unused)),
|
||||||
|
+diff --git a/libebl/libebl.h b/libebl/libebl.h
|
||||||
|
+index 882bdb99..5200b934 100644
|
||||||
|
+--- a/libebl/libebl.h
|
||||||
|
++++ b/libebl/libebl.h
|
||||||
|
+@@ -243,14 +243,6 @@ extern ssize_t ebl_register_info (Ebl *ebl,
|
||||||
|
+ const char **prefix, const char **setname,
|
||||||
|
+ int *bits, int *type);
|
||||||
|
+
|
||||||
|
+-/* Fill in the DWARF register numbers for the registers used in system calls.
|
||||||
|
+- The SP and PC are what kernel reports call the user stack pointer and PC.
|
||||||
|
+- The CALLNO and ARGS are the system call number and incoming arguments.
|
||||||
|
+- Each of these is filled with the DWARF register number corresponding,
|
||||||
|
+- or -1 if there is none. Returns zero when the information is available. */
|
||||||
|
+-extern int ebl_syscall_abi (Ebl *ebl, int *sp, int *pc,
|
||||||
|
+- int *callno, int args[6]);
|
||||||
|
+-
|
||||||
|
+ /* Supply the ABI-specified state of DWARF CFI before CIE initial programs.
|
||||||
|
+
|
||||||
|
+ The DWARF 3.0 spec says that the default initial states of all registers
|
||||||
+diff --git a/libelf/libelfP.h b/libelf/libelfP.h
|
+diff --git a/libelf/libelfP.h b/libelf/libelfP.h
|
||||||
+index 7ee6625a..4007301b 100644
|
+index 7ee6625a..4007301b 100644
|
||||||
+--- a/libelf/libelfP.h
|
+--- a/libelf/libelfP.h
|
||||||
|
@ -66,7 +500,7 @@ index 0000000000000..fdb84dffd9364
|
||||||
+
|
+
|
||||||
+ /* Create Elf descriptor from memory image. */
|
+ /* Create Elf descriptor from memory image. */
|
||||||
+diff --git a/src/ar.c b/src/ar.c
|
+diff --git a/src/ar.c b/src/ar.c
|
||||||
+index ec32cee59..818115bd9 100644
|
+index ec32cee5..818115bd 100644
|
||||||
+--- a/src/ar.c
|
+--- a/src/ar.c
|
||||||
++++ b/src/ar.c
|
++++ b/src/ar.c
|
||||||
+@@ -1,5 +1,5 @@
|
+@@ -1,5 +1,5 @@
|
||||||
|
@ -207,6 +641,43 @@ index 0000000000000..fdb84dffd9364
|
||||||
+
|
+
|
||||||
+ return status;
|
+ return status;
|
||||||
+ }
|
+ }
|
||||||
--
|
+diff --git a/tests/addrcfi.c b/tests/addrcfi.c
|
||||||
2.32.0
|
+index 589b8513..2b7d7bd0 100644
|
||||||
|
+--- a/tests/addrcfi.c
|
||||||
|
++++ b/tests/addrcfi.c
|
||||||
|
+@@ -92,7 +92,7 @@ print_register (void *arg,
|
||||||
|
+
|
||||||
|
+ printf ("\t%s reg%u (%s%s): ", setname, regno, prefix, regname);
|
||||||
|
+
|
||||||
|
+- Dwarf_Op ops_mem[2];
|
||||||
|
++ Dwarf_Op ops_mem[3];
|
||||||
|
+ Dwarf_Op *ops;
|
||||||
|
+ size_t nops;
|
||||||
|
+ int result = dwarf_frame_register (stuff->frame, regno, ops_mem, &ops, &nops);
|
||||||
|
+--
|
||||||
|
+2.35.1
|
||||||
|
+
|
||||||
|
diff --git a/buildtools/third_party/eu-strip/build.sh b/buildtools/third_party/eu-strip/build.sh
|
||||||
|
index 86f2b67f6bbd1..c073e9a15827a 100755
|
||||||
|
--- a/buildtools/third_party/eu-strip/build.sh
|
||||||
|
+++ b/buildtools/third_party/eu-strip/build.sh
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
#!/bin/sh -xe
|
||||||
|
|
||||||
|
rm -rf elfutils
|
||||||
|
-git clone git://sourceware.org/git/elfutils.git
|
||||||
|
+git clone https://sourceware.org/git/elfutils.git
|
||||||
|
cd elfutils
|
||||||
|
git checkout elfutils-0.170
|
||||||
|
autoheader
|
||||||
|
@@ -9,6 +9,7 @@ aclocal
|
||||||
|
autoconf
|
||||||
|
automake --add-missing
|
||||||
|
patch -p1 < ../fix-elf-size.patch
|
||||||
|
+patch -p1 < ../0001-gcc-fixes.patch
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
../configure --enable-maintainer-mode
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
||||||
|
|
|
@ -56,9 +56,9 @@ sha256sums=('415b47e912766cd07f9f52e95bc6470b835acf1d6f566ae32e66ba8be608f33e'
|
||||||
'9c9c280be968f06d269167943680fb72a26fbb05d8c15f60507e316e8a9075d5'
|
'9c9c280be968f06d269167943680fb72a26fbb05d8c15f60507e316e8a9075d5'
|
||||||
'b94b2e88f63cfb7087486508b8139599c89f96d7a4181c61fec4b4e250ca327a'
|
'b94b2e88f63cfb7087486508b8139599c89f96d7a4181c61fec4b4e250ca327a'
|
||||||
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
|
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
|
||||||
'fa20edc66efbb4d172a028a1851bcbb635372ce56c81c0b434bf4e211a6ca728'
|
'717d167a72837361f016bbe2ef50b42defc28a095f0c0daadcfce56545bf9677'
|
||||||
'85c7fd0fc70d3bce1a6949fd1062c6d5bc62507636e50200432cfb7b22cbef47'
|
'c533c64de6c0c3d7675c96e032093255893305ab337394bf814da58342328b3f'
|
||||||
'30f670b9ca3e5783aa5029f4d0407cec5f6d5bef7c41303b50b6fb312559bc65')
|
'7b14049f77b7f4f112f82eea3570e2e0d3bce4cc075466f699564f2795afbd2f')
|
||||||
|
|
||||||
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
|
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
|
||||||
# Keys are the names in the above script; values are the dependencies in Arch
|
# Keys are the names in the above script; values are the dependencies in Arch
|
||||||
|
|
Loading…
Reference in a new issue