Workaround glibc declaration of ps_get_thread_area in nptl_db/proc_service.h
until it gets updated in the Fedora build.
This commit is contained in:
parent
943c565d63
commit
f37008e205
@ -18,6 +18,7 @@ Provides: bundled(libiberty)
|
|||||||
Provides: bundled(gdb) = 7.6
|
Provides: bundled(gdb) = 7.6
|
||||||
Patch0: lzo_snappy.patch
|
Patch0: lzo_snappy.patch
|
||||||
Patch1: use_system_readline_v3.patch
|
Patch1: use_system_readline_v3.patch
|
||||||
|
Patch2: glibc_ps_get_thread_area_workaround.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The core analysis suite is a self-contained tool that can be used to
|
The core analysis suite is a self-contained tool that can be used to
|
||||||
@ -40,6 +41,7 @@ offered by Mission Critical Linux, or the LKCD kernel patch.
|
|||||||
%setup -n %{name}-%{version} -q
|
%setup -n %{name}-%{version} -q
|
||||||
%patch0 -p1 -b lzo_snappy.patch
|
%patch0 -p1 -b lzo_snappy.patch
|
||||||
%patch1 -p1 -b use_system_readline_v3.patch
|
%patch1 -p1 -b use_system_readline_v3.patch
|
||||||
|
%patch2 -p1 -b glibc_ps_get_thread_area_workaround.patch
|
||||||
|
|
||||||
%build
|
%build
|
||||||
make RPMPKG="%{version}-%{release}" CFLAGS="%{optflags}"
|
make RPMPKG="%{version}-%{release}" CFLAGS="%{optflags}"
|
||||||
|
61
glibc_ps_get_thread_area_workaround.patch
Normal file
61
glibc_ps_get_thread_area_workaround.patch
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
--- crash-7.1.6/gdb-7.6.patch.orig
|
||||||
|
+++ crash-7.1.6/gdb-7.6.patch
|
||||||
|
@@ -2299,3 +2299,58 @@ diff -up gdb-7.6/bfd/elf64-ppc.c.orig gd
|
||||||
|
|
||||||
|
do_cleanups (old_chain);
|
||||||
|
}
|
||||||
|
+--- gdb-7.6/gdb/gdb_proc_service.h.orig
|
||||||
|
++++ gdb-7.6/gdb/gdb_proc_service.h
|
||||||
|
+@@ -115,7 +115,7 @@ extern pid_t ps_getpid (struct ps_procha
|
||||||
|
+ /* Fetch the special per-thread address associated with the given LWP.
|
||||||
|
+ This call is only used on a few platforms (most use a normal register).
|
||||||
|
+ The meaning of the `int' parameter is machine-dependent. */
|
||||||
|
+-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *,
|
||||||
|
++extern ps_err_e ps_get_thread_area (struct ps_prochandle *,
|
||||||
|
+ lwpid_t, int, psaddr_t *);
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+--- gdb-7.6/gdb/amd64-linux-nat.c.orig
|
||||||
|
++++ gdb-7.6/gdb/amd64-linux-nat.c
|
||||||
|
+@@ -493,7 +493,7 @@ amd64_linux_new_fork (struct lwp_info *p
|
||||||
|
+ a request for a thread's local storage address. */
|
||||||
|
+
|
||||||
|
+ ps_err_e
|
||||||
|
+-ps_get_thread_area (const struct ps_prochandle *ph,
|
||||||
|
++ps_get_thread_area (struct ps_prochandle *ph,
|
||||||
|
+ lwpid_t lwpid, int idx, void **base)
|
||||||
|
+ {
|
||||||
|
+ if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32)
|
||||||
|
+--- gdb-7.6/gdb/aarch64-linux-nat.c.orig
|
||||||
|
++++ gdb-7.6/gdb/aarch64-linux-nat.c
|
||||||
|
+@@ -750,7 +750,7 @@ aarch64_linux_new_fork (struct lwp_info
|
||||||
|
+ storage (or its descriptor). */
|
||||||
|
+
|
||||||
|
+ ps_err_e
|
||||||
|
+-ps_get_thread_area (const struct ps_prochandle *ph,
|
||||||
|
++ps_get_thread_area (struct ps_prochandle *ph,
|
||||||
|
+ lwpid_t lwpid, int idx, void **base)
|
||||||
|
+ {
|
||||||
|
+ struct iovec iovec;
|
||||||
|
+--- gdb-7.6/gdb/arm-linux-nat.c.orig
|
||||||
|
++++ gdb-7.6/gdb/arm-linux-nat.c
|
||||||
|
+@@ -613,7 +613,7 @@ supply_fpregset (struct regcache *regcac
|
||||||
|
+ /* Fetch the thread-local storage pointer for libthread_db. */
|
||||||
|
+
|
||||||
|
+ ps_err_e
|
||||||
|
+-ps_get_thread_area (const struct ps_prochandle *ph,
|
||||||
|
++ps_get_thread_area (struct ps_prochandle *ph,
|
||||||
|
+ lwpid_t lwpid, int idx, void **base)
|
||||||
|
+ {
|
||||||
|
+ if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
|
||||||
|
+--- gdb-7.6/gdb/i386-linux-nat.c.orig
|
||||||
|
++++ gdb-7.6/gdb/i386-linux-nat.c
|
||||||
|
+@@ -849,7 +849,7 @@ i386_linux_new_fork (struct lwp_info *pa
|
||||||
|
+ storage (or its descriptor). */
|
||||||
|
+
|
||||||
|
+ ps_err_e
|
||||||
|
+-ps_get_thread_area (const struct ps_prochandle *ph,
|
||||||
|
++ps_get_thread_area (struct ps_prochandle *ph,
|
||||||
|
+ lwpid_t lwpid, int idx, void **base)
|
||||||
|
+ {
|
||||||
|
+ /* NOTE: cagney/2003-08-26: The definition of this buffer is found
|
Loading…
Reference in New Issue
Block a user