summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-03-24 22:00:41 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-03-24 22:00:41 +0000
commitd066f50d95b96ea36bd163db3ddea496824df7e1 (patch)
treea611a23f1985a3978ab1dfe2878ded44c2eea973
parentd80ab3f4677f8e57e338a6862b02c1398d4ee69f (diff)
downloadpackages-d066f50d95b96ea36bd163db3ddea496824df7e1.tar.gz
packages-d066f50d95b96ea36bd163db3ddea496824df7e1.tar.bz2
packages-d066f50d95b96ea36bd163db3ddea496824df7e1.tar.xz
packages-d066f50d95b96ea36bd163db3ddea496824df7e1.zip
system/gdb: bump to 8.2.1, fix build on 64-bit ARM
-rw-r--r--system/gdb/APKBUILD17
-rw-r--r--system/gdb/arm64.patch44
2 files changed, 51 insertions, 10 deletions
diff --git a/system/gdb/APKBUILD b/system/gdb/APKBUILD
index 021848629..a8ce6acfd 100644
--- a/system/gdb/APKBUILD
+++ b/system/gdb/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gdb
-pkgver=8.2
-pkgrel=1
+pkgver=8.2.1
+pkgrel=0
pkgdesc="The GNU Debugger"
url="https://www.sourceware.org/gdb/"
arch="all"
options="!check" # thousands of test failures
license="GPL-3.0+"
-depends=
+depends=""
makedepends="ncurses-dev expat-dev texinfo python3-dev
zlib-dev autoconf automake libtool linux-headers perl"
subpackages="$pkgname-doc $pkgname-lang"
@@ -18,6 +18,7 @@ source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz
ppc-ptregs.patch
remove-extraneous-include.patch
stopcode-lock.patch
+ arm64.patch
"
build() {
@@ -27,15 +28,10 @@ build() {
--host=$CHOST
--prefix=/usr
--target=$CTARGET
- --with-build-sysroot=$CBUILDROOT
- --with-python=/usr/bin/python3
--disable-werror
--mandir=/usr/share/man
--infodir=/usr/share/info"
- # use system zlib if not cross compiling
- [ "$CBUILD" = "$CHOST" ] && _config="$_config --with-system-zlib"
-
# avoid generation of mangled and non-mangled objects on ppc64
[ "$CARCH" = ppc64le ] && _config="$_config --enable-build-with-cxx=no"
@@ -57,9 +53,10 @@ package() {
rm -rf "$pkgdir"/usr/lib
}
-sha512sums="11cc481bebc51eb6db73249ecb62b8c07455cf3db169f4860b3a83114849fbd2b5860a2db64488ba6c5909cf07b255c04770f1e36059eae6bee16d2a3581be90 gdb-8.2.tar.xz
+sha512sums="2aa81cfd389bb48c35d7d9f95cc10e88b4f7ad4597bdde0f8f1fd312f60f10d9fb2cc6e5a9355227d89ff328f7feb0fc411a69394560cafeb9fa75d35d896d11 gdb-8.2.1.tar.xz
986e68275f7692f39b5d8aedeb9f9e88f0e5bebb3f8c7f104933c525d35ca54fc90e18698c1e3e1009e8a188e5e70d6f252cb39e4c75e37db7bf479017e0da32 s390x-use-elf-gdb_fpregset_t.patch
04911f87904b62dd7662435f9182b20485afb29ddb3d6398a9d31fef13495f7b70639c77fdae3a40e2775e270d7cd40d0cfd7ddf832372b506808d33c8301e01 ppc-musl.patch
b75e1c1ee503a1948a7d5b8d90427b5c7d38ded69978056cee0adca222771a5c95ed1ac73127fcae7b795ea94296344eee5fca47e4cd04b418c164a756fb0933 ppc-ptregs.patch
3ff31774ba78c1208415289566b901debd815da8b53acefe4a0785e7b2bbcff39585a556d44ff2f7d8d639ebc047620b96e72573acae376d8f23aa98dd1fe286 remove-extraneous-include.patch
-720d6cbc71d5d4f5cc8955b18a76661688534d409e2beb53e9e2d2322a303fa622e622b583e1f6c50cf3f32b8abe4f5320a6885e7680769c92ef5bb09ef59d1d stopcode-lock.patch"
+720d6cbc71d5d4f5cc8955b18a76661688534d409e2beb53e9e2d2322a303fa622e622b583e1f6c50cf3f32b8abe4f5320a6885e7680769c92ef5bb09ef59d1d stopcode-lock.patch
+8bba2fdf6a53ed61cad2c1ec58e19014818d2481531008c024a0d863ea0bf7c466592cfee7e1bee56262df44cc557573a7f472b3fa8afcb46fe0220192e86091 arm64.patch"
diff --git a/system/gdb/arm64.patch b/system/gdb/arm64.patch
new file mode 100644
index 000000000..a718a8c6a
--- /dev/null
+++ b/system/gdb/arm64.patch
@@ -0,0 +1,44 @@
+The signal definitions of musl and gdb collide
+
+The kernel defines "struct sigcontext" in asm/sigcontext.h and musl libc
+defines it in signal.h which collides.
+Kernel 4.14 misses the definitions of struct user_sve_header so we still
+have to use the aarch64-sve-linux-sigcontext.h header file which also
+provides that and make sure aarch64-sve-linux-sigcontext.h does not
+provide the same headers as the kernel or musl.
+
+--- a/gdb/nat/aarch64-sve-linux-ptrace.h
++++ b/gdb/nat/aarch64-sve-linux-ptrace.h
+@@ -20,12 +20,12 @@
+ #ifndef AARCH64_SVE_LINUX_PTRACE_H
+ #define AARCH64_SVE_LINUX_PTRACE_H
+
+-#include <asm/sigcontext.h>
++#include <signal.h>
+ #include <sys/utsname.h>
+ #include <sys/ptrace.h>
+ #include <asm/ptrace.h>
+
+-#ifndef SVE_SIG_ZREGS_SIZE
++#ifndef SVE_PT_REGS_SVE
+ #include "aarch64-sve-linux-sigcontext.h"
+ #endif
+
+--- a/gdb/nat/aarch64-sve-linux-sigcontext.h
++++ b/gdb/nat/aarch64-sve-linux-sigcontext.h
+@@ -19,6 +19,7 @@
+ #ifndef AARCH64_SVE_LINUX_SIGCONTEXT_H
+ #define AARCH64_SVE_LINUX_SIGCONTEXT_H
+
++#ifndef SVE_MAGIC
+ #define SVE_MAGIC 0x53564501
+
+ struct sve_context {
+@@ -128,6 +129,7 @@ struct sve_context {
+ (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
+
+ #define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
++#endif
+
+ /* SVE/FP/SIMD state (NT_ARM_SVE) */
+