From b6e7beb35ce00e9b49646c5a0f2a0269df3d1a58 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Fri, 2 Aug 2013 22:49:56 +0200 Subject: [PATCH] Drop ia64 patches and .spec support. --- gdb-6.3-gcore-thread-20050204.patch | 25 ---- gdb-6.3-ia64-gcore-page0-20050421.patch | 20 --- gdb-6.3-ia64-gcore-speedup-20050714.patch | 126 ---------------- gdb-6.3-ia64-info-frame-fix-20050725.patch | 107 -------------- gdb-6.3-ia64-sigill-20051115.patch | 95 ------------- gdb-6.3-ia64-sigtramp-frame-20050708.patch | 158 --------------------- gdb-6.3-rh-testlibunwind-20041202.patch | 103 -------------- gdb.spec | 63 ++------ 8 files changed, 8 insertions(+), 689 deletions(-) delete mode 100644 gdb-6.3-gcore-thread-20050204.patch delete mode 100644 gdb-6.3-ia64-gcore-page0-20050421.patch delete mode 100644 gdb-6.3-ia64-gcore-speedup-20050714.patch delete mode 100644 gdb-6.3-ia64-info-frame-fix-20050725.patch delete mode 100644 gdb-6.3-ia64-sigill-20051115.patch delete mode 100644 gdb-6.3-ia64-sigtramp-frame-20050708.patch delete mode 100644 gdb-6.3-rh-testlibunwind-20041202.patch diff --git a/gdb-6.3-gcore-thread-20050204.patch b/gdb-6.3-gcore-thread-20050204.patch deleted file mode 100644 index 31ecbba..0000000 --- a/gdb-6.3-gcore-thread-20050204.patch +++ /dev/null @@ -1,25 +0,0 @@ -2005-02-07 Jeff Johnston - - * linux-nat.c (linux_nat_xfer_memory): Don't use - linux_proc_xfer_memory for ia64. - -Index: gdb-6.8.50.20090803/gdb/linux-nat.c -=================================================================== ---- gdb-6.8.50.20090803.orig/gdb/linux-nat.c 2009-08-04 06:29:47.000000000 +0200 -+++ gdb-6.8.50.20090803/gdb/linux-nat.c 2009-08-04 06:29:55.000000000 +0200 -@@ -4495,10 +4495,15 @@ linux_xfer_partial (struct target_ops *o - offset &= ((ULONGEST) 1 << addr_bit) - 1; - } - -+#ifndef NATIVE_XFER_UNWIND_TABLE -+ /* FIXME: For ia64, we cannot currently use linux_proc_xfer_memory -+ for accessing thread storage. Revert when Bugzilla 147436 -+ is fixed. */ - xfer = linux_proc_xfer_partial (ops, object, annex, readbuf, writebuf, - offset, len); - if (xfer != 0) - return xfer; -+#endif - - return super_xfer_partial (ops, object, annex, readbuf, writebuf, - offset, len); diff --git a/gdb-6.3-ia64-gcore-page0-20050421.patch b/gdb-6.3-ia64-gcore-page0-20050421.patch deleted file mode 100644 index c2c0026..0000000 --- a/gdb-6.3-ia64-gcore-page0-20050421.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: gdb-7.5.50.20130118/gdb/gcore.c -=================================================================== ---- gdb-7.5.50.20130118.orig/gdb/gcore.c 2013-01-18 23:50:56.698573186 +0100 -+++ gdb-7.5.50.20130118/gdb/gcore.c 2013-01-18 23:52:29.636705040 +0100 -@@ -549,8 +549,14 @@ gcore_copy_callback (bfd *obfd, asection - if (size > total_size) - size = total_size; - -+ /* Warn if read error occurs except if we were trying to read the -+ first page for ia64. The first page is marked readable, but it cannot -+ be read. */ - if (target_read_memory (bfd_section_vma (obfd, osec) + offset, -- memhunk, size) != 0) -+ memhunk, size) != 0 -+ && (strcmp (gdbarch_bfd_arch_info (target_gdbarch ())->arch_name, -+ "ia64") -+ || bfd_section_vma (obfd, osec) != 0)) - { - warning (_("Memory read failed for corefile " - "section, %s bytes at %s."), diff --git a/gdb-6.3-ia64-gcore-speedup-20050714.patch b/gdb-6.3-ia64-gcore-speedup-20050714.patch deleted file mode 100644 index f902e62..0000000 --- a/gdb-6.3-ia64-gcore-speedup-20050714.patch +++ /dev/null @@ -1,126 +0,0 @@ -2005-07-14 Jeff Johnsotn - - * linux-nat.c (linux_nat_xfer_memory): Incorporate Fujitsu - work-around to use /proc/mem for storage, but to fall-back - to PTRACE for ia64 rse register areas. - * ia64-linux-nat.c (ia64_rse_slot_num): New static function. - (ia64_rse_skip_regs): Ditto. - (ia64_linux_check_stack_region): New function. - -Index: gdb-6.8.50.20090803/gdb/linux-nat.c -=================================================================== ---- gdb-6.8.50.20090803.orig/gdb/linux-nat.c 2009-08-04 06:29:55.000000000 +0200 -+++ gdb-6.8.50.20090803/gdb/linux-nat.c 2009-08-04 06:30:53.000000000 +0200 -@@ -4495,15 +4495,38 @@ linux_xfer_partial (struct target_ops *o - offset &= ((ULONGEST) 1 << addr_bit) - 1; - } - --#ifndef NATIVE_XFER_UNWIND_TABLE -- /* FIXME: For ia64, we cannot currently use linux_proc_xfer_memory -- for accessing thread storage. Revert when Bugzilla 147436 -- is fixed. */ - xfer = linux_proc_xfer_partial (ops, object, annex, readbuf, writebuf, - offset, len); - if (xfer != 0) -- return xfer; -+ { -+#ifdef NATIVE_XFER_UNWIND_TABLE -+ struct mem_region range; -+ range.lo = memaddr; -+ range.hi = memaddr + len; -+ -+ /* FIXME: For ia64, we cannot currently use -+ linux_proc_xfer_partial for accessing rse register storage. -+ Revert when Bugzilla 147436 is fixed. */ -+#ifdef NATIVE_XFER_UNWIND_TABLE -+ extern int ia64_linux_check_stack_region (struct lwp_info *lwp, -+ void *range); -+#endif -+ if (iterate_over_lwps (ia64_linux_check_stack_region, &range) != NULL) -+ { /* This region contains ia64 rse registers, we have to re-read. */ -+ int xxfer; -+ -+ /* Re-read register stack area. */ -+ xxfer = super_xfer_partial (ops, object, annex, -+ readbuf + (range.lo - memaddr), -+ writebuf + (range.lo - memaddr), -+ offset + (range.lo - memaddr), -+ range.hi - range.lo); -+ if (xxfer == 0) -+ xfer = 0; -+ } - #endif -+ return xfer; -+ } - - return super_xfer_partial (ops, object, annex, readbuf, writebuf, - offset, len); -Index: gdb-6.8.50.20090803/gdb/ia64-linux-nat.c -=================================================================== ---- gdb-6.8.50.20090803.orig/gdb/ia64-linux-nat.c 2009-02-23 01:03:49.000000000 +0100 -+++ gdb-6.8.50.20090803/gdb/ia64-linux-nat.c 2009-08-04 06:30:53.000000000 +0200 -@@ -809,6 +809,64 @@ ia64_linux_xfer_partial (struct target_o - - void _initialize_ia64_linux_nat (void); - -+/* -+ * Note: taken from ia64_tdep.c -+ * -+ */ -+ -+static __inline__ unsigned long -+ia64_rse_slot_num (unsigned long addr) -+{ -+ return (addr >> 3) & 0x3f; -+} -+ -+/* Skip over a designated number of registers in the backing -+ store, remembering every 64th position is for NAT. */ -+static __inline__ unsigned long -+ia64_rse_skip_regs (unsigned long addr, long num_regs) -+{ -+ long delta = ia64_rse_slot_num(addr) + num_regs; -+ -+ if (num_regs < 0) -+ delta -= 0x3e; -+ return addr + ((num_regs + delta/0x3f) << 3); -+} -+ -+/* -+ * Check mem_region is stack or not. If stack, /proc//mem cannot return -+ * expected value. -+ */ -+int ia64_linux_check_stack_region(struct lwp_info *ti, struct mem_region *range) -+{ -+ CORE_ADDR addr; -+ int error; -+ unsigned long bsp, cfm, bspstore; -+ long sof; -+ pid_t pid = ptid_get_lwp(ti->ptid); -+ bsp = ptrace(PTRACE_PEEKUSER, pid, PT_AR_BSP ,NULL); -+ if (bsp == (unsigned long)-1) { -+ return 1; -+ } -+ /* stack is allocated by one-segment, not separated into several segments. -+ So, we only have to check whether bsp is in *range* or not. */ -+ if((range->lo <= bsp) && (bsp <= range->hi)) { -+ bspstore = ptrace(PTRACE_PEEKUSER, pid, PT_AR_BSPSTORE, NULL); -+ cfm = ptrace(PTRACE_PEEKUSER, pid, PT_CFM, NULL); -+ sof = cfm & 0x3f; -+ bsp = ia64_rse_skip_regs(bsp, -sof); -+ range->lo = bspstore; -+ range->hi = bsp; -+ /* we have to check the size of dirty register stack area */ -+ /* -+ fprintf_unfiltered(gdb_stdlog, "<%d> <%p> <%lx> <%p> <%p>\n", -+ pid, bsp, sof, range->lo, range->hi); -+ */ -+ return 1; -+ } -+ -+ return 0; -+} -+ - void - _initialize_ia64_linux_nat (void) - { diff --git a/gdb-6.3-ia64-info-frame-fix-20050725.patch b/gdb-6.3-ia64-info-frame-fix-20050725.patch deleted file mode 100644 index 2ebab9e..0000000 --- a/gdb-6.3-ia64-info-frame-fix-20050725.patch +++ /dev/null @@ -1,107 +0,0 @@ -2005-07-25 Jeff Johnstno - - * libunwind-frame.c (libunwind_frame_prev_register): Check valuep - is not NULL before copying cursor address into it. - -testsuite: -2005-07-25 Jeff Johnstno - - * gdb.arch/ia64-sigtramp.exp: New test. - * gdb.arch/ia64-sigtramp.c: Ditto. - -2008-02-24 Jan Kratochvil - - Port to GDB-6.8pre. (Only the testcase has remained.) - ---- gdb-6.3/gdb/testsuite/gdb.arch/ia64-sigtramp.c.fix 2005-07-25 16:42:46.000000000 -0400 -+++ gdb-6.3/gdb/testsuite/gdb.arch/ia64-sigtramp.c 2005-07-25 16:42:08.000000000 -0400 -@@ -0,0 +1,23 @@ -+#include -+#include -+ -+int *l; -+ -+void x (int sig) -+{ -+ printf ("in signal handler for signal %d\n", sig); -+} -+ -+int main() -+{ -+ int k; -+ -+ signal (SIGSEGV, &x); -+ -+ k = *l; -+ -+ printf ("k is %d\n", k); -+ -+ return 0; -+} -+ ---- gdb-6.3/gdb/testsuite/gdb.arch/ia64-sigtramp.exp.fix 2005-07-25 16:42:50.000000000 -0400 -+++ gdb-6.3/gdb/testsuite/gdb.arch/ia64-sigtramp.exp 2005-07-25 16:42:01.000000000 -0400 -@@ -0,0 +1,63 @@ -+# Copyright 2005 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of 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. -+# -+# This program 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 a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Please email any bugs, comments, and/or additions to this file to: -+# bug-gdb@prep.ai.mit.edu -+ -+# This file was written by Jeff Johnston (jjohnstn@redhat.com) -+ -+if ![istarget "ia64-*-*"] then { -+ return -+} -+ -+set testfile "ia64-sigtramp" -+set srcfile ${testfile}.c -+set binfile ${objdir}/${subdir}/${testfile} -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { -+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -+} -+ -+if [get_compiler_info ${binfile}] { -+ return -1 -+} -+ -+gdb_exit -+set match_max_old [match_max] -+match_max -d 1000000 -+gdb_start -+match_max -d $match_max_old -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+if ![runto_main] then { -+ fail "Can't run to main" -+ return 0 -+} -+ -+gdb_test "handle SIGSEGV" "SIGSEGV.*Yes.*Yes.*Yes.*Segmentation fault" -+gdb_test "next" "" "first next" -+gdb_test "next" "Program received signal SIGSEGV.*" "getting SIGSEGV" -+gdb_breakpoint "x" -+gdb_test "continue" "Breakpoint.*x.*" "continue to x" -+ -+gdb_test "f 1" ".*signal handler called.*" "frame 1" -+ -+# gdb-7.0+ no longer prints the pseudo registers as they are computed. -+# frame_info says: /* For moment, only display registers that were saved on the -+# stack. */ -+gdb_test "set debug frame 1" -+gdb_test "info frame" "Stack level 1, .*frame_unwind_register_value \\(frame=1,regnum=750\\(p63\\),\[^\r\n\]*\r\n\[^\r\n\]*-> computed bytes=.*" "info sigtramp frame" diff --git a/gdb-6.3-ia64-sigill-20051115.patch b/gdb-6.3-ia64-sigill-20051115.patch deleted file mode 100644 index bf8a1f1..0000000 --- a/gdb-6.3-ia64-sigill-20051115.patch +++ /dev/null @@ -1,95 +0,0 @@ -2005-11-15 Jeff Johnston - - * linux-thread-db.c (thread_db_wait): Don't bother continuing if - the wait result indicates the program terminated with a signal. - * linux-nat.c (linux_nat_wait): For SIGILL and SIGTRAP, don't - throw away the event if the user has specified nostop noprint. - -gdb/testsuite: - -2005-11-15 Jeff Johnston - - * gdb.arch/ia64-sigill.c: New test. - * gdb.arch/ia64-sigill.exp: Ditto. - -Index: gdb-7.3.50.20110722/gdb/testsuite/gdb.arch/ia64-sigill.exp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.3.50.20110722/gdb/testsuite/gdb.arch/ia64-sigill.exp 2011-07-22 19:16:13.000000000 +0200 -@@ -0,0 +1,49 @@ -+# Copyright 2005 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of 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. -+# -+# This program 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 a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Please email any bugs, comments, and/or additions to this file to: -+# bug-gdb@prep.ai.mit.edu -+ -+# This file was written by Jeff Johnston (jjohnstn@redhat.com) -+ -+if ![istarget "ia64-*-*"] then { -+ return -+} -+ -+set testfile "ia64-sigill" -+set srcfile ${testfile}.c -+set binfile ${objdir}/${subdir}/${testfile} -+ -+# Deliberately compile with pthreads, even though test is single-threaded. -+# We want to force gdb thread code to be exercised. -+if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { -+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -+} -+ -+if [get_compiler_info ${binfile}] { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+# We set up SIGILL nostop, noprint, pass and then run the program. -+# We expect to just see a normal run. -+gdb_test "handle SIGILL nostop noprint" "SIGILL.*No.*No.*Yes.*" "handle sigill" -+gdb_test "run" "Starting program.*ia64-sigill.*\[New thread.*\].*hello world.*Program exited normally." "run to exit" -+ -Index: gdb-7.3.50.20110722/gdb/testsuite/gdb.arch/ia64-sigill.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.3.50.20110722/gdb/testsuite/gdb.arch/ia64-sigill.c 2011-07-22 19:16:13.000000000 +0200 -@@ -0,0 +1,8 @@ -+#include -+ -+int main() -+{ -+ printf ("hello world\n"); -+ return 0; -+} -+ -Index: gdb-7.3.50.20110722/gdb/linux-nat.c -=================================================================== ---- gdb-7.3.50.20110722.orig/gdb/linux-nat.c 2011-07-22 19:15:05.000000000 +0200 -+++ gdb-7.3.50.20110722/gdb/linux-nat.c 2011-07-22 19:16:13.000000000 +0200 -@@ -3733,7 +3733,8 @@ retry: - threads can be a bit time-consuming so if we want decent - performance with heavily multi-threaded programs, especially when - they're using a high frequency timer, we'd better avoid it if we -- can. */ -+ can. For possible trap signals like SIGTRAP and SIGILL, don't -+ avoid reporting. */ - - if (WIFSTOPPED (status)) - { diff --git a/gdb-6.3-ia64-sigtramp-frame-20050708.patch b/gdb-6.3-ia64-sigtramp-frame-20050708.patch deleted file mode 100644 index c6a7789..0000000 --- a/gdb-6.3-ia64-sigtramp-frame-20050708.patch +++ /dev/null @@ -1,158 +0,0 @@ -2005-07-08 Jeff Johnston - - * ia64-tdep.c (ia64_sigtramp_frame_prev_register): Build - pseudo-registers the same as ia64_pseudo_register_read. - -2008-04-16 Yi Zhan - - * ia64-tdep.c (ia64_sigtramp_frame_prev_register): Fix an - ISO C compliance compilation error. - -2008-02-12 Jan Kratochvil - - Port to gdb-6.8.50.20081128, follow the upstream change: - http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ia64-tdep.c.diff?cvsroot=src&r1=1.176&r2=1.177 - -Index: gdb-6.8.50.20081128/gdb/ia64-tdep.c -=================================================================== ---- gdb-6.8.50.20081128.orig/gdb/ia64-tdep.c 2008-11-26 06:27:48.000000000 +0100 -+++ gdb-6.8.50.20081128/gdb/ia64-tdep.c 2008-12-02 19:04:32.000000000 +0100 -@@ -2107,6 +2107,94 @@ ia64_sigtramp_frame_prev_register (struc - return frame_unwind_got_constant (this_frame, regnum, pc); - } - -+ /* Red Hat patch begin. */ -+ else if (IA64_NAT0_REGNUM <= regnum && regnum <= IA64_NAT31_REGNUM) -+ { -+ /* NAT pseudo registers 0-31: get them from UNAT. -+ * "copied" from ia64_pseudo_register_read() */ -+ ULONGEST unatN_val; -+ ULONGEST unat; -+ read_memory (cache->saved_regs[IA64_UNAT_REGNUM], (char *) &unat, -+ register_size (target_gdbarch, IA64_UNAT_REGNUM)); -+ unatN_val = (unat & (1LL << (regnum - IA64_NAT0_REGNUM))) != 0; -+ return frame_unwind_got_constant (this_frame, regnum, unatN_val); -+ } -+ else if (IA64_NAT32_REGNUM <= regnum && regnum <= IA64_NAT127_REGNUM) -+ { -+ /* NAT pseudo registers 32-127. -+ * "copied" from ia64_pseudo_register_read() -+ * FIXME: Not currently tested -- cannot get the frame to include -+ * NAT32-NAT127. */ -+ ULONGEST bsp; -+ ULONGEST cfm; -+ ULONGEST natN_val = 0; -+ CORE_ADDR gr_addr = 0, nat_addr = 0; -+ -+ read_memory (cache->saved_regs[IA64_BSP_REGNUM], (char *) &bsp, -+ register_size (target_gdbarch, IA64_BSP_REGNUM)); -+ read_memory (cache->saved_regs[IA64_CFM_REGNUM], (char *) &cfm, -+ register_size (target_gdbarch, IA64_CFM_REGNUM)); -+ -+ /* The bsp points at the end of the register frame so we -+ subtract the size of frame from it to get start of register frame. */ -+ bsp = rse_address_add (bsp, -(cfm & 0x7f)); -+ -+ if ((cfm & 0x7f) > regnum - V32_REGNUM) -+ gr_addr = rse_address_add (bsp, (regnum - V32_REGNUM)); -+ -+ if (gr_addr != 0) -+ { -+ /* Compute address of nat collection bits */ -+ CORE_ADDR nat_collection; -+ int nat_bit; -+ nat_addr = gr_addr | 0x1f8; -+ /* If our nat collection address is bigger than bsp, we have to get -+ the nat collection from rnat. Otherwise, we fetch the nat -+ collection from the computed address. FIXME: Do not know if -+ RNAT can be not stored in the frame--being extra cautious. */ -+ if (nat_addr >= bsp) -+ { -+ nat_addr = cache->saved_regs[IA64_RNAT_REGNUM]; -+ if (nat_addr != 0) -+ read_memory (nat_addr, (char *) &nat_collection, -+ register_size (target_gdbarch, IA64_RNAT_REGNUM)); -+ } -+ else -+ nat_collection = read_memory_integer (nat_addr, 8, BFD_ENDIAN_LITTLE); -+ if (nat_addr != 0) -+ { -+ nat_bit = (gr_addr >> 3) & 0x3f; -+ natN_val = (nat_collection >> nat_bit) & 1; -+ return frame_unwind_got_constant (this_frame, regnum, natN_val); -+ } -+ } -+ warning (_("ia64_sigtramp_frame_prev_register: unhandled register %d"), -+ regnum); -+ } -+ else if (regnum == VBOF_REGNUM) -+ { -+ /* BOF pseudo register. -+ * "copied" from ia64_pseudo_register_read() -+ * -+ * A virtual register frame start is provided for user convenience. -+ * It can be calculated as the bsp - sof (sizeof frame). */ -+ ULONGEST bsp; -+ ULONGEST cfm; -+ ULONGEST bof; -+ -+ read_memory (cache->saved_regs[IA64_BSP_REGNUM], (char *) &bsp, -+ register_size (target_gdbarch, IA64_BSP_REGNUM)); -+ read_memory (cache->saved_regs[IA64_CFM_REGNUM], (char *) &cfm, -+ register_size (target_gdbarch, IA64_CFM_REGNUM)); -+ -+ /* The bsp points at the end of the register frame so we -+ subtract the size of frame from it to get beginning of frame. */ -+ bof = rse_address_add (bsp, -(cfm & 0x7f)); -+ -+ return frame_unwind_got_constant (this_frame, regnum, bof); -+ } -+ /* Red Hat patch end. */ -+ - else if ((regnum >= IA64_GR32_REGNUM && regnum <= IA64_GR127_REGNUM) - || (regnum >= V32_REGNUM && regnum <= V127_REGNUM)) - { -@@ -2121,7 +2209,42 @@ ia64_sigtramp_frame_prev_register (struc - return frame_unwind_got_constant (this_frame, regnum, 0); - } - -- else /* All other registers not listed above. */ -+ /* Red Hat patch begin. */ -+ else if (VP0_REGNUM <= regnum && regnum <= VP63_REGNUM) -+ { -+ /* VP 0-63. -+ * "copied" from ia64_pseudo_register_read() -+ * -+ * FIXME: Not currently tested--cannot get the frame to include PR. */ -+ CORE_ADDR pr_addr = 0; -+ -+ pr_addr = cache->saved_regs[IA64_PR_REGNUM]; -+ if (pr_addr != 0) -+ { -+ ULONGEST pr; -+ ULONGEST cfm; -+ ULONGEST prN_val; -+ read_memory (pr_addr, (char *) &pr, -+ register_size (target_gdbarch, IA64_PR_REGNUM)); -+ read_memory (cache->saved_regs[IA64_CFM_REGNUM], (char *) &cfm, -+ register_size (target_gdbarch, IA64_CFM_REGNUM)); -+ -+ /* Get the register rename base for this frame and adjust the -+ * register name to take rotation into account. */ -+ if (VP16_REGNUM <= regnum && regnum <= VP63_REGNUM) -+ { -+ int rrb_pr = (cfm >> 32) & 0x3f; -+ regnum = VP16_REGNUM + ((regnum - VP16_REGNUM) + rrb_pr) % 48; -+ } -+ prN_val = (pr & (1LL << (regnum - VP0_REGNUM))) != 0; -+ return frame_unwind_got_constant (this_frame, regnum, prN_val); -+ } -+ warning (_("ia64_sigtramp_frame_prev_register: unhandled register %d"), -+ regnum); -+ } -+ /* Red Hat patch end. */ -+ -+ /* All other registers not listed above. */ - { - CORE_ADDR addr = cache->saved_regs[regnum]; - diff --git a/gdb-6.3-rh-testlibunwind-20041202.patch b/gdb-6.3-rh-testlibunwind-20041202.patch deleted file mode 100644 index 0a121c3..0000000 --- a/gdb-6.3-rh-testlibunwind-20041202.patch +++ /dev/null @@ -1,103 +0,0 @@ -2003-11-17 Elena Zannoni - - From Jeff Johnston - * gdb.arch/ia64-libunwind.exp: New file. - * gdb.arch/ia64-libunwind.c: New file. - -2004-08-03 Jeff Johnston - - * gdb.arch/ia64-libunwind.exp: Fix test string to match - current code base. - - [ acquire_unwind_info -> ia64_find_proc_info_x ] - -2009-04-30 Jan Kratochvil - - Remove a race from send_gdb "COMMAND\n". - Cleanup. - Merge in: Patch4: gdb-6.3-rh-testlibunwind1fix-20041202.patch - ---- /dev/null 2009-04-19 08:52:54.499000000 +0200 -+++ gdb-6.8/gdb/testsuite/gdb.arch/ia64-libunwind.c 2009-04-30 19:15:16.000000000 +0200 -@@ -0,0 +1,26 @@ -+/* Copyright 2003, 2009 Free Software Foundation, Inc. -+ -+ This file is part of GDB. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program 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 a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+#include -+ -+int -+main () -+{ -+ printf ("hello world\n"); -+ -+ return 0; -+} ---- /dev/null 2009-04-19 08:52:54.499000000 +0200 -+++ gdb-6.8/gdb/testsuite/gdb.arch/ia64-libunwind.exp 2009-04-30 19:19:22.000000000 +0200 -@@ -0,0 +1,52 @@ -+# Copyright 2003, 2009 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of 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. -+# -+# This program 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 a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+# Please email any bugs, comments, and/or additions to this file to: -+# bug-gdb@prep.ai.mit.edu -+ -+# This file was written by Jeff Johnston (jjohnstn@redhat.com) -+ -+if ![istarget "ia64-*-*"] then { -+ return -+} -+ -+set testfile "ia64-libunwind" -+set srcfile ${testfile}.c -+set binfile ${objdir}/${subdir}/${testfile} -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { -+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -+} -+ -+if [get_compiler_info ${binfile}] { -+ return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+gdb_test "set debug arch 1" -+gdb_breakpoint "main" -+gdb_run_cmd -+ -+set test "libunwind message" -+gdb_test_multiple "" $test { -+ -re "ia64_find_proc_info_x.*$gdb_prompt $" { -+ pass $test -+ } -+} diff --git a/gdb.spec b/gdb.spec index 471e00e..5be4c2a 100644 --- a/gdb.spec +++ b/gdb.spec @@ -37,7 +37,7 @@ Version: 7.6.50.%{snap} # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain Group: Development/Debuggers @@ -90,7 +90,6 @@ Provides: bundled(md5-gcc) = %{snapsrc} #push=Should be pushed upstream. #maybepush=Should be pushed upstream unless it got obsoleted there. #fedora=Should stay as a Fedora patch. -#ia64=Drop after RHEL-5 rebases and rebuilds are no longer meaningful. #fedoratest=Keep it in Fedora only as a regression test safety. #+ppc=Specific for ppc32/ppc64/ppc* #+work=Requires some nontrivial work. @@ -122,10 +121,6 @@ Patch1: gdb-6.3-rh-dummykfail-20041202.patch #=fedora Patch2: gdb-6.3-rh-testversion-20041202.patch -# Check that libunwind works - new test then fix -#=ia64 -Patch3: gdb-6.3-rh-testlibunwind-20041202.patch - # Better parse 64-bit PPC system call prologues. #=maybepush+ppc: Write new testcase. Patch105: gdb-6.3-ppc64syscall-20040622.patch @@ -167,34 +162,14 @@ Patch133: gdb-6.3-test-dtorfix-20050121.patch #=fedoratest Patch136: gdb-6.3-test-movedir-20050125.patch -# Fix gcore for threads -#=ia64 -Patch140: gdb-6.3-gcore-thread-20050204.patch - # Test sibling threads to set threaded watchpoints for x86 and x86-64 #=fedoratest Patch145: gdb-6.3-threaded-watchpoints2-20050225.patch -# Do not issue warning message about first page of storage for ia64 gcore -#=ia64 -Patch153: gdb-6.3-ia64-gcore-page0-20050421.patch - -# IA64 sigtramp prev register patch -#=ia64 -Patch158: gdb-6.3-ia64-sigtramp-frame-20050708.patch - -# IA64 gcore speed-up patch -#=ia64 -Patch160: gdb-6.3-ia64-gcore-speedup-20050714.patch - # Notify observers that the inferior has been created #=fedoratest Patch161: gdb-6.3-inferior-notification-20050721.patch -# Fix ia64 info frame bug -#=ia64 -Patch162: gdb-6.3-ia64-info-frame-fix-20050725.patch - # Verify printing of inherited members test #=fedoratest Patch163: gdb-6.3-inheritancetest-20050726.patch @@ -203,10 +178,6 @@ Patch163: gdb-6.3-inheritancetest-20050726.patch #=push Patch164: gdb-6.3-readnever-20050907.patch -# Fix ia64 gdb problem with user-specified SIGILL handling -#=ia64 -Patch169: gdb-6.3-ia64-sigill-20051115.patch - # Fix debuginfo addresses resolving for --emit-relocs Linux kernels (BZ 203661). #=push+work: There was some mail thread about it, this patch may be a hack. Patch188: gdb-6.5-bz203661-emit-relocs.patch @@ -591,7 +562,7 @@ BuildRequires: texlive-ec texlive-cm-super # BuildArch would break RHEL-5 by overriding arch and not building noarch. %if 0%{?el5:1} -ExclusiveArch: noarch i386 x86_64 ppc ppc64 ia64 s390 s390x +ExclusiveArch: noarch i386 x86_64 ppc ppc64 s390 s390x %endif # 0%{?el5:1} %if 0%{?_with_testsuite:1} @@ -638,7 +609,7 @@ BuildRequires: fpc BuildRequires: gcc44 gcc44-gfortran %endif # Copied from gcc-4.1.2-32. -%ifarch %{ix86} x86_64 ia64 ppc alpha +%ifarch %{ix86} x86_64 ppc alpha BuildRequires: gcc-gnat BuildRequires: libgnat%{bits_local} libgnat%{bits_other} %endif @@ -667,16 +638,6 @@ BuildRequires: xz %endif # 0%{?_with_testsuite:1} -%ifarch ia64 -%if 0%{!?el5:1} -BuildRequires: libunwind-devel >= 0.99-0.1.frysk20070405cvs -Requires: libunwind >= 0.99-0.1.frysk20070405cvs -%else -BuildRequires: libunwind >= 0.96-3 -Requires: libunwind >= 0.96-3 -%endif -%endif - %{?scl:Requires:%scl_runtime} %description @@ -756,7 +717,6 @@ find -name "*.info*"|xargs rm -f %patch349 -p1 #patch232 -p1 %patch1 -p1 -%patch3 -p1 %patch105 -p1 %patch111 -p1 @@ -766,16 +726,10 @@ find -name "*.info*"|xargs rm -f %patch125 -p1 %patch133 -p1 %patch136 -p1 -%patch140 -p1 %patch145 -p1 -%patch153 -p1 -%patch158 -p1 -%patch160 -p1 %patch161 -p1 -%patch162 -p1 %patch163 -p1 %patch164 -p1 -%patch169 -p1 %patch188 -p1 %patch194 -p1 %patch196 -p1 @@ -936,7 +890,7 @@ export LDFLAGS="%{?__global_ldflags}" --with-system-gdbinit=%{_sysconfdir}/gdbinit \ --with-gdb-datadir=%{_datadir}/gdb \ --enable-gdb-build-warnings=,-Wno-unused \ -%ifnarch %{ix86} alpha ia64 ppc s390 s390x x86_64 ppc64 sparc sparcv9 sparc64 +%ifnarch %{ix86} alpha ppc s390 s390x x86_64 ppc64 sparc sparcv9 sparc64 --disable-werror \ %else --enable-werror \ @@ -974,11 +928,7 @@ $(: RHEL-5 librpm has incompatible API. ) \ %else --without-lzma \ %endif -%ifarch ia64 - --with-libunwind \ -%else --without-libunwind \ -%endif %ifarch sparc sparcv9 sparc64 --without-mmap \ %endif @@ -1360,8 +1310,11 @@ fi %endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch" %changelog +* Fri Aug 2 2013 Jan Kratochvil - 7.6.50.20130731-2.fc20 +- Drop ia64 patches and .spec support. + * Fri Aug 2 2013 Jan Kratochvil - 7.6.50.20130731-1.fc20 -- Rebase to FSF GDB 7.6.50.20130731 (pre-7.6 snapshot). +- Rebase to FSF GDB 7.6.50.20130731 (snapshot between 7.6 and future 7.7). * Mon Jul 29 2013 Jan Kratochvil - 7.6-36.fc20 - Remove %%{gdb_docdir}, rebuild for unversioned docdirs (for BZ 986871).