mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 05:09:24 +00:00
gdb: Fix aarch64 build with musl
(From OE-Core rev: f178990495c773b4b36b1be6aafc2da158b76894) Signed-off-by: Paul Barker <paul@betafive.co.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
19204c8940
commit
b5dd016f29
@@ -18,6 +18,7 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
|
||||
file://gdbserver-ctrl-c-handling.patch \
|
||||
file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \
|
||||
file://CVE-2017-9778.patch \
|
||||
file://0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70"
|
||||
SRC_URI[sha256sum] = "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202"
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From cbbf1a8ba7f037ba3b83f090829edcbab542c285 Mon Sep 17 00:00:00 2001
|
||||
From: Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
Date: Thu, 13 Dec 2018 17:47:17 +0000
|
||||
Subject: [PATCH] AArch64: Fix the gdb build with musl libc
|
||||
|
||||
Including asm/sigcontext.h together with libc headers is not valid. In
|
||||
general linux headers may not work with libc headers, so mixing them
|
||||
should be avoided, especially when the linux header defines types that
|
||||
are also exposed in libc headers.
|
||||
|
||||
In case of asm/sigcontext.h glibc happens to work because glibc signal.h
|
||||
directly includes it, but e.g. in musl libc signal.h replicates the
|
||||
sigcontext.h definitions in an abi compatible way which are in conflict
|
||||
with the linux definitions when both headers are included.
|
||||
|
||||
Since old linux headers or old libc headers may not have the necessary
|
||||
definitions, gdb has to replicate the definitions it relies on anyway.
|
||||
Which is fine since all definitions must be ABI stable. For linux apis
|
||||
that are not available via libc headers, replicating the definitions in
|
||||
gdb is the most reliable way to use them.
|
||||
|
||||
Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux
|
||||
headers, which is just as problematic and should be fixed in linux.
|
||||
|
||||
gdb/ChangeLog:
|
||||
|
||||
* nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of
|
||||
asm/sigcontext.h.
|
||||
|
||||
[ChangeLog entry stripped so that patch applies cleanly]
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Paul Barker <paul@betafive.co.uk>
|
||||
---
|
||||
gdb/nat/aarch64-sve-linux-ptrace.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h
|
||||
index 029e753ffe..172ae39432 100644
|
||||
--- a/gdb/nat/aarch64-sve-linux-ptrace.h
|
||||
+++ b/gdb/nat/aarch64-sve-linux-ptrace.h
|
||||
@@ -20,7 +20,7 @@
|
||||
#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>
|
||||
--
|
||||
2.17.1
|
||||
|
||||
Reference in New Issue
Block a user