Accepting request 198490 from devel:gcc

- gdb-aarch64-hw-break.patch: fix setting hardware debug registers after
  fork

- Merge from fedoras gdb-7.6.50-20130731-cvs, of what will become 7.7
  eventually.  This includes 7.6, which gave:
    * new native configurations (e.g. ARM AArch64 GNU/Linux) 
    * new targets (e.g. ARM AArch64, Lynx 178 PowerPC, x86_64/Cygwin)
    * support for the "mini debuginfo" section, .gnu_debugdata 
    * the C++ ABI now defaults to the GNU v3 ABI 
    * more Python scripting improvements 
    * some GDB/MI improvements 
    * new configure options, new commands, and options 
    * new remote packets 
    * a new "target record-btrace" has been added while the
      "target record" command has been renamed to "target record-full"
- gdb-ia64-tdep.patch: build fixes
- gdb-ppc-ptrace.diff: Remove patch, not needed on new kernels

OBS-URL: https://build.opensuse.org/request/show/198490
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdb?expand=0&rev=93
This commit is contained in:
Stephan Kulow 2013-09-11 13:42:29 +00:00 committed by Git OBS Bridge
parent 9cdd33a15c
commit 21901929ed
58 changed files with 2354 additions and 6039 deletions

View File

@ -1,25 +0,0 @@
2005-02-07 Jeff Johnston <jjohnstn@redhat.com>
* 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);

View File

@ -4,11 +4,11 @@
to install and uninstall.
* gstack.sh, gstack.1: New files.
Index: gdb-7.4.50.20120103/gdb/Makefile.in
Index: gdb-7.6/gdb/Makefile.in
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/Makefile.in 2012-01-03 05:52:15.000000000 +0100
+++ gdb-7.4.50.20120103/gdb/Makefile.in 2012-01-03 05:53:25.974210230 +0100
@@ -1017,7 +1017,7 @@ gdb.z:gdb.1
--- gdb-7.6.orig/gdb/Makefile.in 2013-05-21 13:26:33.496820763 +0200
+++ gdb-7.6/gdb/Makefile.in 2013-05-21 13:26:33.609819579 +0200
@@ -1029,7 +1029,7 @@ info install-info clean-info dvi pdf ins
install: all
@$(MAKE) $(FLAGS_TO_PASS) install-only
@ -17,7 +17,7 @@ Index: gdb-7.4.50.20120103/gdb/Makefile.in
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e "$$t"` ; \
if test "x$$transformed_name" = x; then \
@@ -1039,7 +1039,25 @@ install-only: $(CONFIG_INSTALL)
@@ -1060,7 +1060,25 @@ install-only: $(CONFIG_INSTALL)
install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
@ -44,8 +44,8 @@ Index: gdb-7.4.50.20120103/gdb/Makefile.in
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e $$t` ; \
if test "x$$transformed_name" = x; then \
@@ -1051,6 +1069,18 @@ uninstall: force $(CONFIG_UNINSTALL)
$(DESTDIR)$(man1dir)/$$transformed_name.1
@@ -1083,6 +1101,18 @@ uninstall: force $(CONFIG_UNINSTALL)
fi
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
+.PHONY: uninstall-gstack
@ -63,10 +63,10 @@ Index: gdb-7.4.50.20120103/gdb/Makefile.in
# The C++ name parser can be built standalone for testing.
test-cp-name-parser.o: cp-name-parser.c
$(COMPILE) -DTEST_CPNAMES cp-name-parser.c
Index: gdb-7.4.50.20120103/gdb/gstack.sh
Index: gdb-7.6/gdb/gstack.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120103/gdb/gstack.sh 2012-01-03 05:52:37.278385632 +0100
+++ gdb-7.6/gdb/gstack.sh 2013-05-21 13:26:55.434625908 +0200
@@ -0,0 +1,43 @@
+#!/bin/sh
+
@ -101,7 +101,7 @@ Index: gdb-7.4.50.20120103/gdb/gstack.sh
+
+# Run GDB, strip out unwanted noise.
+# --readnever is no longer used since .gdb_index is now in use.
+$GDB --quiet -nx /proc/$1/exe $1 <<EOF 2>&1 |
+$GDB --quiet -nx $GDBARGS /proc/$1/exe $1 <<EOF 2>&1 |
+set width 0
+set height 0
+set pagination no
@ -111,10 +111,10 @@ Index: gdb-7.4.50.20120103/gdb/gstack.sh
+ -e 's/^\((gdb) \)*//' \
+ -e '/^#/p' \
+ -e '/^Thread/p'
Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/gstack.exp
Index: gdb-7.6/gdb/testsuite/gdb.base/gstack.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120103/gdb/testsuite/gdb.base/gstack.exp 2012-01-03 05:52:37.279385629 +0100
+++ gdb-7.6/gdb/testsuite/gdb.base/gstack.exp 2013-05-21 13:26:55.434625908 +0200
@@ -0,0 +1,66 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+
@ -167,7 +167,7 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/gstack.exp
+# exiting the function. Still we could retry the gstack command if we fail.
+
+set test "spawn gstack"
+set command "sh -c GDB=$GDB\\ sh\\ ${srcdir}/../gstack.sh\\ $pid\\;echo\\ GSTACK-END"
+set command "sh -c GDB=$GDB\\ GDBARGS=-data-directory\\\\\\ $BUILD_DATA_DIRECTORY\\ sh\\ ${srcdir}/../gstack.sh\\ $pid\\;echo\\ GSTACK-END"
+set res [remote_spawn host $command];
+if { $res < 0 || $res == "" } {
+ perror "Spawning $command failed."
@ -182,10 +182,10 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/gstack.exp
+gdb_exit
+
+remote_exec host "kill -9 $pid"
Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/gstack.c
Index: gdb-7.6/gdb/testsuite/gdb.base/gstack.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120103/gdb/testsuite/gdb.base/gstack.c 2012-01-03 05:52:37.279385629 +0100
+++ gdb-7.6/gdb/testsuite/gdb.base/gstack.c 2013-05-21 13:26:33.610819569 +0200
@@ -0,0 +1,43 @@
+/* This testcase is part of GDB, the GNU debugger.
+

View File

@ -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."),

View File

@ -1,126 +0,0 @@
2005-07-14 Jeff Johnsotn <jjohnstn@redhat.com>
* 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/<pid>/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)
{

View File

@ -1,107 +0,0 @@
2005-07-25 Jeff Johnstno <jjohnstn@redhat.com>
* libunwind-frame.c (libunwind_frame_prev_register): Check valuep
is not NULL before copying cursor address into it.
testsuite:
2005-07-25 Jeff Johnstno <jjohnstn@redhat.com>
* gdb.arch/ia64-sigtramp.exp: New test.
* gdb.arch/ia64-sigtramp.c: Ditto.
2008-02-24 Jan Kratochvil <jan.kratochvil@redhat.com>
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 <stdio.h>
+#include <signal.h>
+
+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"

View File

@ -1,95 +0,0 @@
2005-11-15 Jeff Johnston <jjohnstn@redhat.com>
* 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 <jjohnstn@redhat.com>
* 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 <stdio.h>
+
+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))
{

View File

@ -1,158 +0,0 @@
2005-07-08 Jeff Johnston <jjohnstn@redhat.com>
* ia64-tdep.c (ia64_sigtramp_frame_prev_register): Build
pseudo-registers the same as ia64_pseudo_register_read.
2008-04-16 Yi Zhan <yi.zhan@intel.com>
* ia64-tdep.c (ia64_sigtramp_frame_prev_register): Fix an
ISO C compliance compilation error.
2008-02-12 Jan Kratochvil <jan.kratochvil@redhat.com>
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];

View File

@ -1,8 +1,8 @@
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.exp 2009-06-29 16:24:36.000000000 +0200
@@ -0,0 +1,96 @@
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.exp 2013-08-02 22:24:04.747745133 +0200
@@ -0,0 +1,101 @@
+# Copyright 2007, 2009 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
@ -46,16 +46,21 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.exp
+gdb_breakpoint "initialized"
+gdb_breakpoint "unresolved"
+
+set oldtimeout $timeout
+set timeout [expr $oldtimeout + 120]
+
+set test "Continue to initialized."
+gdb_test_multiple "continue" $test {
+ -re "Breakpoint .*, initialized .* at .*\r\n$gdb_prompt $" {
+ pass $test
+ }
+ -re "Breakpoint .*, unresolved .* at .*\r\n$gdb_prompt $" {
+ set timeout $oldtimeout
+ unsupported $test
+ return -1
+ }
+}
+set timeout $oldtimeout
+
+set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore-shmid0.test]
+
@ -99,11 +104,11 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.exp
+ fail $test
+ }
+}
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.c
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.c 2009-06-29 16:22:49.000000000 +0200
@@ -0,0 +1,123 @@
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.c 2013-08-02 22:22:17.573599496 +0200
@@ -0,0 +1,127 @@
+/* Copyright 2007, 2009 Free Software Foundation, Inc.
+
+ This file is part of GDB.
@ -140,14 +145,18 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.c
+
+#define TIMEOUT_SEC 10
+
+static volatile int v;
+
+static void
+initialized (void)
+{
+ v++;
+}
+
+static void
+unresolved (void)
+{
+ v++;
+}
+
+int
@ -189,7 +198,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.c
+ }
+
+ printf ("Problem is not reproducible on this kernel (attempt %d, "
+ "round %d))\n", attempt, round);
+ "round %d)\n", attempt, round);
+ unresolved ();
+ exit (1);
+ }

View File

@ -11,11 +11,11 @@
* gdb.texinfo (File Options): Document --readnever.
Index: gdb-7.5.50.20130215/gdb/doc/gdb.texinfo
Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/doc/gdb.texinfo 2013-02-15 22:31:37.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/doc/gdb.texinfo 2013-02-15 22:34:22.381165443 +0100
@@ -1026,6 +1026,12 @@ Read each symbol file's entire symbol ta
--- gdb-7.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 16:12:54.970085942 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:20:21.164687886 +0200
@@ -1030,6 +1030,12 @@ Read each symbol file's entire symbol ta
the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster.
@ -28,11 +28,11 @@ Index: gdb-7.5.50.20130215/gdb/doc/gdb.texinfo
@end table
@node Mode Options
Index: gdb-7.5.50.20130215/gdb/main.c
Index: gdb-7.6.50.20130731-cvs/gdb/main.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/main.c 2013-02-15 22:31:37.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/main.c 2013-02-15 22:34:22.382165445 +0100
@@ -447,6 +447,7 @@ captured_main (void *data)
--- gdb-7.6.50.20130731-cvs.orig/gdb/main.c 2013-08-02 16:12:54.974085948 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:20:53.704731449 +0200
@@ -459,6 +459,7 @@ captured_main (void *data)
{"xdb", no_argument, &xdb_commands, 1},
{"dbx", no_argument, &dbx_commands, 1},
{"readnow", no_argument, &readnow_symbol_files, 1},
@ -40,19 +40,19 @@ Index: gdb-7.5.50.20130215/gdb/main.c
{"r", no_argument, &readnow_symbol_files, 1},
{"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1},
@@ -1165,6 +1166,7 @@ Options:\n\n\
fputs_unfiltered (_("\
--quiet Do not print version number on startup.\n\
@@ -1154,6 +1155,7 @@ Selection of debuggee and its files:\n\n
--se=FILE Use FILE as symbol file and executable file.\n\
--symbols=SYMFILE Read symbols from SYMFILE.\n\
--readnow Fully read symbol files on first access.\n\
+ --readnever Do not read symbol files.\n\
--write Set writing into executable and core files.\n\n\
"), stream);
fputs_unfiltered (_("\
--se=FILE Use FILE as symbol file and executable file.\n\
Index: gdb-7.5.50.20130215/gdb/symfile.c
Index: gdb-7.6.50.20130731-cvs/gdb/symfile.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/symfile.c 2013-02-01 20:39:03.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/symfile.c 2013-02-15 22:34:22.383165447 +0100
@@ -81,6 +81,7 @@ static void clear_symtab_users_cleanup (
--- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.c 2013-08-02 16:12:54.975085949 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/symfile.c 2013-08-02 16:20:21.165687888 +0200
@@ -82,6 +82,7 @@ static void clear_symtab_users_cleanup (
/* Global variables owned by this file. */
int readnow_symbol_files; /* Read full symbols immediately. */
@ -60,19 +60,19 @@ Index: gdb-7.5.50.20130215/gdb/symfile.c
/* Functions this file defines. */
Index: gdb-7.5.50.20130215/gdb/dwarf2read.c
Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/dwarf2read.c 2013-02-15 22:31:37.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/dwarf2read.c 2013-02-15 22:34:34.479181584 +0100
@@ -68,6 +68,7 @@
#include "gdb_bfd.h"
--- gdb-7.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:12:54.979085954 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:20:37.190709689 +0200
@@ -69,6 +69,7 @@
#include "f-lang.h"
#include "source.h"
#include "filestuff.h"
+#include "top.h"
#include <fcntl.h>
#include "gdb_string.h"
@@ -1793,8 +1794,9 @@ dwarf2_has_info (struct objfile *objfile
@@ -1834,8 +1835,9 @@ dwarf2_has_info (struct objfile *objfile
(void *) names);
dwarf2_per_objfile->objfile = objfile;
}
@ -84,11 +84,11 @@ Index: gdb-7.5.50.20130215/gdb/dwarf2read.c
}
/* When loading sections, we look either for uncompressed section or for
Index: gdb-7.5.50.20130215/gdb/top.h
Index: gdb-7.6.50.20130731-cvs/gdb/top.h
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/top.h 2013-01-07 17:40:36.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/top.h 2013-02-15 22:34:22.389165459 +0100
@@ -58,6 +58,7 @@ extern void set_prompt (const char *s);
--- gdb-7.6.50.20130731-cvs.orig/gdb/top.h 2013-08-02 16:12:54.980085956 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/top.h 2013-08-02 16:20:21.169687893 +0200
@@ -59,6 +59,7 @@ extern void set_prompt (const char *s);
/* From random places. */
extern int readnow_symbol_files;

View File

@ -1,103 +0,0 @@
2003-11-17 Elena Zannoni <ezannoni@redhat.com>
From Jeff Johnston <jjohnstn@redhat.com>
* gdb.arch/ia64-libunwind.exp: New file.
* gdb.arch/ia64-libunwind.c: New file.
2004-08-03 Jeff Johnston <jjohnstn@redhat.com>
* 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 <jan.kratochvil@redhat.com>
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 <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+
+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
+ }
+}

View File

@ -1,7 +1,7 @@
Index: gdb-7.4.50.20120602/gdb/testsuite/configure.ac
Index: gdb-7.5.91.20130323/gdb/testsuite/configure.ac
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/testsuite/configure.ac 2012-04-25 16:07:22.000000000 +0200
+++ gdb-7.4.50.20120602/gdb/testsuite/configure.ac 2012-06-02 18:24:38.456266545 +0200
--- gdb-7.5.91.20130323.orig/gdb/testsuite/configure.ac 2013-03-11 09:59:00.000000000 +0100
+++ gdb-7.5.91.20130323/gdb/testsuite/configure.ac 2013-03-23 19:47:24.189683555 +0100
@@ -96,6 +96,6 @@ AC_OUTPUT([Makefile \
gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \
gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile \
@ -10,20 +10,20 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/configure.ac
+ gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \
gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \
gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile])
Index: gdb-7.4.50.20120602/gdb/testsuite/configure
Index: gdb-7.5.91.20130323/gdb/testsuite/configure
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/testsuite/configure 2012-04-25 16:07:21.000000000 +0200
+++ gdb-7.4.50.20120602/gdb/testsuite/configure 2012-06-02 18:25:06.200258240 +0200
--- gdb-7.5.91.20130323.orig/gdb/testsuite/configure 2013-03-11 09:59:00.000000000 +0100
+++ gdb-7.5.91.20130323/gdb/testsuite/configure 2013-03-23 19:47:47.256822312 +0100
@@ -3448,7 +3448,7 @@ done
-ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
+ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
-ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
+ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -4175,6 +4175,7 @@ do
@@ -4176,6 +4176,7 @@ do
"gdb.opencl/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opencl/Makefile" ;;
"gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
"gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
@ -31,10 +31,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/configure
"gdb.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
"gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
"gdb.stabs/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.stabs/Makefile" ;;
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach.c
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach.c 2012-06-02 18:24:38.497266532 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.c 2013-03-23 19:47:24.191683466 +0100
@@ -0,0 +1,20 @@
+/* This program is intended to be started outside of gdb, and then
+ attached to by gdb. Thus, it simply spins in a loop. The loop
@ -56,10 +56,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach.c
+ }
+ return 0;
+}
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach2.c
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach2.c 2012-06-02 18:24:38.504266529 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach2.c 2013-03-23 19:47:24.192683421 +0100
@@ -0,0 +1,24 @@
+/* This program is intended to be started outside of gdb, and then
+ attached to by gdb. Thus, it simply spins in a loop. The loop
@ -85,10 +85,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach2.c
+ }
+ return (0);
+}
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break.c
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break.c 2012-06-02 18:24:38.505266529 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.c 2013-03-23 19:47:24.192683421 +0100
@@ -0,0 +1,146 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@ -236,10 +236,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break.c
+ }
+ return 0;
+}
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break1.c
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break1.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break1.c 2012-06-02 18:24:38.506266530 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break1.c 2013-03-23 19:47:24.192683421 +0100
@@ -0,0 +1,44 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@ -285,10 +285,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break1.c
+void marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */
+void marker4 (d) long d; {} /* set breakpoint 13 here */
+#endif
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/coremaker.c
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/coremaker.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/coremaker.c 2012-06-02 18:24:38.506266530 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/coremaker.c 2013-03-23 19:47:24.192683421 +0100
@@ -0,0 +1,142 @@
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
+ Free Software Foundation, Inc.
@ -432,10 +432,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/coremaker.c
+ return 0;
+}
+
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach.exp
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach.exp 2012-06-02 18:24:38.508266531 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.exp 2013-03-23 19:47:24.193683377 +0100
@@ -0,0 +1,417 @@
+# Copyright 1997, 1999, 2002 Free Software Foundation, Inc.
+
@ -854,10 +854,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/attach.exp
+do_call_attach_tests
+
+return 0
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break.exp
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break.exp 2012-06-02 18:24:38.510266529 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.exp 2013-03-23 19:47:24.194683332 +0100
@@ -0,0 +1,962 @@
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2002, 2003, 2004
@ -1821,10 +1821,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/break.exp
+ send_gdb "set args main\n"
+ gdb_expect -re ".*$gdb_prompt $" {}
+}
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/corefile.exp
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/corefile.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/corefile.exp 2012-06-02 18:24:38.511266528 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/corefile.exp 2013-03-23 19:47:24.194683332 +0100
@@ -0,0 +1,233 @@
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Free Software Foundation, Inc.
@ -2059,10 +2059,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/corefile.exp
+gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)"
+
+gdb_test "core" "No core file now."
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/Makefile.in
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/Makefile.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/Makefile.in 2012-06-02 18:24:38.512266527 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/Makefile.in 2013-03-23 19:47:24.194683332 +0100
@@ -0,0 +1,19 @@
+VPATH = @srcdir@
+srcdir = @srcdir@

View File

@ -6,96 +6,30 @@
* gdb.gdb/xfullpath.exp: Ditto.
* gdb.gdb/observer.exp: Ditto.
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/complaints.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/selftest-support.exp
===================================================================
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.gdb/complaints.exp 2009-01-03 06:58:04.000000000 +0100
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/complaints.exp 2009-02-26 22:10:48.000000000 +0100
@@ -302,13 +302,13 @@ proc find_gdb { arg } {
set GDB_FULLPATH [find_gdb $GDB]
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/selftest-support.exp 2013-08-02 16:11:29.195971922 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/selftest-support.exp 2013-08-02 16:12:20.404040378 +0200
@@ -130,18 +130,18 @@ proc do_self_tests {function body} {
set GDB_FULLPATH [find_gdb $GDB]
# Remove any old copy lying around.
-remote_file host delete x$tool
+#remote_file host delete x$tool
# Remove any old copy lying around.
- remote_file host delete x$tool
+ #remote_file host delete x$tool
gdb_start
gdb_start
- set file [remote_download host $GDB_FULLPATH x$tool]
+ #set file [remote_download host $GDB_FULLPATH x$tool]
-set file [remote_download host $GDB_FULLPATH x$tool]
+#set file [remote_download host $GDB_FULLPATH x$tool]
- set result [selftest_setup $file $function]
+ set result [selftest_setup $GDB_FULLPATH $function]
if {$result == 0} then {
set result [uplevel $body]
}
-set setup_result [setup_test $file ]
+set setup_result [setup_test $GDB_FULLPATH ]
if {$setup_result <0} then {
return -1
}
@@ -319,4 +319,4 @@ test_short_complaints
test_empty_complaints
gdb_exit
- catch "remote_file host delete $file"
+ #catch "remote_file host delete $file"
gdb_exit;
-catch "remote_file host delete $file";
+#catch "remote_file host delete $file";
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/observer.exp
===================================================================
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.gdb/observer.exp 2009-02-17 20:52:27.000000000 +0100
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/observer.exp 2009-02-26 22:11:40.000000000 +0100
@@ -258,13 +258,13 @@ proc find_gdb { arg } {
set GDB_FULLPATH [find_gdb $GDB]
# Remove any old copy lying around.
-remote_file host delete x$tool
+#remote_file host delete x$tool
gdb_start
-set file [remote_download host $GDB_FULLPATH x$tool]
-set result [test_observer $file];
+#set file [remote_download host $GDB_FULLPATH x$tool]
+set result [test_observer $GDB_FULLPATH];
gdb_exit;
-catch "remote_file host delete $file";
+#catch "remote_file host delete $file";
if {$result <0} then {
warning "Couldn't test self"
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/selftest.exp
===================================================================
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.gdb/selftest.exp 2009-02-26 22:09:59.000000000 +0100
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/selftest.exp 2009-02-26 22:10:48.000000000 +0100
@@ -551,13 +551,13 @@ proc find_gdb { arg } {
set GDB_FULLPATH [find_gdb $GDB]
# Remove any old copy lying around.
-remote_file host delete x$tool
+#remote_file host delete x$tool
gdb_start
-set file [remote_download host $GDB_FULLPATH x$tool]
-set result [test_with_self $file];
+#set file [remote_download host $GDB_FULLPATH x$tool]
+set result [test_with_self $GDB_FULLPATH];
gdb_exit;
-catch "remote_file host delete $file";
+#catch "remote_file host delete $file";
if {$result <0} then {
warning "Couldn't test self"
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/xfullpath.exp
===================================================================
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.gdb/xfullpath.exp 2009-01-03 06:58:04.000000000 +0100
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/xfullpath.exp 2009-02-26 22:10:48.000000000 +0100
@@ -179,13 +179,13 @@ proc find_gdb { arg } {
set GDB_FULLPATH [find_gdb $GDB]
# Remove any old copy lying around.
-remote_file host delete x$tool
+#remote_file host delete x$tool
gdb_start
-set file [remote_download host $GDB_FULLPATH x$tool]
-set result [test_with_self $file];
+#set file [remote_download host $GDB_FULLPATH x$tool]
+set result [test_with_self $GDB_FULLPATH];
gdb_exit;
-catch "remote_file host delete $file";
+#catch "remote_file host delete $file";
if {$result <0} then {
warning "Couldn't test self"
if {$result < 0} then {
warning "Couldn't test self"

View File

@ -1,9 +1,7 @@
Index: ./gdb/testsuite/gdb.threads/threadcrash.c
Index: gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.c
===================================================================
RCS file: gdb/testsuite/gdb.threads/threadcrash.c
diff -N gdb/testsuite/gdb.threads/threadcrash.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.c 31 Oct 2006 17:54:38 -0000
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.c 2013-05-21 13:35:45.592059786 +0200
@@ -0,0 +1,301 @@
+/*
+ * The point of this program is to crash in a multi-threaded app.
@ -306,12 +304,10 @@ diff -N gdb/testsuite/gdb.threads/threadcrash.c
+
+ return 0;
+}
Index: ./gdb/testsuite/gdb.threads/threadcrash.exp
Index: gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.exp
===================================================================
RCS file: gdb/testsuite/gdb.threads/threadcrash.exp
diff -N gdb/testsuite/gdb.threads/threadcrash.exp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.exp 31 Oct 2006 17:54:38 -0000
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.exp 2013-05-21 13:36:01.451056746 +0200
@@ -0,0 +1,37 @@
+# threadcrash.exp - The point of this program is to crash in a multi-threaded app.
+
@ -337,7 +333,7 @@ diff -N gdb/testsuite/gdb.threads/threadcrash.exp
+}
+
+# ${shellfile} argument must not contain any directories.
+set fd [open "|bash ${shellfile} ${binfile} $GDB -nw $GDBFLAGS" r]
+set fd [open "|bash ${shellfile} ${binfile} $GDB $INTERNAL_GDBFLAGS $GDBFLAGS [host_info gdb_opts]" r]
+while { [gets $fd line] >= 0 } {
+ if [regexp " PASS: (.*)$" $line trash message] {
+ pass $message
@ -350,12 +346,10 @@ diff -N gdb/testsuite/gdb.threads/threadcrash.exp
+}
+
+return 0
Index: ./gdb/testsuite/gdb.threads/threadcrash.sh
Index: gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.sh
===================================================================
RCS file: gdb/testsuite/gdb.threads/threadcrash.sh
diff -N gdb/testsuite/gdb.threads/threadcrash.sh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.sh 31 Oct 2006 17:54:38 -0000
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.sh 2013-05-21 13:35:45.593059786 +0200
@@ -0,0 +1,324 @@
+#! /bin/bash
+
@ -681,12 +675,10 @@ diff -N gdb/testsuite/gdb.threads/threadcrash.sh
+rm -rf $WORKDIR
+
+exit $FAILURES
Index: ./gdb/testsuite/gdb.threads/threadcrash.sh-orig
Index: gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.sh-orig
===================================================================
RCS file: gdb/testsuite/gdb.threads/threadcrash.sh-orig
diff -N gdb/testsuite/gdb.threads/threadcrash.sh-orig
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.sh-orig 31 Oct 2006 17:54:38 -0000
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.sh-orig 2013-05-21 13:35:45.593059786 +0200
@@ -0,0 +1,248 @@
+#! /bin/bash
+

View File

@ -32,21 +32,23 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug:
<81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -967,6 +967,8 @@ print_command_1 (char *exp, int inspect, int voidprint)
Index: gdb-7.6.50.20130731-cvs/gdb/printcmd.c
===================================================================
--- gdb-7.6.50.20130731-cvs.orig/gdb/printcmd.c 2013-08-02 16:21:13.665758324 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/printcmd.c 2013-08-02 16:22:24.367853322 +0200
@@ -982,6 +982,8 @@ print_command_1 (const char *exp, int vo
if (exp && *exp)
{
+ if (strcmp (exp, "errno") == 0)
+ exp = "*((int *(*) (void)) __errno_location) ()";
expr = parse_expression (exp);
old_chain = make_cleanup (free_current_contents, &expr);
cleanup = 1;
Index: gdb-7.2/gdb/testsuite/gdb.dwarf2/dw2-errno.c
make_cleanup (free_current_contents, &expr);
val = evaluate_expression (expr);
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.dwarf2/dw2-errno.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.2/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2011-03-29 10:55:35.000000000 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2013-08-02 16:21:13.665758324 +0200
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@ -76,10 +78,10 @@ Index: gdb-7.2/gdb/testsuite/gdb.dwarf2/dw2-errno.c
+
+ return 0; /* breakpoint */
+}
Index: gdb-7.2/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.2/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2011-03-29 10:55:35.000000000 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2013-08-02 16:21:13.665758324 +0200
@@ -0,0 +1,60 @@
+# Copyright 2007 Free Software Foundation, Inc.
+

View File

@ -1,11 +1,11 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218379
Index: gdb-7.5.50.20130118/gdb/symtab.c
Index: gdb-7.6.50.20130731-cvs/gdb/symtab.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/symtab.c 2013-01-18 23:53:22.009797788 +0100
+++ gdb-7.5.50.20130118/gdb/symtab.c 2013-01-18 23:53:51.044846777 +0100
@@ -2356,6 +2356,13 @@ find_pc_sect_line (CORE_ADDR pc, struct
--- gdb-7.6.50.20130731-cvs.orig/gdb/symtab.c 2013-08-02 17:06:19.854663801 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/symtab.c 2013-08-02 17:07:04.317721471 +0200
@@ -2327,6 +2327,13 @@ find_pc_sect_line (CORE_ADDR pc, struct
SYMBOL_LINKAGE_NAME (msymbol)); */
;
/* fall through */
@ -14,7 +14,7 @@ Index: gdb-7.5.50.20130118/gdb/symtab.c
+ Avoid `find_pc_sect_line'<->`find_pc_line' infinite loop.
+ Red Hat Bug 218379. */
+ else if (SYMBOL_VALUE (mfunsym) == pc)
+ warning ("In stub for %s (0x%s); interlocked, please submit the binary to http://bugzilla.redhat.com", SYMBOL_LINKAGE_NAME (msymbol), paddress (target_gdbarch (), pc));
+ warning ("In stub for %s (0x%s); interlocked, please submit the binary to http://bugzilla.redhat.com", SYMBOL_LINKAGE_NAME (msymbol.minsym), paddress (target_gdbarch (), pc));
+ /* fall through */
else
return find_pc_line (SYMBOL_VALUE_ADDRESS (mfunsym), 0);

View File

@ -58,13 +58,13 @@ Http://sourceware.org/ml/gdb-patches/2010-01/msg00517.html
* exec.c (exec_file_attach): Print a more useful error message if the
user did "gdb core".
Index: gdb-7.4.91.20120801/gdb/exceptions.h
Index: gdb-7.6.50.20130731-cvs/gdb/exceptions.h
===================================================================
--- gdb-7.4.91.20120801.orig/gdb/exceptions.h 2012-01-04 09:17:01.000000000 +0100
+++ gdb-7.4.91.20120801/gdb/exceptions.h 2012-08-01 18:43:39.806959992 +0200
@@ -86,6 +86,9 @@ enum errors {
/* DW_OP_GNU_entry_value resolving failed. */
NO_ENTRY_VALUE_ERROR,
--- gdb-7.6.50.20130731-cvs.orig/gdb/exceptions.h 2013-08-02 16:29:44.770440262 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/exceptions.h 2013-08-02 16:30:06.197468727 +0200
@@ -90,6 +90,9 @@ enum errors {
aborted as the inferior state is no longer valid. */
TARGET_CLOSE_ERROR,
+ /* Attempt to load a core file as executable. */
+ IS_CORE_ERROR,
@ -72,10 +72,10 @@ Index: gdb-7.4.91.20120801/gdb/exceptions.h
/* Add more errors here. */
NR_ERRORS
};
Index: gdb-7.4.91.20120801/gdb/exec.c
Index: gdb-7.6.50.20130731-cvs/gdb/exec.c
===================================================================
--- gdb-7.4.91.20120801.orig/gdb/exec.c 2012-08-01 18:36:51.000000000 +0200
+++ gdb-7.4.91.20120801/gdb/exec.c 2012-08-01 18:44:39.928627287 +0200
--- gdb-7.6.50.20130731-cvs.orig/gdb/exec.c 2013-08-02 16:29:44.771440264 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/exec.c 2013-08-02 16:31:30.100618657 +0200
@@ -34,6 +34,7 @@
#include "gdbthread.h"
#include "progspace.h"
@ -84,7 +84,7 @@ Index: gdb-7.4.91.20120801/gdb/exec.c
#include <fcntl.h>
#include "readline/readline.h"
@@ -242,12 +243,27 @@ exec_file_attach (char *filename, int fr
@@ -217,12 +218,27 @@ exec_file_attach (char *filename, int fr
if (!bfd_check_format_matches (exec_bfd, bfd_object, &matching))
{
@ -114,12 +114,12 @@ Index: gdb-7.4.91.20120801/gdb/exec.c
+ gdb_bfd_errmsg (bfd_get_error (), matching));
}
/* FIXME - This should only be run for RS6000, but the ifdef is a poor
Index: gdb-7.4.91.20120801/gdb/main.c
if (build_section_table (exec_bfd, &sections, &sections_end))
Index: gdb-7.6.50.20130731-cvs/gdb/main.c
===================================================================
--- gdb-7.4.91.20120801.orig/gdb/main.c 2012-08-01 18:36:51.000000000 +0200
+++ gdb-7.4.91.20120801/gdb/main.c 2012-08-01 18:43:39.810959970 +0200
@@ -266,6 +266,36 @@ typedef struct cmdarg {
--- gdb-7.6.50.20130731-cvs.orig/gdb/main.c 2013-08-02 16:29:44.772440265 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:30:06.199468730 +0200
@@ -300,6 +300,36 @@ typedef struct cmdarg {
/* Define type VEC (cmdarg_s). */
DEF_VEC_O (cmdarg_s);
@ -156,7 +156,7 @@ Index: gdb-7.4.91.20120801/gdb/main.c
static int
captured_main (void *data)
{
@@ -762,6 +792,8 @@ captured_main (void *data)
@@ -810,6 +840,8 @@ captured_main (void *data)
{
symarg = argv[optind];
execarg = argv[optind];
@ -165,7 +165,7 @@ Index: gdb-7.4.91.20120801/gdb/main.c
optind++;
}
@@ -917,11 +949,25 @@ captured_main (void *data)
@@ -975,11 +1007,25 @@ captured_main (void *data)
&& symarg != NULL
&& strcmp (execarg, symarg) == 0)
{

View File

@ -0,0 +1,105 @@
warning: Skipping deprecated .gdb_index section
https://bugzilla.redhat.com/show_bug.cgi?id=953585
--- gdb-7.5.91.20130407-orig/gdb/dwarf2read.c 2013-04-22 15:47:18.837806752 +0200
+++ gdb-7.5.91.20130407/gdb/dwarf2read.c 2013-04-22 16:12:55.043171881 +0200
@@ -2700,6 +2700,14 @@ read_index_from_section (struct objfile
"set use-deprecated-index-sections on". */
if (version < 6 && !deprecated_ok)
{
+ extern int rpm_verify_vendor (const char *filename);
+
+ /* Red Hat Developer Toolset exception. */
+ if (rpm_verify_vendor (filename))
+ {}
+ else
+ {
+
static int warning_printed = 0;
if (!warning_printed)
{
@@ -2711,6 +2719,8 @@ to use the section anyway."),
warning_printed = 1;
}
return 0;
+
+ }
}
/* Version 7 indices generated by gold refer to the CU for a symbol instead
of the TU (for symbols coming from TUs). It's just a performance bug, and
--- gdb-7.5.91.20130407-orig/gdb/elfread.c 2013-04-22 15:47:18.637807200 +0200
+++ gdb-7.5.91.20130407/gdb/elfread.c 2013-04-22 16:04:09.259429034 +0200
@@ -1674,7 +1674,7 @@ static int missing_rpm_list_entries;
/* Returns the count of newly added rpms. */
static int
-missing_rpm_enlist (const char *filename)
+missing_rpm_enlist_1 (const char *filename, int verify_vendor)
{
static int rpm_init_done = 0;
rpmts ts;
@@ -1778,7 +1778,7 @@ missing_rpm_enlist (const char *filename
mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0);
if (mi != NULL)
{
- for (;;)
+ if (!verify_vendor) for (;;)
{
Header h;
char *debuginfo, **slot, *s, *s2;
@@ -1897,6 +1897,35 @@ missing_rpm_enlist (const char *filename
xfree (debuginfo);
count++;
}
+ else /* verify_vendor */
+ {
+ int vendor_pass = 0, vendor_fail = 0;
+
+ for (;;)
+ {
+ Header h;
+ errmsg_t err;
+ char *vendor;
+
+ h = rpmdbNextIterator_p (mi);
+ if (h == NULL)
+ break;
+
+ vendor = headerFormat_p (h, "%{vendor}", &err);
+ if (!vendor)
+ {
+ warning (_("Error querying the rpm file `%s': %s"), filename,
+ err);
+ continue;
+ }
+ if (strcmp (vendor, "Red Hat, Inc.") == 0)
+ vendor_pass = 1;
+ else
+ vendor_fail = 1;
+ xfree (vendor);
+ }
+ count = vendor_pass != 0 && vendor_fail == 0;
+ }
rpmdbFreeIterator_p (mi);
}
@@ -1907,6 +1936,19 @@ missing_rpm_enlist (const char *filename
}
static int
+missing_rpm_enlist (const char *filename)
+{
+ return missing_rpm_enlist_1 (filename, 0);
+}
+
+extern int rpm_verify_vendor (const char *filename);
+int
+rpm_verify_vendor (const char *filename)
+{
+ return missing_rpm_enlist_1 (filename, 1);
+}
+
+static int
missing_rpm_list_compar (const char *const *ap, const char *const *bp)
{
return strcoll (*ap, *bp);

View File

@ -1,8 +1,8 @@
Index: gdb-7.4.50.20120603/gdb/elfread.c
Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
===================================================================
--- gdb-7.4.50.20120603.orig/gdb/elfread.c 2012-06-12 15:12:05.000000000 +0200
+++ gdb-7.4.50.20120603/gdb/elfread.c 2012-06-12 15:13:39.678712939 +0200
@@ -1809,9 +1809,9 @@ missing_rpm_enlist (const char *filename
--- gdb-7.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-07 14:59:00.000000000 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-07 15:01:35.000000000 +0200
@@ -1863,9 +1863,9 @@ missing_rpm_enlist_1 (const char *filena
if (h == NULL)
break;
@ -15,7 +15,7 @@ Index: gdb-7.4.50.20120603/gdb/elfread.c
&err);
if (!debuginfo)
{
@@ -1819,60 +1819,19 @@ missing_rpm_enlist (const char *filename
@@ -1873,60 +1873,19 @@ missing_rpm_enlist_1 (const char *filena
err);
continue;
}
@ -77,8 +77,8 @@ Index: gdb-7.4.50.20120603/gdb/elfread.c
-
/* Base package name for `debuginfo-install'. We do not use the
`yum' command directly as the line
yum --disablerepo='*' --enablerepo='*debug*' \
@@ -1958,7 +1917,7 @@ missing_rpm_list_print (void)
yum --enablerepo='*debug*' install NAME-debuginfo.ARCH
@@ -2053,7 +2012,7 @@ missing_rpm_list_print (void)
(int (*) (const void *, const void *)) missing_rpm_list_compar);
printf_unfiltered (_("Missing separate debuginfos, use: %s"),
@ -87,13 +87,12 @@ Index: gdb-7.4.50.20120603/gdb/elfread.c
for (array_iter = array; array_iter < array + missing_rpm_list_entries;
array_iter++)
{
@@ -2171,9 +2130,12 @@ debug_print_missing (const char *binary,
@@ -2266,8 +2225,12 @@ debug_print_missing (const char *binary,
fprintf_unfiltered (gdb_stdlog,
_("Missing separate debuginfo for %s\n"), binary);
if (debug != NULL)
- fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"),
- "yum --disablerepo='*' --enablerepo='*debug*'"
- " install", debug);
- "yum --enablerepo='*debug*' install", debug);
+ {
+ const char *p = strrchr (debug, '/');
+ fprintf_unfiltered (gdb_stdlog, _("Try: %s%.2s%.38s\"\n"),

View File

@ -1,16 +1,16 @@
Index: gdb-7.5.50.20130215/gdb/event-top.c
Index: gdb-7.6.50.20130731-cvs/gdb/event-top.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/event-top.c 2013-01-31 19:37:37.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/event-top.c 2013-02-15 22:36:11.217308539 +0100
@@ -36,6 +36,7 @@
#include "continuations.h"
--- gdb-7.6.50.20130731-cvs.orig/gdb/event-top.c 2013-08-02 16:25:24.968094398 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/event-top.c 2013-08-02 16:25:38.638112874 +0200
@@ -37,6 +37,7 @@
#include "gdbcmd.h" /* for dont_repeat() */
#include "annotate.h"
#include "maint.h"
+#include "symfile.h"
/* readline include files. */
#include "readline/readline.h"
@@ -170,6 +171,8 @@ rl_callback_read_char_wrapper (gdb_clien
@@ -171,6 +172,8 @@ rl_callback_read_char_wrapper (gdb_clien
void
cli_command_loop (void)
{
@ -19,7 +19,7 @@ Index: gdb-7.5.50.20130215/gdb/event-top.c
display_gdb_prompt (0);
/* Now it's time to start the event loop. */
@@ -237,6 +240,8 @@ display_gdb_prompt (char *new_prompt)
@@ -238,6 +241,8 @@ display_gdb_prompt (char *new_prompt)
/* Reset the nesting depth used when trace-commands is set. */
reset_command_nest_depth ();
@ -28,10 +28,10 @@ Index: gdb-7.5.50.20130215/gdb/event-top.c
/* Each interpreter has its own rules on displaying the command
prompt. */
if (!current_interp_display_prompt_p ())
Index: gdb-7.5.50.20130215/gdb/elfread.c
Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/elfread.c 2013-02-15 22:35:36.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/elfread.c 2013-02-15 22:35:59.414292874 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-02 16:25:24.970094401 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-02 16:25:27.336097557 +0200
@@ -49,6 +49,7 @@
#include "gdbcore.h"
#include "gdbcmd.h"
@ -40,7 +40,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
#include <sys/stat.h>
extern void _initialize_elfread (void);
@@ -1649,8 +1650,361 @@ build_id_to_filename (struct build_id *b
@@ -1701,8 +1702,360 @@ build_id_to_filename (const struct elf_b
return retval;
}
@ -258,8 +258,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+
+ /* Base package name for `debuginfo-install'. We do not use the
+ `yum' command directly as the line
+ yum --disablerepo='*' --enablerepo='*debug*' \
+ install NAME-debuginfo.ARCH
+ yum --enablerepo='*debug*' install NAME-debuginfo.ARCH
+ would be more complicated than just:
+ debuginfo-install NAME-VERSION-RELEASE.ARCH
+ Do not supply the rpm base name (derived from .src.rpm name) as
@ -399,11 +398,11 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+
/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
- Try to install the hash file ...
+ yum --disablerepo='*' --enablerepo='*debug*' install ...
+ yum --enablerepo='*debug*' install ...
avoidance. */
struct missing_filepair
@@ -1704,11 +2058,17 @@ missing_filepair_change (void)
@@ -1756,11 +2109,17 @@ missing_filepair_change (void)
/* All their memory came just from missing_filepair_OBSTACK. */
missing_filepair_hash = NULL;
}
@ -421,7 +420,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
missing_filepair_change ();
}
@@ -1775,14 +2135,35 @@ debug_print_missing (const char *binary,
@@ -1827,14 +2186,34 @@ debug_print_missing (const char *binary,
*slot = missing_filepair;
@ -458,18 +457,17 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ _("Missing separate debuginfo for %s\n"), binary);
+ if (debug != NULL)
+ fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"),
+ "yum --disablerepo='*' --enablerepo='*debug*'"
+ " install", debug);
+ "yum --enablerepo='*debug*' install", debug);
+ }
}
static char *
Index: gdb-7.5.50.20130215/gdb/symfile.h
Index: gdb-7.6.50.20130731-cvs/gdb/symfile.h
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/symfile.h 2013-02-15 22:35:03.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/symfile.h 2013-02-15 22:35:59.414292874 +0100
@@ -599,6 +599,8 @@ extern struct build_id *build_id_addr_ge
extern char *build_id_to_filename (struct build_id *build_id,
--- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.h 2013-08-02 16:25:24.971094402 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/symfile.h 2013-08-02 16:25:27.336097557 +0200
@@ -602,6 +602,8 @@ extern struct elf_build_id *build_id_add
extern char *build_id_to_filename (const struct elf_build_id *build_id,
char **link_return, int add_debug_suffix);
extern void debug_print_missing (const char *binary, const char *debug);
+extern void debug_flush_missing (void);
@ -477,10 +475,10 @@ Index: gdb-7.5.50.20130215/gdb/symfile.h
/* From dwarf2read.c */
Index: gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/testsuite/lib/gdb.exp 2013-02-15 22:35:03.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp 2013-02-15 22:35:59.415292878 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/gdb.exp 2013-08-02 16:25:24.972094404 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp 2013-08-02 16:25:27.337097559 +0200
@@ -1482,7 +1482,7 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
@ -490,10 +488,10 @@ Index: gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp
send_gdb "set build-id-verbose 0\n"
gdb_expect 10 {
-re "$gdb_prompt $" {
Index: gdb-7.5.50.20130215/gdb/testsuite/lib/mi-support.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/testsuite/lib/mi-support.exp 2013-02-15 22:35:03.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/testsuite/lib/mi-support.exp 2013-02-15 22:35:59.416292881 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/mi-support.exp 2013-08-02 16:25:24.973094405 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp 2013-08-02 16:25:27.338097560 +0200
@@ -212,7 +212,7 @@ proc default_mi_gdb_start { args } {
warning "Couldn't set the width to 0."
}
@ -503,10 +501,10 @@ Index: gdb-7.5.50.20130215/gdb/testsuite/lib/mi-support.exp
send_gdb "190-gdb-set build-id-verbose 0\n"
gdb_expect 10 {
-re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" {
Index: gdb-7.5.50.20130215/gdb/tui/tui-interp.c
Index: gdb-7.6.50.20130731-cvs/gdb/tui/tui-interp.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/tui/tui-interp.c 2013-01-01 07:41:30.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/tui/tui-interp.c 2013-02-15 22:35:59.416292881 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/tui/tui-interp.c 2013-08-02 16:25:24.974094406 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/tui/tui-interp.c 2013-08-02 16:25:27.338097560 +0200
@@ -30,6 +30,7 @@
#include "tui/tui.h"
#include "tui/tui-io.h"
@ -515,10 +513,10 @@ Index: gdb-7.5.50.20130215/gdb/tui/tui-interp.c
/* Set to 1 when the TUI mode must be activated when we first start
gdb. */
Index: gdb-7.5.50.20130215/gdb/aclocal.m4
Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/aclocal.m4 2013-01-17 12:06:26.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/aclocal.m4 2013-02-15 22:35:59.417292883 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/aclocal.m4 2013-08-02 16:25:24.974094406 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 2013-08-02 16:25:27.339097561 +0200
@@ -11,6 +11,164 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@ -684,10 +682,10 @@ Index: gdb-7.5.50.20130215/gdb/aclocal.m4
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
Index: gdb-7.5.50.20130215/gdb/config.in
Index: gdb-7.6.50.20130731-cvs/gdb/config.in
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/config.in 2012-12-09 19:39:58.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/config.in 2013-02-15 22:35:59.417292883 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/config.in 2013-08-02 16:25:24.975094407 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/config.in 2013-08-02 16:25:27.339097561 +0200
@@ -33,6 +33,9 @@
/* Define to BFD's default target vector. */
#undef DEFAULT_BFD_VEC
@ -698,7 +696,7 @@ Index: gdb-7.5.50.20130215/gdb/config.in
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
@@ -210,6 +213,9 @@
@@ -219,6 +222,9 @@
/* Define if Python 2.7 is being used. */
#undef HAVE_LIBPYTHON2_7
@ -708,12 +706,12 @@ Index: gdb-7.5.50.20130215/gdb/config.in
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
#undef HAVE_LIBUNWIND_IA64_H
Index: gdb-7.5.50.20130215/gdb/configure
Index: gdb-7.6.50.20130731-cvs/gdb/configure
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/configure 2013-01-09 18:21:33.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/configure 2013-02-15 22:35:59.422292893 +0100
@@ -683,6 +683,11 @@ REPORT_BUGS_TO
PKGVERSION
--- gdb-7.6.50.20130731-cvs.orig/gdb/configure 2013-08-02 16:25:24.981094415 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/configure 2013-08-02 16:25:27.343097567 +0200
@@ -689,6 +689,11 @@ PKGVERSION
HAVE_NATIVE_GCORE_TARGET
TARGET_OBS
subdirs
+RPM_LIBS
@ -724,7 +722,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
GDB_DATADIR
DEBUGDIR
MAKEINFO_EXTRA_FLAGS
@@ -783,6 +788,7 @@ with_gdb_datadir
@@ -789,6 +794,7 @@ with_gdb_datadir
with_relocated_sources
with_auto_load_dir
with_auto_load_safe_path
@ -732,7 +730,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
enable_targets
enable_64_bit_bfd
enable_gdbcli
@@ -831,6 +837,11 @@ CPPFLAGS
@@ -839,6 +845,11 @@ CPPFLAGS
CPP
MAKEINFO
MAKEINFOFLAGS
@ -744,7 +742,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
YACC
YFLAGS
XMKMF'
@@ -1501,6 +1512,8 @@ Optional Packages:
@@ -1509,6 +1520,8 @@ Optional Packages:
[--with-auto-load-dir]
--without-auto-load-safe-path
do not restrict auto-loaded files locations
@ -753,7 +751,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
--with-libunwind-ia64 use libunwind frame unwinding for ia64 targets
--with-curses use the curses library instead of the termcap
library
@@ -1545,6 +1558,13 @@ Some influential environment variables:
@@ -1556,6 +1569,13 @@ Some influential environment variables:
MAKEINFO Parent configure detects if it is of sufficient version.
MAKEINFOFLAGS
Parameters for MAKEINFO.
@ -767,7 +765,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
YACC The `Yet Another C Compiler' implementation to use. Defaults to
the first program found out of: `bison -y', `byacc', `yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC.
@@ -5030,6 +5050,491 @@ _ACEOF
@@ -5039,6 +5059,491 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5
$as_echo "$with_auto_load_safe_path" >&6; }
@ -1259,11 +1257,11 @@ Index: gdb-7.5.50.20130215/gdb/configure
subdirs="$subdirs testsuite"
Index: gdb-7.5.50.20130215/gdb/configure.ac
Index: gdb-7.6.50.20130731-cvs/gdb/configure.ac
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/configure.ac 2013-01-09 18:21:35.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/configure.ac 2013-02-15 22:35:59.423292895 +0100
@@ -166,6 +166,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escap
--- gdb-7.6.50.20130731-cvs.orig/gdb/configure.ac 2013-08-02 16:25:24.983094418 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/configure.ac 2013-08-02 16:25:27.344097568 +0200
@@ -164,6 +164,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escap
[Directories safe to hold auto-loaded files.])
AC_MSG_RESULT([$with_auto_load_safe_path])
@ -1463,11 +1461,11 @@ Index: gdb-7.5.50.20130215/gdb/configure.ac
AC_CONFIG_SUBDIRS(testsuite)
# Check whether to support alternative target configurations
Index: gdb-7.5.50.20130215/gdb/corelow.c
Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/corelow.c 2013-02-15 22:35:03.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/corelow.c 2013-02-15 22:35:59.423292895 +0100
@@ -313,7 +313,7 @@ build_id_locate_exec (int from_tty)
--- gdb-7.6.50.20130731-cvs.orig/gdb/corelow.c 2013-08-02 16:25:24.984094419 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/corelow.c 2013-08-02 16:25:27.344097568 +0200
@@ -316,7 +316,7 @@ build_id_locate_exec (int from_tty)
symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
}
else

View File

@ -1,11 +1,13 @@
--- gdb-7.4.50.20120120/gdb/solib-svr4.c.orig 2012-03-17 10:23:11.000000000 +0100
+++ gdb-7.4.50.20120120/gdb/solib-svr4.c 2012-03-17 10:36:22.265628529 +0100
@@ -1228,14 +1228,27 @@ svr4_read_so_list (CORE_ADDR lm, struct
Index: gdb-7.5.50.20130310/gdb/solib-svr4.c
===================================================================
--- gdb-7.5.50.20130310.orig/gdb/solib-svr4.c 2013-03-10 16:37:49.000000000 +0100
+++ gdb-7.5.50.20130310/gdb/solib-svr4.c 2013-03-10 16:43:45.498585091 +0100
@@ -1225,14 +1225,27 @@ svr4_read_so_list (CORE_ADDR lm, struct
}
{
- struct build_id *build_id;
+ struct build_id *build_id = NULL;
- struct elf_build_id *build_id;
+ struct elf_build_id *build_id = NULL;
strncpy (new->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
new->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
@ -30,7 +32,7 @@
if (build_id != NULL)
{
char *name, *build_id_filename;
@@ -1250,23 +1263,7 @@ svr4_read_so_list (CORE_ADDR lm, struct
@@ -1247,23 +1260,7 @@ svr4_read_so_list (CORE_ADDR lm, struct
xfree (name);
}
else

View File

@ -1,18 +1,18 @@
Index: gdb-7.5.50.20130215/gdb/corelow.c
Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/corelow.c 2013-01-31 19:37:37.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/corelow.c 2013-02-15 22:35:03.278219844 +0100
@@ -46,6 +46,9 @@
#include "progspace.h"
#include "objfiles.h"
--- gdb-7.6.50.20130731-cvs.orig/gdb/corelow.c 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/corelow.c 2013-08-02 17:07:28.434753293 +0200
@@ -48,6 +48,9 @@
#include "gdb_bfd.h"
#include "completer.h"
#include "filestuff.h"
+#include "auxv.h"
+#include "elf/common.h"
+#include "gdbcmd.h"
#ifndef O_LARGEFILE
#define O_LARGEFILE 0
@@ -271,6 +274,52 @@ add_to_thread_list (bfd *abfd, asection
@@ -273,6 +276,53 @@ add_to_thread_list (bfd *abfd, asection
inferior_ptid = ptid; /* Yes, make it current. */
}
@ -22,7 +22,7 @@ Index: gdb-7.5.50.20130215/gdb/corelow.c
+build_id_locate_exec (int from_tty)
+{
+ CORE_ADDR at_entry;
+ struct build_id *build_id;
+ struct elf_build_id *build_id;
+ char *exec_filename, *debug_filename;
+ char *build_id_filename;
+ struct cleanup *back_to;
@ -36,6 +36,7 @@ Index: gdb-7.5.50.20130215/gdb/corelow.c
+ build_id = build_id_addr_get (at_entry);
+ if (build_id == NULL)
+ return;
+ back_to = make_cleanup (xfree, build_id);
+
+ /* SYMFILE_OBJFILE should refer to the main executable (not only to its
+ separate debug info file). gcc44+ keeps .eh_frame only in the main
@ -44,7 +45,7 @@ Index: gdb-7.5.50.20130215/gdb/corelow.c
+ directly to the separate debug info file. */
+
+ exec_filename = build_id_to_filename (build_id, &build_id_filename, 0);
+ back_to = make_cleanup (xfree, build_id_filename);
+ make_cleanup (xfree, build_id_filename);
+
+ if (exec_filename != NULL)
+ {
@ -65,7 +66,7 @@ Index: gdb-7.5.50.20130215/gdb/corelow.c
/* This routine opens and sets up the core file bfd. */
static void
@@ -409,6 +458,14 @@ core_open (char *filename, int from_tty)
@@ -411,6 +461,14 @@ core_open (char *filename, int from_tty)
switch_to_thread (thread->ptid);
}
@ -80,10 +81,10 @@ Index: gdb-7.5.50.20130215/gdb/corelow.c
post_create_inferior (&core_ops, from_tty);
/* Now go through the target stack looking for threads since there
@@ -978,4 +1035,11 @@ _initialize_corelow (void)
@@ -974,4 +1032,11 @@ _initialize_corelow (void)
init_core_ops ();
add_target (&core_ops);
add_target_with_completer (&core_ops, filename_completer);
+
+ add_setshow_boolean_cmd ("build-id-core-loads", class_files,
+ &build_id_core_loads, _("\
@ -92,11 +93,11 @@ Index: gdb-7.5.50.20130215/gdb/corelow.c
+ NULL, NULL, NULL,
+ &setlist, &showlist);
}
Index: gdb-7.5.50.20130215/gdb/doc/gdb.texinfo
Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/doc/gdb.texinfo 2013-02-15 22:34:22.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/doc/gdb.texinfo 2013-02-15 22:35:03.287219863 +0100
@@ -16662,6 +16662,27 @@ information files.
--- gdb-7.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 17:07:28.443753304 +0200
@@ -17119,6 +17119,27 @@ information files.
@end table
@ -124,11 +125,11 @@ Index: gdb-7.5.50.20130215/gdb/doc/gdb.texinfo
@cindex @code{.gnu_debuglink} sections
@cindex debug link sections
A debug link is a special section of the executable file named
Index: gdb-7.5.50.20130215/gdb/solib-svr4.c
Index: gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/solib-svr4.c 2013-01-31 14:52:52.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/solib-svr4.c 2013-02-15 22:35:03.287219863 +0100
@@ -1224,9 +1224,52 @@ svr4_read_so_list (CORE_ADDR lm, struct
--- gdb-7.6.50.20130731-cvs.orig/gdb/solib-svr4.c 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c 2013-08-02 17:07:28.444753305 +0200
@@ -1365,9 +1365,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
continue;
}
@ -136,7 +137,7 @@ Index: gdb-7.5.50.20130215/gdb/solib-svr4.c
- new->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
- strcpy (new->so_original_name, new->so_name);
+ {
+ struct build_id *build_id;
+ struct elf_build_id *build_id;
+
+ strncpy (new->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
+ new->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
@ -184,10 +185,10 @@ Index: gdb-7.5.50.20130215/gdb/solib-svr4.c
xfree (buffer);
/* If this entry has no name, or its name matches the name
Index: gdb-7.5.50.20130215/gdb/elfread.c
Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/elfread.c 2013-02-01 20:39:03.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/elfread.c 2013-02-15 22:35:36.826263354 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-02 17:09:06.460881503 +0200
@@ -45,6 +45,11 @@
#include "regcache.h"
#include "bcache.h"
@ -200,10 +201,11 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
extern void _initialize_elfread (void);
@@ -1074,16 +1079,65 @@ elf_gnu_ifunc_resolver_return_stop (stru
@@ -1087,10 +1092,59 @@ elf_gnu_ifunc_resolver_return_stop (stru
update_breakpoint_locations (b, sals, sals_end);
}
-/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */
+#define BUILD_ID_VERBOSE_NONE 0
+#define BUILD_ID_VERBOSE_FILENAMES 1
+#define BUILD_ID_VERBOSE_BINARY_PARSE 2
@ -216,18 +218,10 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ value);
+}
+
struct build_id
{
size_t size;
gdb_byte data[1];
};
-/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */
+/* Locate NT_GNU_BUILD_ID and return its matching debug filename.
+ FIXME: NOTE decoding should be unified with the BFD core notes decoding. */
static struct build_id *
-build_id_bfd_get (bfd *abfd)
+
+static struct elf_build_id *
+build_id_buf_get (bfd *templ, gdb_byte *buf, bfd_size_type size)
+{
+ bfd_byte *p;
@ -239,7 +233,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ Elf_External_Note *xnp = (Elf_External_Note *) p;
+ size_t namesz = H_GET_32 (templ, xnp->namesz);
+ size_t descsz = H_GET_32 (templ, xnp->descsz);
+ bfd_byte *descdata = xnp->name + BFD_ALIGN (namesz, 4);
+ bfd_byte *descdata = (gdb_byte *) xnp->name + BFD_ALIGN (namesz, 4);
+
+ if (H_GET_32 (templ, xnp->type) == NT_GNU_BUILD_ID
+ && namesz == sizeof "GNU"
@ -247,7 +241,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ {
+ size_t size = descsz;
+ gdb_byte *data = (void *) descdata;
+ struct build_id *retval;
+ struct elf_build_id *retval;
+
+ retval = xmalloc (sizeof *retval - 1 + size);
+ retval->size = size;
@ -262,26 +256,27 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+
+/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
+ Locate NT_GNU_BUILD_ID from ABFD and return its content. */
+
+static struct build_id *
static const struct elf_build_id *
-build_id_bfd_get (bfd *abfd)
+build_id_bfd_shdr_get (bfd *abfd)
{
struct build_id *retval;
@@ -1099,6 +1153,348 @@ build_id_bfd_get (bfd *abfd)
return retval;
if (!bfd_check_format (abfd, bfd_object)
|| bfd_get_flavour (abfd) != bfd_target_elf_flavour
@@ -1100,6 +1154,348 @@ build_id_bfd_get (bfd *abfd)
return elf_tdata (abfd)->build_id;
}
+/* Core files may have missing (corrupt) SHDR but PDHR is correct there.
+ bfd_elf_bfd_from_remote_memory () has too much overhead by
+ allocating/reading all the available ELF PT_LOADs. */
+
+static struct build_id *
+static struct elf_build_id *
+build_id_phdr_get (bfd *templ, bfd_vma loadbase, unsigned e_phnum,
+ Elf_Internal_Phdr *i_phdr)
+{
+ int i;
+ struct build_id *retval = NULL;
+ struct elf_build_id *retval = NULL;
+
+ for (i = 0; i < e_phnum; i++)
+ if (i_phdr[i].p_type == PT_NOTE && i_phdr[i].p_filesz > 0)
@ -568,11 +563,11 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ }
+}
+
+struct build_id *
+struct elf_build_id *
+build_id_addr_get (CORE_ADDR addr)
+{
+ struct build_id_addr_sect *candidate;
+ struct build_id *retval = NULL;
+ struct elf_build_id *retval = NULL;
+ Elf_Internal_Phdr *i_phdr = NULL;
+ bfd_vma loadbase = 0;
+ unsigned e_phnum = 0;
@ -617,7 +612,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
/* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
static int
@@ -1113,7 +1509,7 @@ build_id_verify (const char *filename, s
@@ -1114,7 +1510,7 @@ build_id_verify (const char *filename, c
if (abfd == NULL)
return 0;
@ -626,14 +621,48 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"), filename);
@@ -1131,17 +1527,18 @@ build_id_verify (const char *filename, s
return retval;
@@ -1131,16 +1527,53 @@ build_id_verify (const char *filename, c
}
-static char *
-build_id_to_debug_filename (struct build_id *build_id)
static char *
-build_id_to_debug_filename (const struct elf_build_id *build_id)
+link_resolve (const char *symlink, int level)
+{
+ char buf[PATH_MAX + 1], *target, *retval;
+ ssize_t got;
+
+ if (level > 10)
+ return xstrdup (symlink);
+
+ got = readlink (symlink, buf, sizeof (buf));
+ if (got < 0 || got >= sizeof (buf))
+ return xstrdup (symlink);
+ buf[got] = '\0';
+
+ if (IS_ABSOLUTE_PATH (buf))
+ target = xstrdup (buf);
+ else
+ {
+ char *dir = ldirname (symlink);
+
+ if (dir == NULL)
+ return xstrdup (symlink);
+ target = xstrprintf ("%s"
+#ifndef HAVE_DOS_BASED_FILE_SYSTEM
+ "/"
+#else /* HAVE_DOS_BASED_FILE_SYSTEM */
+ "\\"
+#endif /* HAVE_DOS_BASED_FILE_SYSTEM */
+ "%s", dir, buf);
+ }
+
+ retval = link_resolve (target, level + 1);
+ xfree (target);
+ return retval;
+}
+
+char *
+build_id_to_filename (struct build_id *build_id, char **link_return,
+build_id_to_filename (const struct elf_build_id *build_id, char **link_return,
+ int add_debug_suffix)
{
char *link, *debugdir, *retval = NULL;
@ -649,16 +678,19 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
cause "/.build-id/..." lookups. */
@@ -1154,6 +1551,8 @@ build_id_to_debug_filename (struct build
@@ -1153,7 +1586,10 @@ build_id_to_debug_filename (const struct
size_t debugdir_len = strlen (debugdir);
gdb_byte *data = build_id->data;
const gdb_byte *data = build_id->data;
size_t size = build_id->size;
- char *s;
+ unsigned seqno;
+ struct stat statbuf_trash;
char *s;
+ /* Initialize it just to avoid a GCC false warning. */
+ char *s, *link0 = NULL, *link0_resolved;
memcpy (link, debugdir, debugdir_len);
@@ -1168,37 +1567,240 @@ build_id_to_debug_filename (struct build
s = &link[debugdir_len];
@@ -1167,37 +1603,256 @@ build_id_to_debug_filename (const struct
*s++ = '/';
while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++);
@ -686,8 +718,14 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ strcpy (s2, ".debug");
+ else
+ *s2 = 0;
- if (retval != NULL && !build_id_verify (retval, build_id))
+
+ if (!seqno)
+ {
+ /* If none of the real files is found report as missing file
+ always the non-.%u-suffixed file. */
+ link0 = xstrdup (link);
+ }
+
+ /* `access' automatically dereferences LINK. */
+ if (lstat (link, &statbuf_trash) != 0)
+ {
@ -708,42 +746,52 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ }
+
+ if (retval != NULL)
+ {
+ /* LINK_ALL is not used below in this non-NULL RETVAL case. */
+ xfree (link0);
+ break;
+ }
+
+ /* If the symlink has target request to install the target.
+ BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing.
+ https://bugzilla.redhat.com/show_bug.cgi?id=981154 */
+ link0_resolved = link_resolve (link0, 0);
+ xfree (link0);
- if (retval != NULL && !build_id_verify (retval, build_id))
+ if (link_all == NULL)
+ link_all = xstrdup (link0_resolved);
+ else
{
- xfree (retval);
- retval = NULL;
+ /* LINK_ALL is not used below in this non-NULL RETVAL case. */
+ break;
+ size_t len_orig = strlen (link_all);
+
+ link_all = xrealloc (link_all,
+ len_orig + 1 + strlen (link0_resolved) + 1);
+
+ /* Use whitespace instead of DIRNAME_SEPARATOR to be compatible with
+ its possible use as an argument for installation command. */
+ link_all[len_orig] = ' ';
+
+ strcpy (&link_all[len_orig + 1], link0_resolved);
}
+ if (link_all == NULL)
+ link_all = xstrdup (link);
+ else
+ {
+ size_t len_orig = strlen (link_all);
+
+ link_all = xrealloc (link_all, len_orig + 1 + strlen (link) + 1);
+
+ /* Use whitespace instead of DIRNAME_SEPARATOR to be compatible with
+ its possible use as an argument for installation command. */
+ link_all[len_orig] = ' ';
+
+ strcpy (&link_all[len_orig + 1], link);
+ }
+ xfree (link0_resolved);
+ }
+
+ if (link_return != NULL)
+ {
if (retval != NULL)
- break;
+ {
+ *link_return = link;
+ link = NULL;
+ }
+ {
+ *link_return = link;
+ link = NULL;
+ }
+ else
+ {
+ *link_return = link_all;
+ link_all = NULL;
+ }
+ {
+ *link_return = link_all;
+ link_all = NULL;
+ }
}
+ xfree (link);
+ xfree (link_all);
@ -893,7 +941,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+find_separate_debug_file_by_buildid (struct objfile *objfile,
+ char **build_id_filename_return)
{
struct build_id *build_id;
const struct elf_build_id *build_id;
- build_id = build_id_bfd_get (objfile->obfd);
+ if (build_id_filename_return)
@ -907,10 +955,10 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
- build_id_name = build_id_to_debug_filename (build_id);
+ build_id_name = build_id_to_filename (build_id, build_id_filename_return,
+ 1);
xfree (build_id);
/* Prevent looping on a stripped .debug file. */
if (build_id_name != NULL
@@ -1209,7 +1811,7 @@ find_separate_debug_file_by_buildid (str
&& filename_cmp (build_id_name, objfile->name) == 0)
@@ -1207,7 +1862,7 @@ find_separate_debug_file_by_buildid (str
xfree (build_id_name);
}
else if (build_id_name != NULL)
@ -919,7 +967,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
}
return NULL;
}
@@ -1444,9 +2046,10 @@ elf_symfile_read (struct objfile *objfil
@@ -1445,9 +2100,10 @@ elf_symfile_read (struct objfile *objfil
&& objfile->separate_debug_objfile == NULL
&& objfile->separate_debug_objfile_backlink == NULL)
{
@ -932,7 +980,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
if (debugfile == NULL)
debugfile = find_separate_debug_file_by_debuglink (objfile);
@@ -1460,6 +2063,12 @@ elf_symfile_read (struct objfile *objfil
@@ -1461,6 +2117,12 @@ elf_symfile_read (struct objfile *objfil
symbol_file_add_separate (abfd, symfile_flags, objfile);
do_cleanups (cleanup);
}
@ -943,9 +991,9 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+
+ xfree (build_id_filename);
}
}
if (symtab_create_debug)
@@ -1782,4 +2391,16 @@ _initialize_elfread (void)
@@ -1790,4 +2452,16 @@ _initialize_elfread (void)
elf_objfile_gnu_ifunc_cache_data = register_objfile_data ();
gnu_ifunc_fns_p = &elf_gnu_ifunc_fns;
@ -962,28 +1010,27 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+
+ observer_attach_executable_changed (debug_print_executable_changed);
}
Index: gdb-7.5.50.20130215/gdb/symfile.h
Index: gdb-7.6.50.20130731-cvs/gdb/symfile.h
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/symfile.h 2013-02-03 17:20:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/symfile.h 2013-02-15 22:35:03.288219867 +0100
@@ -593,6 +593,13 @@ void free_symfile_segment_data (struct s
--- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.h 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/symfile.h 2013-08-02 17:07:28.446753308 +0200
@@ -597,6 +597,12 @@ void free_symfile_segment_data (struct s
extern struct cleanup *increment_reading_symtab (void);
+/* build-id support. */
+struct build_id;
+extern struct build_id *build_id_addr_get (CORE_ADDR addr);
+extern char *build_id_to_filename (struct build_id *build_id,
+extern struct elf_build_id *build_id_addr_get (CORE_ADDR addr);
+extern char *build_id_to_filename (const struct elf_build_id *build_id,
+ char **link_return, int add_debug_suffix);
+extern void debug_print_missing (const char *binary, const char *debug);
+
/* From dwarf2read.c */
/* Names for a dwarf2 debugging section. The field NORMAL is the normal
Index: gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/testsuite/lib/gdb.exp 2013-02-15 22:31:37.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp 2013-02-15 22:35:03.289219870 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/gdb.exp 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp 2013-08-02 17:07:28.446753308 +0200
@@ -1482,6 +1482,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
@ -998,13 +1045,13 @@ Index: gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp
+ warning "Could not disable the missing debug infos warnings.."
+ }
+ }
return 0;
return 0
}
Index: gdb-7.5.50.20130215/gdb/testsuite/lib/mi-support.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/testsuite/lib/mi-support.exp 2013-01-22 00:57:59.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/testsuite/lib/mi-support.exp 2013-02-15 22:35:03.289219870 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/mi-support.exp 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp 2013-08-02 17:07:28.447753310 +0200
@@ -212,6 +212,16 @@ proc default_mi_gdb_start { args } {
warning "Couldn't set the width to 0."
}
@ -1022,11 +1069,11 @@ Index: gdb-7.5.50.20130215/gdb/testsuite/lib/mi-support.exp
# If allowing the inferior to have its own PTY then assign the inferior
# its own terminal device here.
if { $separate_inferior_pty } {
Index: gdb-7.5.50.20130215/gdb/objfiles.h
Index: gdb-7.6.50.20130731-cvs/gdb/objfiles.h
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/objfiles.h 2013-01-01 07:32:47.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/objfiles.h 2013-02-15 22:35:03.290219872 +0100
@@ -432,6 +432,10 @@ struct objfile
--- gdb-7.6.50.20130731-cvs.orig/gdb/objfiles.h 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/objfiles.h 2013-08-02 17:07:28.447753310 +0200
@@ -429,6 +429,10 @@ struct objfile
#define OBJF_MAINLINE (1 << 5)
@ -1037,11 +1084,11 @@ Index: gdb-7.5.50.20130215/gdb/objfiles.h
/* The object file that contains the runtime common minimal symbols
for SunOS4. Note that this objfile has no associated BFD. */
Index: gdb-7.5.50.20130215/gdb/testsuite/gdb.base/corefile.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/testsuite/gdb.base/corefile.exp 2013-01-01 07:33:25.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/testsuite/gdb.base/corefile.exp 2013-02-15 22:35:03.290219872 +0100
@@ -256,3 +256,33 @@ if ![is_remote target] {
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 17:07:28.447753310 +0200
@@ -255,3 +255,33 @@ if ![is_remote target] {
gdb_exit
}

View File

@ -1,23 +1,23 @@
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.base/annota1.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/annota1.exp
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/testsuite/gdb.base/annota1.exp 2012-03-16 17:47:33.000000000 +0100
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.base/annota1.exp 2012-06-02 18:27:46.623210711 +0200
@@ -45,6 +45,8 @@ gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/annota1.exp 2013-08-02 16:23:26.559936258 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/annota1.exp 2013-08-02 16:23:56.590976418 +0200
@@ -41,6 +41,8 @@ if { [gdb_compile "${srcdir}/${subdir}/
clean_restart ${binfile}
+gdb_test "set breakpoint pending off" "" "Avoid lockup on nonexisting functions"
+
# The commands we test here produce many lines of output; disable "press
# <return> to continue" prompts.
gdb_test_no_output "set height 0"
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.base/annota3.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/annota3.exp
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/testsuite/gdb.base/annota3.exp 2012-02-28 23:40:48.000000000 +0100
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.base/annota3.exp 2012-06-02 18:28:00.375206457 +0200
@@ -45,6 +45,8 @@ gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/annota3.exp 2013-08-02 16:23:26.560936259 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/annota3.exp 2013-08-02 16:24:11.654996267 +0200
@@ -40,6 +40,8 @@ if { [gdb_compile "${srcdir}/${subdir}/
clean_restart ${binfile}
+gdb_test "set breakpoint pending off" "" "Avoid lockup on nonexisting functions"
+

View File

@ -20,10 +20,10 @@ random FAIL: gdb.base/auxv.exp: matching auxv data from live and gcore
gdb-6.8.50.20090209/gdb/testsuite/gdb.base/annota1.exp:
frames-invalid can happen asynchronously.
Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.c
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.c
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/testsuite/gdb.base/fileio.c 2009-10-01 17:39:13.000000000 +0200
+++ gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.c 2012-01-03 15:21:28.122729249 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/fileio.c 2013-08-02 16:25:49.466127074 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.c 2013-08-02 16:26:11.724156750 +0200
@@ -58,6 +58,8 @@ system (const char * string);
1) Invalid string/command. - returns 127. */
static const char *strerrno (int err);
@ -71,12 +71,12 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.c
/* Don't change the order of the calls. They partly depend on each other */
test_open ();
test_write ();
Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.exp
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/testsuite/gdb.base/fileio.exp 2011-12-26 12:24:55.000000000 +0100
+++ gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.exp 2012-01-03 15:22:02.716601956 +0100
@@ -42,8 +42,8 @@ if [get_compiler_info ${binfile}] {
return -1;
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/fileio.exp 2013-08-02 16:25:49.467127075 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.exp 2013-08-02 16:27:10.142234618 +0200
@@ -35,8 +35,8 @@ if [get_compiler_info] {
return -1
}
-remote_exec build {sh -xc test\ -r\ dir2.fileio.test\ &&\ chmod\ -f\ +w\ dir2.fileio.test}
@ -86,7 +86,7 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.exp
set oldtimeout $timeout
set timeout [expr "$timeout + 60"]
@@ -85,7 +85,7 @@ gdb_test continue \
@@ -78,7 +78,7 @@ gdb_test continue \
gdb_test "continue" ".*" ""
@ -95,7 +95,7 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.exp
gdb_test continue \
"Continuing\\..*open 5:.*EACCES$stop_msg" \
@@ -251,8 +251,8 @@ gdb_exit
@@ -244,8 +244,8 @@ gdb_exit
# Wait till GDB really exits.
sleep 1

View File

@ -5,11 +5,11 @@ Some of the threads may not be properly PTRACE_DETACHed which hurts if they
should have been detached with SIGSTOP (as they are accidentally left running
on the debugger termination).
Index: gdb-7.5.50.20130118/gdb/defs.h
Index: gdb-7.6.50.20130731-cvs/gdb/defs.h
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/defs.h 2013-01-01 07:32:41.000000000 +0100
+++ gdb-7.5.50.20130118/gdb/defs.h 2013-01-21 16:40:29.889256633 +0100
@@ -176,6 +176,7 @@ extern int check_quit_flag (void);
--- gdb-7.6.50.20130731-cvs.orig/gdb/defs.h 2013-08-02 16:58:31.453016573 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/defs.h 2013-08-02 16:58:41.221030412 +0200
@@ -177,6 +177,7 @@ extern int check_quit_flag (void);
/* Set the quit flag. */
extern void set_quit_flag (void);
@ -17,26 +17,26 @@ Index: gdb-7.5.50.20130118/gdb/defs.h
extern int immediate_quit;
extern void quit (void);
Index: gdb-7.5.50.20130118/gdb/top.c
Index: gdb-7.6.50.20130731-cvs/gdb/top.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/top.c 2013-01-21 14:56:12.000000000 +0100
+++ gdb-7.5.50.20130118/gdb/top.c 2013-01-21 14:56:16.385710056 +0100
@@ -1329,7 +1329,9 @@ quit_force (char *args, int from_tty)
qt.args = args;
qt.from_tty = from_tty;
--- gdb-7.6.50.20130731-cvs.orig/gdb/top.c 2013-08-02 16:58:41.222030414 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/top.c 2013-08-02 16:59:06.321066228 +0200
@@ -1415,7 +1415,9 @@ quit_force (char *args, int from_tty)
if (ex.reason < 0) \
exception_print (gdb_stderr, ex)
- /* We want to handle any quit errors and exit regardless. */
+ /* We want to handle any quit errors and exit regardless but we should never
+ get user-interrupted to properly detach the inferior. */
+ quit_flag_cleanup = 1;
catch_errors (quit_target, &qt,
"Quitting: ", RETURN_MASK_ALL);
Index: gdb-7.5.50.20130118/gdb/utils.c
/* Get out of tfind mode, and kill or detach all inferiors. */
DO_TRY
Index: gdb-7.6.50.20130731-cvs/gdb/utils.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/utils.c 2013-01-21 14:56:12.000000000 +0100
+++ gdb-7.5.50.20130118/gdb/utils.c 2013-01-21 16:41:02.225233493 +0100
@@ -141,6 +141,11 @@ int quit_flag;
--- gdb-7.6.50.20130731-cvs.orig/gdb/utils.c 2013-08-02 16:58:31.455016575 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/utils.c 2013-08-02 16:58:41.223030415 +0200
@@ -136,6 +136,11 @@ int quit_flag;
int immediate_quit;
@ -48,7 +48,7 @@ Index: gdb-7.5.50.20130118/gdb/utils.c
#ifndef HAVE_PYTHON
/* Clear the quit flag. */
@@ -164,6 +169,9 @@ set_quit_flag (void)
@@ -159,6 +164,9 @@ set_quit_flag (void)
int
check_quit_flag (void)
{
@ -58,11 +58,11 @@ Index: gdb-7.5.50.20130118/gdb/utils.c
/* This is written in a particular way to avoid races. */
if (quit_flag)
{
Index: gdb-7.5.50.20130118/gdb/python/python.c
Index: gdb-7.6.50.20130731-cvs/gdb/python/python.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/python/python.c 2013-01-21 16:39:03.000000000 +0100
+++ gdb-7.5.50.20130118/gdb/python/python.c 2013-01-21 16:39:30.698299142 +0100
@@ -181,6 +181,9 @@ set_quit_flag (void)
--- gdb-7.6.50.20130731-cvs.orig/gdb/python/python.c 2013-08-02 16:58:31.456016577 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/python/python.c 2013-08-02 16:58:41.224030416 +0200
@@ -191,6 +191,9 @@ set_quit_flag (void)
int
check_quit_flag (void)
{

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f1d77fa5fdc14f4f933010dfadfb4895d84a92dd038a1c1425cf9d75e147afe9
size 24229281

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ba2ee6049f792f7df7d8148f03bbb8126607ef40f59a6c5d65a08c744415d40
size 24639930

View File

@ -0,0 +1,17 @@
http://permalink.gmane.org/gmane.comp.gdb.patches/88728
Index: gdb/aarch64-linux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/aarch64-linux-nat.c,v
retrieving revision 1.4
diff -u -p -r1.4 aarch64-linux-nat.c
--- gdb/aarch64-linux-nat.c 14 Feb 2013 13:50:30 -0000 1.4
+++ gdb/aarch64-linux-nat.c 27 Jul 2013 22:42:18 -0000
@@ -312,6 +312,7 @@ aarch64_linux_set_debug_regs (const stru
const CORE_ADDR *addr;
const unsigned int *ctrl;
+ memset (&regs, 0, sizeof (regs));
iov.iov_base = &regs;
iov.iov_len = sizeof (regs);
count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs;

View File

@ -1,8 +1,8 @@
Index: gdb-7.5.50.20130215/gdb/breakpoint.c
Index: gdb-7.6.50.20130731-cvs/gdb/breakpoint.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/breakpoint.c 2013-02-15 22:31:37.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/breakpoint.c 2013-02-15 22:37:08.216381988 +0100
@@ -16020,6 +16020,50 @@ initialize_breakpoint_ops (void)
--- gdb-7.6.50.20130731-cvs.orig/gdb/breakpoint.c 2013-08-02 16:29:16.065402116 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/breakpoint.c 2013-08-02 16:29:17.073403456 +0200
@@ -15963,6 +15963,50 @@ initialize_breakpoint_ops (void)
static struct cmd_list_element *enablebreaklist = NULL;
void
@ -53,23 +53,23 @@ Index: gdb-7.5.50.20130215/gdb/breakpoint.c
_initialize_breakpoint (void)
{
struct cmd_list_element *c;
Index: gdb-7.5.50.20130215/gdb/breakpoint.h
Index: gdb-7.6.50.20130731-cvs/gdb/breakpoint.h
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/breakpoint.h 2013-02-03 16:57:06.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/breakpoint.h 2013-02-15 22:37:19.025395693 +0100
@@ -1556,4 +1556,7 @@ extern void handle_solib_event (void);
--- gdb-7.6.50.20130731-cvs.orig/gdb/breakpoint.h 2013-08-02 16:29:17.074403457 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/breakpoint.h 2013-08-02 16:29:30.221420896 +0200
@@ -1555,4 +1555,7 @@ extern void breakpoint_free_objfile (str
extern void breakpoint_free_objfile (struct objfile *objfile);
extern char *ep_parse_optional_if_clause (char **arg);
+extern void breakpoints_relocate (struct objfile *objfile,
+ struct section_offsets *delta);
+
#endif /* !defined (BREAKPOINT_H) */
Index: gdb-7.5.50.20130215/gdb/objfiles.c
Index: gdb-7.6.50.20130731-cvs/gdb/objfiles.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/objfiles.c 2013-02-03 16:57:07.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/objfiles.c 2013-02-15 22:37:08.217381990 +0100
@@ -831,6 +831,11 @@ objfile_relocate1 (struct objfile *objfi
--- gdb-7.6.50.20130731-cvs.orig/gdb/objfiles.c 2013-08-02 16:29:16.068402120 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/objfiles.c 2013-08-02 16:29:17.075403458 +0200
@@ -851,6 +851,11 @@ objfile_relocate1 (struct objfile *objfi
objfile->sf->sym_probe_fns->sym_relocate_probe (objfile,
new_offsets, delta);

File diff suppressed because it is too large Load Diff

View File

@ -37,10 +37,10 @@ gdb/gdbserver/
(linux_create_inferior, linux_tracefork_child): Call it instead of
direct ptrace.
Index: gdb-7.5.50.20130215/gdb/common/linux-ptrace.c
Index: gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/common/linux-ptrace.c 2013-01-08 20:38:51.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/common/linux-ptrace.c 2013-02-15 22:38:05.782456279 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/common/linux-ptrace.c 2013-08-02 16:33:52.767872412 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c 2013-08-02 16:34:16.122910934 +0200
@@ -29,6 +29,10 @@
#include "gdb_assert.h"
#include "gdb_wait.h"
@ -61,7 +61,7 @@ Index: gdb-7.5.50.20130215/gdb/common/linux-ptrace.c
}
#if defined __i386__ || defined __x86_64__
@@ -243,3 +249,19 @@ linux_ptrace_init_warnings (void)
@@ -236,3 +242,19 @@ linux_ptrace_init_warnings (void)
linux_ptrace_test_ret_to_nx ();
}
@ -81,10 +81,10 @@ Index: gdb-7.5.50.20130215/gdb/common/linux-ptrace.c
+ "(gdb) shell sudo setsebool deny_ptrace=0"));
+#endif /* HAVE_LIBSELINUX */
+}
Index: gdb-7.5.50.20130215/gdb/common/linux-ptrace.h
Index: gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.h
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/common/linux-ptrace.h 2013-01-01 07:32:54.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/common/linux-ptrace.h 2013-02-15 22:38:05.782456279 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/common/linux-ptrace.h 2013-08-02 16:33:52.768872414 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.h 2013-08-02 16:34:16.122910934 +0200
@@ -69,5 +69,6 @@ struct buffer;
extern void linux_ptrace_attach_warnings (pid_t pid, struct buffer *buffer);
@ -92,13 +92,13 @@ Index: gdb-7.5.50.20130215/gdb/common/linux-ptrace.h
+extern void linux_ptrace_create_warnings (struct buffer *buffer);
#endif /* COMMON_LINUX_PTRACE_H */
Index: gdb-7.5.50.20130215/gdb/configure.ac
Index: gdb-7.6.50.20130731-cvs/gdb/configure.ac
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/configure.ac 2013-02-15 22:37:57.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/configure.ac 2013-02-15 22:38:05.783456281 +0100
@@ -2068,6 +2068,10 @@ then
[Define if you support the personality syscall.])
fi
--- gdb-7.6.50.20130731-cvs.orig/gdb/configure.ac 2013-08-02 16:34:16.123910936 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/configure.ac 2013-08-02 16:34:46.519960063 +0200
@@ -2071,6 +2071,10 @@ case $host_os in
esac
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
+dnl Check security_get_boolean_active availability.
+AC_CHECK_HEADERS(selinux/selinux.h)
@ -107,11 +107,11 @@ Index: gdb-7.5.50.20130215/gdb/configure.ac
dnl Handle optional features that can be enabled.
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
Index: gdb-7.5.50.20130215/gdb/gdbserver/configure.ac
Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/gdbserver/configure.ac 2013-01-01 07:33:00.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/gdbserver/configure.ac 2013-02-15 22:38:05.783456281 +0100
@@ -451,6 +451,10 @@ if $want_ipa ; then
--- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/configure.ac 2013-08-02 16:34:16.124910938 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac 2013-08-02 16:35:06.634991892 +0200
@@ -471,6 +471,10 @@ if $want_ipa ; then
fi
fi
@ -121,12 +121,12 @@ Index: gdb-7.5.50.20130215/gdb/gdbserver/configure.ac
+
AC_SUBST(GDBSERVER_DEPFILES)
AC_SUBST(GDBSERVER_LIBS)
AC_SUBST(USE_THREAD_DB)
Index: gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c
AC_SUBST(srv_xmlbuiltin)
Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/gdbserver/linux-low.c 2013-02-04 18:47:00.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c 2013-02-15 22:39:54.256591069 +0100
@@ -602,6 +602,29 @@ add_lwp (ptid_t ptid)
--- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/linux-low.c 2013-08-02 16:33:52.772872421 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c 2013-08-02 16:34:16.126910941 +0200
@@ -622,6 +622,29 @@ add_lwp (ptid_t ptid)
return lwp;
}
@ -156,7 +156,7 @@ Index: gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c
/* Start an inferior process and returns its pid.
ALLARGS is a vector of program-name and args. */
@@ -642,7 +665,7 @@ linux_create_inferior (char *program, ch
@@ -662,7 +685,7 @@ linux_create_inferior (char *program, ch
if (pid == 0)
{
@ -165,7 +165,7 @@ Index: gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c
#ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */
signal (__SIGRTMIN + 1, SIG_DFL);
@@ -4587,7 +4610,7 @@ linux_tracefork_grandchild (void *arg)
@@ -4685,7 +4708,7 @@ linux_tracefork_grandchild (void *arg)
static int
linux_tracefork_child (void *arg)
{
@ -174,10 +174,10 @@ Index: gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c
kill (getpid (), SIGSTOP);
#if !(defined(__UCLIBC__) && defined(HAS_NOMMU))
Index: gdb-7.5.50.20130215/gdb/inf-ptrace.c
Index: gdb-7.6.50.20130731-cvs/gdb/inf-ptrace.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/inf-ptrace.c 2013-01-01 07:32:45.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/inf-ptrace.c 2013-02-15 22:38:05.786456289 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/inf-ptrace.c 2013-08-02 16:33:52.772872421 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/inf-ptrace.c 2013-08-02 16:34:16.126910941 +0200
@@ -104,7 +104,15 @@ static void
inf_ptrace_me (void)
{
@ -194,11 +194,11 @@ Index: gdb-7.5.50.20130215/gdb/inf-ptrace.c
}
/* Start a new inferior Unix child process. EXEC_FILE is the file to
Index: gdb-7.5.50.20130215/gdb/linux-nat.c
Index: gdb-7.6.50.20130731-cvs/gdb/linux-nat.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/linux-nat.c 2013-02-15 22:34:44.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/linux-nat.c 2013-02-15 22:38:05.787456291 +0100
@@ -1557,6 +1557,7 @@ linux_nat_create_inferior (struct target
--- gdb-7.6.50.20130731-cvs.orig/gdb/linux-nat.c 2013-08-02 16:33:52.774872424 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/linux-nat.c 2013-08-02 16:34:16.128910944 +0200
@@ -1554,6 +1554,7 @@ linux_nat_create_inferior (struct target
#ifdef HAVE_PERSONALITY
int personality_orig = 0, personality_set = 0;
#endif /* HAVE_PERSONALITY */
@ -206,7 +206,7 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c
/* The fork_child mechanism is synchronous and calls target_wait, so
we have to mask the async mode. */
@@ -1581,7 +1582,10 @@ linux_nat_create_inferior (struct target
@@ -1578,7 +1579,10 @@ linux_nat_create_inferior (struct target
/* Make sure we report all signals during startup. */
linux_nat_pass_signals (0, NULL);
@ -218,7 +218,7 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c
#ifdef HAVE_PERSONALITY
if (personality_set)
@@ -1593,6 +1597,24 @@ linux_nat_create_inferior (struct target
@@ -1590,6 +1594,24 @@ linux_nat_create_inferior (struct target
safe_strerror (errno));
}
#endif /* HAVE_PERSONALITY */
@ -243,3 +243,192 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c
}
static void
Index: gdb-7.6.50.20130731-cvs/gdb/config.in
===================================================================
--- gdb-7.6.50.20130731-cvs.orig/gdb/config.in 2013-08-02 16:25:27.339097561 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/config.in 2013-08-02 16:36:16.249099841 +0200
@@ -225,6 +225,9 @@
/* Define if librpm library is being used. */
#undef HAVE_LIBRPM
+/* Define to 1 if you have the `selinux' library (-lselinux). */
+#undef HAVE_LIBSELINUX
+
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
#undef HAVE_LIBUNWIND_IA64_H
@@ -372,6 +375,9 @@
/* Define to 1 if you have the `sbrk' function. */
#undef HAVE_SBRK
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
+#undef HAVE_SELINUX_SELINUX_H
+
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
Index: gdb-7.6.50.20130731-cvs/gdb/configure
===================================================================
--- gdb-7.6.50.20130731-cvs.orig/gdb/configure 2013-08-02 16:25:27.343097567 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/configure 2013-08-02 16:36:14.665097434 +0200
@@ -12851,6 +12851,64 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+for ac_header in selinux/selinux.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
+if test "x$ac_cv_header_selinux_selinux_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SELINUX_SELINUX_H 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for security_get_boolean_active in -lselinux" >&5
+$as_echo_n "checking for security_get_boolean_active in -lselinux... " >&6; }
+if test "${ac_cv_lib_selinux_security_get_boolean_active+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lselinux $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char security_get_boolean_active ();
+int
+main ()
+{
+return security_get_boolean_active ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_selinux_security_get_boolean_active=yes
+else
+ ac_cv_lib_selinux_security_get_boolean_active=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_get_boolean_active" >&5
+$as_echo "$ac_cv_lib_selinux_security_get_boolean_active" >&6; }
+if test "x$ac_cv_lib_selinux_security_get_boolean_active" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSELINUX 1
+_ACEOF
+
+ LIBS="-lselinux $LIBS"
+
+fi
+
+
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
# except that the argument to --with-sysroot is optional.
Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/config.in
===================================================================
--- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/config.in 2013-07-31 21:41:54.000000000 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/config.in 2013-08-02 16:36:21.719108141 +0200
@@ -76,6 +76,12 @@
/* Define to 1 if you have the `dl' library (-ldl). */
#undef HAVE_LIBDL
+/* Define to 1 if you have the `mcheck' library (-lmcheck). */
+#undef HAVE_LIBMCHECK
+
+/* Define to 1 if you have the `selinux' library (-lselinux). */
+#undef HAVE_LIBSELINUX
+
/* Define if the target supports branch tracing. */
#undef HAVE_LINUX_BTRACE
@@ -146,6 +152,9 @@
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
+#undef HAVE_SELINUX_SELINUX_H
+
/* Define to 1 if you have the <sgtty.h> header file. */
#undef HAVE_SGTTY_H
Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure
===================================================================
--- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/configure 2013-07-31 21:41:54.000000000 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure 2013-08-02 16:36:20.237105894 +0200
@@ -6003,6 +6003,64 @@ if $want_ipa ; then
fi
fi
+for ac_header in selinux/selinux.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
+if test "x$ac_cv_header_selinux_selinux_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SELINUX_SELINUX_H 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for security_get_boolean_active in -lselinux" >&5
+$as_echo_n "checking for security_get_boolean_active in -lselinux... " >&6; }
+if test "${ac_cv_lib_selinux_security_get_boolean_active+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lselinux $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char security_get_boolean_active ();
+int
+main ()
+{
+return security_get_boolean_active ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_selinux_security_get_boolean_active=yes
+else
+ ac_cv_lib_selinux_security_get_boolean_active=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_get_boolean_active" >&5
+$as_echo "$ac_cv_lib_selinux_security_get_boolean_active" >&6; }
+if test "x$ac_cv_lib_selinux_security_get_boolean_active" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSELINUX 1
+_ACEOF
+
+ LIBS="-lselinux $LIBS"
+
+fi
+
+

View File

@ -1,186 +0,0 @@
Index: gdb-7.4.50.20120602/gdb/config.in
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/config.in 2012-06-02 21:49:26.147399232 +0200
+++ gdb-7.4.50.20120602/gdb/config.in 2012-06-02 21:49:27.206398845 +0200
@@ -222,6 +222,9 @@
/* Define if librpm library is being used. */
#undef HAVE_LIBRPM
+/* Define to 1 if you have the `selinux' library (-lselinux). */
+#undef HAVE_LIBSELINUX
+
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
#undef HAVE_LIBUNWIND_IA64_H
@@ -363,6 +366,9 @@
/* Define to 1 if you have the `sbrk' function. */
#undef HAVE_SBRK
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
+#undef HAVE_SELINUX_SELINUX_H
+
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
Index: gdb-7.4.50.20120602/gdb/configure
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/configure 2012-06-02 21:49:27.139398869 +0200
+++ gdb-7.4.50.20120602/gdb/configure 2012-06-02 21:49:50.890390179 +0200
@@ -12745,6 +12745,64 @@ $as_echo "#define HAVE_PERSONALITY 1" >>
fi
+for ac_header in selinux/selinux.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
+if test "x$ac_cv_header_selinux_selinux_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SELINUX_SELINUX_H 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for security_get_boolean_active in -lselinux" >&5
+$as_echo_n "checking for security_get_boolean_active in -lselinux... " >&6; }
+if test "${ac_cv_lib_selinux_security_get_boolean_active+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lselinux $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char security_get_boolean_active ();
+int
+main ()
+{
+return security_get_boolean_active ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_selinux_security_get_boolean_active=yes
+else
+ ac_cv_lib_selinux_security_get_boolean_active=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_get_boolean_active" >&5
+$as_echo "$ac_cv_lib_selinux_security_get_boolean_active" >&6; }
+if test "x$ac_cv_lib_selinux_security_get_boolean_active" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSELINUX 1
+_ACEOF
+
+ LIBS="-lselinux $LIBS"
+
+fi
+
+
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
# except that the argument to --with-sysroot is optional.
Index: gdb-7.4.50.20120602/gdb/gdbserver/config.in
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/gdbserver/config.in 2012-04-19 21:34:51.000000000 +0200
+++ gdb-7.4.50.20120602/gdb/gdbserver/config.in 2012-06-02 21:49:55.945388329 +0200
@@ -69,6 +69,9 @@
/* Define to 1 if you have the `dl' library (-ldl). */
#undef HAVE_LIBDL
+/* Define to 1 if you have the `selinux' library (-lselinux). */
+#undef HAVE_LIBSELINUX
+
/* Define to 1 if you have the <linux/elf.h> header file. */
#undef HAVE_LINUX_ELF_H
@@ -130,6 +133,9 @@
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
+#undef HAVE_SELINUX_SELINUX_H
+
/* Define to 1 if you have the <sgtty.h> header file. */
#undef HAVE_SGTTY_H
Index: gdb-7.4.50.20120602/gdb/gdbserver/configure
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/gdbserver/configure 2012-04-20 19:58:49.000000000 +0200
+++ gdb-7.4.50.20120602/gdb/gdbserver/configure 2012-06-02 21:49:54.485388864 +0200
@@ -5532,6 +5532,64 @@ if $want_ipa ; then
fi
fi
+for ac_header in selinux/selinux.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
+if test "x$ac_cv_header_selinux_selinux_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SELINUX_SELINUX_H 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for security_get_boolean_active in -lselinux" >&5
+$as_echo_n "checking for security_get_boolean_active in -lselinux... " >&6; }
+if test "${ac_cv_lib_selinux_security_get_boolean_active+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lselinux $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char security_get_boolean_active ();
+int
+main ()
+{
+return security_get_boolean_active ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_selinux_security_get_boolean_active=yes
+else
+ ac_cv_lib_selinux_security_get_boolean_active=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_get_boolean_active" >&5
+$as_echo "$ac_cv_lib_selinux_security_get_boolean_active" >&6; }
+if test "x$ac_cv_lib_selinux_security_get_boolean_active" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSELINUX 1
+_ACEOF
+
+ LIBS="-lselinux $LIBS"
+
+fi
+
+

View File

@ -21,16 +21,16 @@ debugging problem of GOMP outside of the scope of this Bug.
Index: gdb-7.5.50.20130118/gdb/infrun.c
Index: gdb-7.6.50.20130731-cvs/gdb/infrun.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/infrun.c 2013-01-19 23:38:22.329371410 +0100
+++ gdb-7.5.50.20130118/gdb/infrun.c 2013-01-19 23:39:03.322429041 +0100
@@ -4918,6 +4918,16 @@ process_event_stop_test:
--- gdb-7.6.50.20130731-cvs.orig/gdb/infrun.c 2013-08-02 17:10:08.446962958 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/infrun.c 2013-08-02 17:10:49.109016685 +0200
@@ -4930,6 +4930,16 @@ process_event_stop_test:
if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
{
+ struct symbol *stop_fn = find_pc_function (stop_pc);
+ struct minimal_symbol *stopf = lookup_minimal_symbol_by_pc (stop_pc);
+ struct minimal_symbol *stopf = lookup_minimal_symbol_by_pc (stop_pc).minsym;
+
+ if ((stop_fn == NULL
+ || strstr (SYMBOL_LINKAGE_NAME (stop_fn), ".omp_fn.") == NULL)
@ -42,7 +42,7 @@ Index: gdb-7.5.50.20130118/gdb/infrun.c
/* We're doing a "next".
Normal (forward) execution: set a breakpoint at the
@@ -4953,6 +4963,7 @@ process_event_stop_test:
@@ -4965,6 +4975,7 @@ process_event_stop_test:
keep_going (ecs);
return;
@ -50,10 +50,10 @@ Index: gdb-7.5.50.20130118/gdb/infrun.c
}
/* If we are in a function call trampoline (a stub between the
Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.fortran/omp-step.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.exp 2013-01-19 23:38:23.213372622 +0100
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.fortran/omp-step.exp 2013-08-02 17:10:37.063000571 +0200
@@ -0,0 +1,31 @@
+# Copyright 2009 Free Software Foundation, Inc.
+
@ -86,10 +86,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.exp
+
+gdb_breakpoint [gdb_get_line_number "success"]
+gdb_continue_to_breakpoint "success" ".*success.*"
Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.f90
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.fortran/omp-step.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.f90 2013-01-19 23:38:23.213372622 +0100
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.fortran/omp-step.f90 2013-08-02 17:10:37.063000571 +0200
@@ -0,0 +1,32 @@
+! Copyright 2009 Free Software Foundation, Inc.
+

View File

@ -1,20 +1,20 @@
Index: gdb-7.4.50.20120602/gdb/config/i386/linux64.mh
Index: gdb-7.5.91.20130323/gdb/config/i386/linux64.mh
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/config/i386/linux64.mh 2012-03-13 16:00:34.000000000 +0100
+++ gdb-7.4.50.20120602/gdb/config/i386/linux64.mh 2012-06-02 19:56:03.196172503 +0200
--- gdb-7.5.91.20130323.orig/gdb/config/i386/linux64.mh 2013-03-11 09:25:58.000000000 +0100
+++ gdb-7.5.91.20130323/gdb/config/i386/linux64.mh 2013-03-23 19:48:37.707761117 +0100
@@ -4,7 +4,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
linux-nat.o linux-osdata.o \
proc-service.o linux-thread-db.o linux-fork.o \
linux-procfs.o linux-ptrace.o
linux-procfs.o linux-ptrace.o linux-btrace.o
-NAT_FILE= config/nm-linux.h
+NAT_FILE= nm-linux64.h
NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the
Index: gdb-7.4.50.20120602/gdb/config/i386/linux.mh
Index: gdb-7.5.91.20130323/gdb/config/i386/linux.mh
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/config/i386/linux.mh 2012-03-13 16:00:33.000000000 +0100
+++ gdb-7.4.50.20120602/gdb/config/i386/linux.mh 2012-06-02 19:55:42.418178412 +0200
--- gdb-7.5.91.20130323.orig/gdb/config/i386/linux.mh 2013-03-11 09:25:58.000000000 +0100
+++ gdb-7.5.91.20130323/gdb/config/i386/linux.mh 2013-03-23 19:48:22.757990256 +0100
@@ -1,6 +1,6 @@
# Host: Intel 386 running GNU/Linux.
@ -23,10 +23,10 @@ Index: gdb-7.4.50.20120602/gdb/config/i386/linux.mh
NATDEPFILES= inf-ptrace.o fork-child.o \
i386-nat.o i386-linux-nat.o \
proc-service.o linux-thread-db.o \
Index: gdb-7.4.50.20120602/gdb/config/i386/nm-linux.h
Index: gdb-7.5.91.20130323/gdb/config/i386/nm-linux.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/config/i386/nm-linux.h 2012-06-02 19:55:42.433178408 +0200
+++ gdb-7.5.91.20130323/gdb/config/i386/nm-linux.h 2013-03-23 19:48:22.757990256 +0100
@@ -0,0 +1,28 @@
+/* Native support for GNU/Linux i386.
+
@ -56,10 +56,10 @@ Index: gdb-7.4.50.20120602/gdb/config/i386/nm-linux.h
+#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
+
+#endif /* NM_LINUX64_H */
Index: gdb-7.4.50.20120602/gdb/config/i386/nm-linux64.h
Index: gdb-7.5.91.20130323/gdb/config/i386/nm-linux64.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/config/i386/nm-linux64.h 2012-06-02 19:55:42.434178407 +0200
+++ gdb-7.5.91.20130323/gdb/config/i386/nm-linux64.h 2013-03-23 19:48:22.757990256 +0100
@@ -0,0 +1,28 @@
+/* Native support for GNU/Linux amd64.
+
@ -89,11 +89,11 @@ Index: gdb-7.4.50.20120602/gdb/config/i386/nm-linux64.h
+#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
+
+#endif /* NM_LINUX64_H */
Index: gdb-7.4.50.20120602/gdb/target.h
Index: gdb-7.5.91.20130323/gdb/target.h
===================================================================
--- gdb-7.4.50.20120602.orig/gdb/target.h 2012-06-01 18:37:59.000000000 +0200
+++ gdb-7.4.50.20120602/gdb/target.h 2012-06-02 19:55:42.436178407 +0200
@@ -1470,8 +1470,10 @@ extern char *target_thread_name (struct
--- gdb-7.5.91.20130323.orig/gdb/target.h 2013-03-11 09:50:05.000000000 +0100
+++ gdb-7.5.91.20130323/gdb/target.h 2013-03-23 19:48:22.758990238 +0100
@@ -1563,8 +1563,10 @@ extern char *target_thread_name (struct
bp_hardware_breakpoint. CNT is the number of such watchpoints used so far
(including this one?). OTHERTYPE is who knows what... */
@ -104,10 +104,10 @@ Index: gdb-7.4.50.20120602/gdb/target.h
/* Returns the number of debug registers needed to watch the given
memory region, or zero if not supported. */
Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2012-06-02 19:55:42.442178406 +0200
+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2013-03-23 19:48:22.758990238 +0100
@@ -0,0 +1,40 @@
+# Copyright 2009, 2010 Free Software Foundation, Inc.
+

View File

@ -3,11 +3,11 @@ Subject: [patch] Fix GNU/Linux core open: Can't read pathname for load map: Inp
[ New patch variant. ]
Index: gdb-7.5.50.20130118/gdb/solib-svr4.c
Index: gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/solib-svr4.c 2013-01-18 23:05:19.414210015 +0100
+++ gdb-7.5.50.20130118/gdb/solib-svr4.c 2013-01-18 23:05:34.813231664 +0100
@@ -1221,8 +1221,17 @@ svr4_read_so_list (CORE_ADDR lm, struct
--- gdb-7.6.50.20130731-cvs.orig/gdb/solib-svr4.c 2013-08-02 16:27:28.831259468 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c 2013-08-02 16:27:47.871284813 +0200
@@ -1359,8 +1359,17 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
SO_NAME_MAX_PATH_SIZE - 1, &errcode);
if (errcode != 0)
{
@ -27,20 +27,20 @@ Index: gdb-7.5.50.20130118/gdb/solib-svr4.c
do_cleanups (old_chain);
continue;
}
Index: gdb-7.5.50.20130118/gdb/solib.c
Index: gdb-7.6.50.20130731-cvs/gdb/solib.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/solib.c 2013-01-18 23:05:19.415210017 +0100
+++ gdb-7.5.50.20130118/gdb/solib.c 2013-01-18 23:05:57.421263173 +0100
@@ -666,7 +666,7 @@ solib_used (const struct so_list *const
--- gdb-7.6.50.20130731-cvs.orig/gdb/solib.c 2013-08-02 16:27:28.832259470 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/solib.c 2013-08-02 16:28:50.421367694 +0200
@@ -669,7 +669,7 @@ solib_used (const struct so_list *const
processes we've just attached to, so that's okay. */
static void
-update_solib_list (int from_tty, struct target_ops *target)
+update_solib_list_1 (int from_tty, struct target_ops *target)
{
struct target_so_ops *ops = solib_ops (target_gdbarch ());
const struct target_so_ops *ops = solib_ops (target_gdbarch ());
struct so_list *inferior = ops->current_sos();
@@ -837,6 +837,21 @@ Do you need \"set solib-search-path\" or
@@ -840,6 +840,21 @@ Do you need \"set solib-search-path\" or
}
}
@ -62,11 +62,11 @@ Index: gdb-7.5.50.20130118/gdb/solib.c
/* Return non-zero if NAME is the libpthread shared library.
Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/corefile.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.base/corefile.exp 2013-01-18 23:05:19.416210020 +0100
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.base/corefile.exp 2013-01-18 23:05:34.814231667 +0100
@@ -286,3 +286,19 @@ if {$buildid == ""} {
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 16:27:28.833259471 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 16:27:47.872284814 +0200
@@ -285,3 +285,19 @@ if {$buildid == ""} {
gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
pass $wholetest
}
@ -86,20 +86,18 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/corefile.exp
+ pass $test
+ }
+}
Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/solib-symbol.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/solib-symbol.exp
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.base/solib-symbol.exp 2013-01-18 23:05:19.416210020 +0100
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.base/solib-symbol.exp 2013-01-18 23:05:34.814231667 +0100
@@ -27,7 +27,8 @@ set lib_flags [list debug ldflags=-Wl,-B
# Binary file.
set testfile "solib-symbol-main"
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/solib-symbol.exp 2013-08-02 16:27:28.833259471 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/solib-symbol.exp 2013-08-02 16:28:22.549330973 +0200
@@ -29,6 +29,7 @@ set testfile "solib-symbol-main"
set srcfile ${srcdir}/${subdir}/${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+set executable ${testfile}
+set binfile ${objdir}/${subdir}/${executable}
set binfile [standard_output_file ${testfile}]
set bin_flags [list debug shlib=${binfile_lib}]
+set executable ${testfile}
if [get_compiler_info] {
return -1
@@ -72,8 +73,26 @@ gdb_test "br foo2" \
"Breakpoint.*: foo2. .2 locations..*" \
"foo2 in mdlib"

View File

@ -1,98 +0,0 @@
2012-07-19 Gary Benson <gbenson@redhat.com>
* probe.h (get_probe_argument_count): New declaration.
(evaluate_probe_argument): Likewise.
* probe.c (get_probe_argument_count): New function.
(evaluate_probe_argument): Likewise.
(probe_safe_evaluate_at_pc): Use the above new functions.
diff --git a/gdb/probe.h b/gdb/probe.h
index 8d44ca2..1d29b87 100644
--- a/gdb/probe.h
+++ b/gdb/probe.h
@@ -214,6 +214,16 @@ extern void info_probes_for_ops (char *arg, int from_tty,
extern struct cmd_list_element **info_probes_cmdlist_get (void);
+/* Return the argument count of the specified probe. */
+
+extern unsigned get_probe_argument_count (struct probe *probe);
+
+/* Evaluate argument N of the specified probe. N must be between 0
+ inclusive and get_probe_argument_count exclusive. */
+
+extern struct value *evaluate_probe_argument (struct probe *probe,
+ unsigned n);
+
/* A convenience function that finds a probe at the PC in FRAME and
evaluates argument N, with 0 <= N < number_of_args. If there is no
probe at that location, or if the probe does not have enough arguments,
diff --git a/gdb/probe.c b/gdb/probe.c
index 77f3b13..a61f4ea 100644
--- a/gdb/probe.c
+++ b/gdb/probe.c
@@ -632,28 +632,55 @@ info_probes_command (char *arg, int from_tty)
/* See comments in probe.h. */
+unsigned
+get_probe_argument_count (struct probe *probe)
+{
+ const struct sym_probe_fns *probe_fns;
+
+ gdb_assert (probe->objfile != NULL);
+ gdb_assert (probe->objfile->sf != NULL);
+
+ probe_fns = probe->objfile->sf->sym_probe_fns;
+
+ gdb_assert (probe_fns != NULL);
+
+ return probe_fns->sym_get_probe_argument_count (probe);
+}
+
+/* See comments in probe.h. */
+
+struct value *
+evaluate_probe_argument (struct probe *probe, unsigned n)
+{
+ const struct sym_probe_fns *probe_fns;
+
+ gdb_assert (probe->objfile != NULL);
+ gdb_assert (probe->objfile->sf != NULL);
+
+ probe_fns = probe->objfile->sf->sym_probe_fns;
+
+ gdb_assert (probe_fns != NULL);
+
+ return probe_fns->sym_evaluate_probe_argument (probe, n);
+}
+
+/* See comments in probe.h. */
+
struct value *
probe_safe_evaluate_at_pc (struct frame_info *frame, unsigned n)
{
struct probe *probe;
- const struct sym_probe_fns *probe_fns;
unsigned n_args;
probe = find_probe_by_pc (get_frame_pc (frame));
if (!probe)
return NULL;
- gdb_assert (probe->objfile != NULL);
- gdb_assert (probe->objfile->sf != NULL);
- gdb_assert (probe->objfile->sf->sym_probe_fns != NULL);
-
- probe_fns = probe->objfile->sf->sym_probe_fns;
- n_args = probe_fns->sym_get_probe_argument_count (probe);
-
+ n_args = get_probe_argument_count (probe);
if (n >= n_args)
return NULL;
- return probe_fns->sym_evaluate_probe_argument (probe, n);
+ return evaluate_probe_argument (probe, n);
}
/* See comment in probe.h. */

View File

@ -1,131 +0,0 @@
2012-07-19 Gary Benson <gbenson@redhat.com>
* solib-svr4.c (svr4_info): Move earlier.
(solib_svr4_pspace_data): Likewise.
(svr4_pspace_data_cleanup): Likewise.
(get_svr4_info): Likewise.
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 307e483..c88b9cb 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -106,6 +106,59 @@ static const char * const main_name_list[] =
NULL
};
+/* Per pspace SVR4 specific data. */
+
+struct svr4_info
+{
+ CORE_ADDR debug_base; /* Base of dynamic linker structures. */
+
+ /* Validity flag for debug_loader_offset. */
+ int debug_loader_offset_p;
+
+ /* Load address for the dynamic linker, inferred. */
+ CORE_ADDR debug_loader_offset;
+
+ /* Name of the dynamic linker, valid if debug_loader_offset_p. */
+ char *debug_loader_name;
+
+ /* Load map address for the main executable. */
+ CORE_ADDR main_lm_addr;
+
+ CORE_ADDR interp_text_sect_low;
+ CORE_ADDR interp_text_sect_high;
+ CORE_ADDR interp_plt_sect_low;
+ CORE_ADDR interp_plt_sect_high;
+};
+
+/* Per-program-space data key. */
+static const struct program_space_data *solib_svr4_pspace_data;
+
+static void
+svr4_pspace_data_cleanup (struct program_space *pspace, void *arg)
+{
+ struct svr4_info *info;
+
+ info = program_space_data (pspace, solib_svr4_pspace_data);
+ xfree (info);
+}
+
+/* Get the current svr4 data. If none is found yet, add it now. This
+ function always returns a valid object. */
+
+static struct svr4_info *
+get_svr4_info (void)
+{
+ struct svr4_info *info;
+
+ info = program_space_data (current_program_space, solib_svr4_pspace_data);
+ if (info != NULL)
+ return info;
+
+ info = XZALLOC (struct svr4_info);
+ set_program_space_data (current_program_space, solib_svr4_pspace_data, info);
+ return info;
+}
+
/* Return non-zero if GDB_SO_NAME and INFERIOR_SO_NAME represent
the same shared library. */
@@ -291,59 +344,6 @@ lm_addr_check (struct so_list *so, bfd *abfd)
return so->lm_info->l_addr;
}
-/* Per pspace SVR4 specific data. */
-
-struct svr4_info
-{
- CORE_ADDR debug_base; /* Base of dynamic linker structures. */
-
- /* Validity flag for debug_loader_offset. */
- int debug_loader_offset_p;
-
- /* Load address for the dynamic linker, inferred. */
- CORE_ADDR debug_loader_offset;
-
- /* Name of the dynamic linker, valid if debug_loader_offset_p. */
- char *debug_loader_name;
-
- /* Load map address for the main executable. */
- CORE_ADDR main_lm_addr;
-
- CORE_ADDR interp_text_sect_low;
- CORE_ADDR interp_text_sect_high;
- CORE_ADDR interp_plt_sect_low;
- CORE_ADDR interp_plt_sect_high;
-};
-
-/* Per-program-space data key. */
-static const struct program_space_data *solib_svr4_pspace_data;
-
-static void
-svr4_pspace_data_cleanup (struct program_space *pspace, void *arg)
-{
- struct svr4_info *info;
-
- info = program_space_data (pspace, solib_svr4_pspace_data);
- xfree (info);
-}
-
-/* Get the current svr4 data. If none is found yet, add it now. This
- function always returns a valid object. */
-
-static struct svr4_info *
-get_svr4_info (void)
-{
- struct svr4_info *info;
-
- info = program_space_data (current_program_space, solib_svr4_pspace_data);
- if (info != NULL)
- return info;
-
- info = XZALLOC (struct svr4_info);
- set_program_space_data (current_program_space, solib_svr4_pspace_data, info);
- return info;
-}
-
/* Local function prototypes */
static int match_main (const char *);

View File

@ -1,17 +0,0 @@
2012-07-19 Gary Benson <gbenson@redhat.com>
* solib-svr4.c (svr4_info): Made debug_loader_offset_p a bitfield.
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index c88b9cb..8e41f19 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -113,7 +113,7 @@ struct svr4_info
CORE_ADDR debug_base; /* Base of dynamic linker structures. */
/* Validity flag for debug_loader_offset. */
- int debug_loader_offset_p;
+ unsigned int debug_loader_offset_p : 1;
/* Load address for the dynamic linker, inferred. */
CORE_ADDR debug_loader_offset;

File diff suppressed because it is too large Load Diff

View File

@ -1,147 +0,0 @@
2012-07-30 Gary Benson <gbenson@redhat.com>
* objfiles.h (inhibit_section_map_updates): New function
declaration.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
* objfiles.c (objfile_pspace_info): New field "inhibit_updates".
(find_pc_section): Do not update the section map if
inhibit_updates is set.
(inhibit_section_map_updates): New function.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
* solib-svr4.c (svr4_handle_solib_event): Inhibit section map
updates for calls to evaluate_probe_argument.
Index: gdb-7.5.50.20130118/gdb/objfiles.h
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/objfiles.h 2013-01-18 23:18:16.862315673 +0100
+++ gdb-7.5.50.20130118/gdb/objfiles.h 2013-01-18 23:18:36.702343482 +0100
@@ -508,6 +508,22 @@ extern int in_plt_section (CORE_ADDR, ch
modules. */
DECLARE_REGISTRY(objfile);
+/* In normal use, the section map will be rebuilt by FIND_PC_SECTION
+ if objfiles have been added, removed or relocated since it was last
+ called. Calling INHIBIT_SECTION_MAP_UPDATES will inhibit this
+ behavior until RESUME_SECTION_MAP_UPDATES is called. If you call
+ INHIBIT_SECTION_MAP_UPDATES you must ensure that every call to
+ FIND_PC_SECTION in the inhibited region relates to a section that
+ is already in the section map and has not since been removed or
+ relocated. */
+extern void inhibit_section_map_updates (void);
+
+/* Resume automatically rebuilding the section map as required. */
+extern void resume_section_map_updates (void);
+
+/* Version of the above suitable for use as a cleanup. */
+extern void resume_section_map_updates_cleanup (void *arg);
+
extern void default_iterate_over_objfiles_in_search_order
(struct gdbarch *gdbarch,
iterate_over_objfiles_in_search_order_cb_ftype *cb,
Index: gdb-7.5.50.20130118/gdb/objfiles.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/objfiles.c 2013-01-18 23:18:13.647311006 +0100
+++ gdb-7.5.50.20130118/gdb/objfiles.c 2013-01-18 23:18:16.862315673 +0100
@@ -69,6 +69,9 @@ struct objfile_pspace_info
int objfiles_changed_p;
struct obj_section **sections;
int num_sections;
+
+ /* Nonzero if section map updates should be inhibited. */
+ int inhibit_updates;
};
/* Per-program-space data key. */
@@ -1356,7 +1359,7 @@ find_pc_section (CORE_ADDR pc)
return s;
pspace_info = get_objfile_pspace_data (current_program_space);
- if (pspace_info->objfiles_changed_p != 0)
+ if (pspace_info->objfiles_changed_p && !pspace_info->inhibit_updates)
{
update_section_map (current_program_space,
&pspace_info->sections,
@@ -1415,6 +1418,30 @@ objfiles_changed (void)
get_objfile_pspace_data (current_program_space)->objfiles_changed_p = 1;
}
+/* See comments in objfiles.h. */
+
+void
+inhibit_section_map_updates (void)
+{
+ get_objfile_pspace_data (current_program_space)->inhibit_updates = 1;
+}
+
+/* See comments in objfiles.h. */
+
+void
+resume_section_map_updates (void)
+{
+ get_objfile_pspace_data (current_program_space)->inhibit_updates = 0;
+}
+
+/* See comments in objfiles.h. */
+
+void
+resume_section_map_updates_cleanup (void *arg)
+{
+ resume_section_map_updates ();
+}
+
/* The default implementation for the "iterate_over_objfiles_in_search_order"
gdbarch method. It is equivalent to use the ALL_OBJFILES macro,
searching the objfiles in the order they are stored internally,
Index: gdb-7.5.50.20130118/gdb/solib-svr4.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/solib-svr4.c 2013-01-18 23:18:13.649311010 +0100
+++ gdb-7.5.50.20130118/gdb/solib-svr4.c 2013-01-18 23:18:16.863315675 +0100
@@ -1849,6 +1849,7 @@ svr4_handle_solib_event (bpstat bs)
struct svr4_info *info = get_svr4_info ();
struct probe_and_info buf, *pi = &buf;
enum probe_action action;
+ struct cleanup *cleanups = NULL;
struct value *val;
LONGEST lmid;
CORE_ADDR debug_base, lm = 0;
@@ -1872,6 +1873,19 @@ svr4_handle_solib_event (bpstat bs)
if (action == NAMESPACE_NO_ACTION)
return;
+ /* EVALUATE_PROBE_ARGUMENT looks up symbols in the dynamic linker
+ using FIND_PC_SECTION. FIND_PC_SECTION is accelerated by a cache
+ called the section map. The section map is invalidated every
+ time a shared library is loaded or unloaded, and if the inferior
+ is generating a lot of shared library events then the section map
+ will be updated every time SVR4_HANDLE_SOLIB_EVENT is called.
+ We called FIND_PC_SECTION in SVR4_CREATE_SOLIB_EVENT_BREAKPOINTS,
+ so we can guarantee that the dynamic linker's sections are in the
+ section map. We can therefore inhibit section map updates across
+ these calls to EVALUATE_PROBE_ARGUMENT and save a lot of time. */
+ inhibit_section_map_updates ();
+ cleanups = make_cleanup (resume_section_map_updates_cleanup, NULL);
+
val = evaluate_probe_argument (pi->probe, 0);
if (val == NULL)
goto error;
@@ -1903,6 +1917,9 @@ svr4_handle_solib_event (bpstat bs)
action = NAMESPACE_RELOAD;
}
+ do_cleanups (cleanups);
+ cleanups = NULL;
+
if (action == NAMESPACE_UPDATE_OR_RELOAD)
{
if (namespace_update_incremental (info, lmid, lm, is_initial_ns))
@@ -1925,6 +1942,8 @@ svr4_handle_solib_event (bpstat bs)
warning (_("Probes-based dynamic linker interface failed.\n"
"Reverting to original interface.\n"));
+ if (cleanups != NULL)
+ do_cleanups (cleanups);
free_namespace_table (info);
free_probes (info);
info->using_probes = 0;

View File

@ -1,30 +0,0 @@
commit 21fd080d18f280c19fdc5489726dcd6c66eb5fbf
Author: Gary Benson <gbenson@redhat.com>
Date: Tue Jan 8 12:12:14 2013 +0000
Also stop on "map_failed" where appropriate
Removed a comment patch hunk.
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 5eb84ba..a46fd74 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -160,6 +160,7 @@ static const struct probe_info probe_info[] =
{ "init_start", NAMESPACE_NO_ACTION },
{ "init_complete", NAMESPACE_RELOAD },
{ "map_start", NAMESPACE_NO_ACTION },
+ { "map_failed", NAMESPACE_NO_ACTION },
{ "reloc_complete", NAMESPACE_UPDATE_OR_RELOAD },
{ "unmap_start", NAMESPACE_NO_ACTION },
{ "unmap_complete", NAMESPACE_RELOAD },
@@ -2056,6 +2058,9 @@ svr4_create_solib_event_breakpoints (struct gdbarch *gdbarch,
info->probes[i] = find_probes_in_objfile (os->objfile, "rtld",
name);
+ if (!strcmp (name, "rtld_map_failed"))
+ continue;
+
if (!VEC_length (probe_p, info->probes[i]))
{
free_probes (info);

View File

@ -1,307 +0,0 @@
commit 5bfdc32cd3bf373c3b02e1fd864ed8ceab0292b2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon Aug 8 12:08:53 2011 +0200
+testcase
Index: gdb-7.4.50.20120714/gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120714/gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c 2012-07-15 08:51:38.238701282 +0200
@@ -0,0 +1,40 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2011 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 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 <http://www.gnu.org/licenses/>. */
+
+#include <pthread.h>
+#include <assert.h>
+
+static void *
+tfunc (void *arg)
+{
+ void (*notifyp) (void) = arg;
+
+ notifyp ();
+}
+
+void
+f (void (*notifyp) (void))
+{
+ pthread_t t;
+ int i;
+
+ i = pthread_create (&t, NULL, tfunc, notifyp);
+ assert (i == 0);
+
+ i = pthread_join (t, NULL);
+ assert (i == 0);
+}
Index: gdb-7.4.50.20120714/gdb/testsuite/gdb.threads/dlopen-libpthread.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120714/gdb/testsuite/gdb.threads/dlopen-libpthread.c 2012-07-15 08:51:38.239701277 +0200
@@ -0,0 +1,46 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2011 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 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 <http://www.gnu.org/licenses/>. */
+
+#include <dlfcn.h>
+#include <stddef.h>
+#include <assert.h>
+
+static const char *volatile filename;
+
+static void
+notify (void)
+{
+ filename = NULL; /* notify-here */
+}
+
+int
+main (void)
+{
+ void *h;
+ void (*fp) (void (*) (void));
+
+ assert (filename != NULL);
+ h = dlopen (filename, RTLD_LAZY);
+ assert (h != NULL);
+
+ fp = dlsym (h, "f");
+ assert (fp != NULL);
+
+ fp (notify);
+
+ return 0;
+}
Index: gdb-7.4.50.20120714/gdb/testsuite/gdb.threads/dlopen-libpthread.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120714/gdb/testsuite/gdb.threads/dlopen-libpthread.exp 2012-07-15 09:08:01.760258588 +0200
@@ -0,0 +1,74 @@
+# Copyright 2011 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 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 <http://www.gnu.org/licenses/>.
+
+if {![istarget *-linux*] || [skip_shlib_tests]} {
+ return 0
+}
+
+load_lib prelink-support.exp
+
+set testfile "dlopen-libpthread"
+set srcmainfile ${testfile}.c
+set srclibfile ${testfile}-lib.c
+set executable ${testfile}
+set binfile_lib ${objdir}/${subdir}/${executable}.so
+set binfile ${objdir}/${subdir}/${executable}
+set lib_dlopen [shlib_target_file ${executable}.so]
+
+# Use build_executable_own_libs as prelinked libpthread.so can produce false
+# PASS - it is OK if GDB processes it still before relocation.
+
+set relink_args [build_executable_own_libs ${testfile}.exp ${executable}.so $srclibfile {debug shlib_pthreads} no]
+if {$relink_args == "" || ![prelink_no $relink_args]
+ || [prepare_for_testing ${testfile}.exp ${executable} ${srcmainfile} {debug shlib_load}] } {
+ return -1
+}
+gdb_load_shlibs $binfile_lib
+
+if { ![runto_main] } {
+ return -1
+}
+
+set test "info probes all rtld rtld_map_complete"
+gdb_test_multiple $test $test {
+ -re "\[ \t\]rtld_map_complete\[ \t\]+0x\[0-9a-f\]+.*\r\n$gdb_prompt $" {
+ pass $test
+ }
+ -re "No probes matched\\.\r\n$gdb_prompt $" {
+ xfail $test
+ untested ${testfile}.exp
+ return
+ }
+}
+
+set test "libpthread.so not found"
+gdb_test_multiple "info sharedlibrary" $test {
+ -re "/libpthread\\.so.*\r\n$gdb_prompt $" {
+ fail $test
+ }
+ -re "/libc\\.so.*\r\n$gdb_prompt $" {
+ pass $test
+ }
+}
+
+gdb_test "set variable filename=\"$lib_dlopen\""
+
+gdb_breakpoint "notify"
+
+# The error was:
+# Cannot find new threads: generic error
+gdb_continue_to_breakpoint "notify" ".* notify-here .*"
+
+gdb_test "info sharedlibrary" {/libpthread\.so.*} "libpthread.so found"
Index: gdb-7.4.50.20120714/gdb/testsuite/lib/gdb.exp
===================================================================
--- gdb-7.4.50.20120714.orig/gdb/testsuite/lib/gdb.exp 2012-07-15 08:51:36.803709222 +0200
+++ gdb-7.4.50.20120714/gdb/testsuite/lib/gdb.exp 2012-07-15 09:02:41.983028197 +0200
@@ -3774,22 +3774,6 @@ proc build_executable_from_specs {testna
set binfile [standard_output_file $executable]
- set objects {}
- set i 0
- foreach {s local_options} $args {
- if { [gdb_compile "${srcdir}/${subdir}/${s}" "${binfile}${i}.o" object $local_options] != "" } {
- untested $testname
- return -1
- }
- lappend objects "${binfile}${i}.o"
- incr i
- }
-
- if { [gdb_compile $objects "${binfile}" executable $options] != "" } {
- untested $testname
- return -1
- }
-
set info_options ""
if { [lsearch -exact $options "c++"] >= 0 } {
set info_options "c++"
@@ -3797,6 +3781,42 @@ proc build_executable_from_specs {testna
if [get_compiler_info ${info_options}] {
return -1
}
+
+ set binfile [standard_output_file $executable]
+
+ set func gdb_compile
+ set func_index [lsearch -regexp $options {^(pthreads|shlib|shlib_pthreads)$}]
+ if {$func_index != -1} {
+ set func "${func}_[lindex $options $func_index]"
+ }
+
+ # gdb_compile_shlib and gdb_compile_shlib_pthreads do not use the 3rd
+ # parameter. They also requires $sources while gdb_compile and
+ # gdb_compile_pthreads require $objects. Moreover they ignore any options.
+ if [string match gdb_compile_shlib* $func] {
+ set sources_path {}
+ foreach {s local_options} $args {
+ lappend sources_path "${srcdir}/${subdir}/${s}"
+ }
+ set ret [$func $sources_path "${binfile}" $options]
+ } else {
+ set objects {}
+ set i 0
+ foreach {s local_options} $args {
+ if { [gdb_compile "${srcdir}/${subdir}/${s}" "${binfile}${i}.o" object $local_options] != "" } {
+ untested $testname
+ return -1
+ }
+ lappend objects "${binfile}${i}.o"
+ incr i
+ }
+ set ret [$func $objects "${binfile}" executable $options]
+ }
+ if { $ret != "" } {
+ untested $testname
+ return -1
+ }
+
return 0
}
Index: gdb-7.4.50.20120714/gdb/testsuite/lib/prelink-support.exp
===================================================================
--- gdb-7.4.50.20120714.orig/gdb/testsuite/lib/prelink-support.exp 2012-01-04 09:27:56.000000000 +0100
+++ gdb-7.4.50.20120714/gdb/testsuite/lib/prelink-support.exp 2012-07-15 08:51:38.243701254 +0200
@@ -95,8 +95,9 @@ proc file_copy {src dest} {
# Wrap function build_executable so that the resulting executable is fully
# self-sufficient (without dependencies on system libraries). Parameter
# INTERP may be used to specify a loader (ld.so) to be used that is
-# different from the default system one. Libraries on which the executable
-# depends are copied into directory DIR. Default DIR value to
+# different from the default system one. INTERP can be set to "no" if no ld.so
+# copy should be made. Libraries on which the executable depends are copied
+# into directory DIR. Default DIR value to
# `${objdir}/${subdir}/${EXECUTABLE}.d'.
#
# In case of success, return a string containing the arguments to be used
@@ -151,8 +152,15 @@ proc build_executable_own_libs {testname
if {$interp == ""} {
set interp_system [section_get $binfile .interp]
- set interp ${dir}/[file tail $interp_system]
- file_copy $interp_system $interp
+ if {$interp_system == ""} {
+ fail "$test could not find .interp"
+ } else {
+ set interp ${dir}/[file tail $interp_system]
+ file_copy $interp_system $interp
+ }
+ }
+ if {$interp == "no"} {
+ set interp ""
}
set dests {}
@@ -164,13 +172,19 @@ proc build_executable_own_libs {testname
# Do not lappend it so that "-rpath $dir" overrides any possible "-rpath"s
# specified by the caller to be able to link it for ldd" above.
- set options [linsert $options 0 "ldflags=-Wl,--dynamic-linker,$interp,-rpath,$dir"]
+ set options [linsert $options 0 "ldflags=-Wl,-rpath,$dir"]
+ if {$interp != ""} {
+ set options [linsert $options 0 "ldflags=-Wl,--dynamic-linker,$interp"]
+ }
if {[build_executable $testname $executable $sources $options] == -1} {
return ""
}
- set prelink_args "--dynamic-linker=$interp --ld-library-path=$dir $binfile $interp [concat $dests]"
+ set prelink_args "--ld-library-path=$dir $binfile [concat $dests]"
+ if {$interp != ""} {
+ set prelink_args "--dynamic-linker=$interp $prelink_args $interp"
+ }
return $prelink_args
}

View File

@ -1,69 +0,0 @@
http://sourceware.org/ml/gdb-patches/2012-08/msg00500.html
Subject: [patch] testsuite: Make solib-corrupted.exp untested for probes [Re: [RFA 0/4 take 2] Improved linker-debugger interface]
On Fri, 17 Aug 2012 22:53:53 +0200, Jan Kratochvil wrote:
> It regresses with glibc-debuginfo installed:
>
> info sharedlibrary^M
> From To Syms Read Shared Object Library^M
> 0x00007ffff7ddcb20 0x00007ffff7df63d9 Yes /lib64/ld-linux-x86-64.so.2^M
> 0x00007ffff7ae05b0 0x00007ffff7b4ad78 Yes /lib64/libm.so.6^M
> 0x00007ffff77431a0 0x00007ffff7883cf0 Yes /lib64/libc.so.6^M
> (gdb) FAIL: gdb.base/solib-corrupted.exp: corrupted list
>
> But I guess there is no longer a way to test it with probes so it should just
> run some 'info probes' and make this test UNTESTED if rtld probes are
> available.
I had to implement it for Fedora already anyway.
Regards,
Jan
gdb/testsuite/
2012-08-18 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/solib-corrupted.exp: New variable probes.
(info probes): New test.
diff --git a/gdb/testsuite/gdb.base/solib-corrupted.exp b/gdb/testsuite/gdb.base/solib-corrupted.exp
index 84b3b0c..c9f55d6 100644
--- a/gdb/testsuite/gdb.base/solib-corrupted.exp
+++ b/gdb/testsuite/gdb.base/solib-corrupted.exp
@@ -36,6 +36,33 @@ if ![runto_main] {
return
}
+# With probes interface GDB no longer scans the inferior library list so its
+# corruption cannot be tested. There is no way to disable the probes
+# interface.
+
+set probes { init_start init_complete map_start reloc_complete unmap_start
+ unmap_complete }
+set test "info probes"
+gdb_test_multiple $test $test {
+ -re "^rtld\[ \t\]+(?:rtld_)?(\[a-z_\]+)\[ \t\]" {
+ set idx [lsearch -exact $probes $expect_out(1,string)]
+ if { $idx >= 0 } {
+ set probes [lreplace $probes $idx $idx]
+ }
+ exp_continue
+ }
+ -re "^\[^\r\n\]*\r\n" {
+ exp_continue
+ }
+ -re "^$gdb_prompt $" {
+ }
+}
+if { [llength $probes] == 0 } {
+ xfail $test
+ untested "GDB is using probes"
+ return
+}
+
gdb_test "info sharedlibrary" "From * To .*" "normal list"
# GDB checks there for matching L_PREV.

View File

@ -0,0 +1,86 @@
http://sourceware.org/ml/gdb-patches/2013-06/msg00788.html
Subject: [PATCH] "enable count" user input error handling (PR gdb/15678)
Typing "enable count" by itself crashes GDB. Also, if you omit the
breakpoint number/range, the error message is not very clear:
(gdb) enable count 2
warning: bad breakpoint number at or near ''
(gdb) enable count
Segmentation fault (core dumped)
With this patch, the error messages are slightly more helpful:
(gdb) enable count 2
Argument required (one or more breakpoint numbers).
(gdb) enable count
Argument required (hit count).
They are not as helpful to the user as I would like, but it's better
than crashing. Suggestions are welcome.
Simon
gdb/ChangeLog:
2013-06-26 Simon Marchi <simon.marchi@ericsson.com>
* breakpoint.c (map_breakpoint_numbers): Check for empty args
string.
(enable_count_command): Check args for NULL value.
gdb/testsuite/ChangeLog:
2013-06-26 Simon Marchi <simon.marchi@ericsson.com>
* gdb.base/ena-dis-br.exp: Test "enable count" for bad user input.
---
gdb/breakpoint.c | 9 +++++++--
gdb/testsuite/gdb.base/ena-dis-br.exp | 8 ++++++++
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index ccd05d9..5a0c5ab 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -14389,7 +14389,7 @@ map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *,
int match;
struct get_number_or_range_state state;
- if (args == 0)
+ if (args == 0 || *args == '\0')
error_no_arg (_("one or more breakpoint numbers"));
init_number_or_range (&state, args);
@@ -14713,7 +14713,12 @@ do_map_enable_count_breakpoint (struct breakpoint *bpt, void *countptr)
static void
enable_count_command (char *args, int from_tty)
{
- int count = get_number (&args);
+ int count;
+
+ if (args == NULL)
+ error_no_arg (_("hit count"));
+
+ count = get_number (&args);
map_breakpoint_numbers (args, do_map_enable_count_breakpoint, &count);
}
diff --git a/gdb/testsuite/gdb.base/ena-dis-br.exp b/gdb/testsuite/gdb.base/ena-dis-br.exp
index b08b709..82aef64 100644
--- a/gdb/testsuite/gdb.base/ena-dis-br.exp
+++ b/gdb/testsuite/gdb.base/ena-dis-br.exp
@@ -173,6 +173,14 @@ set bp [break_at $bp_location7 "line $bp_location7"]
set bp2 [break_at marker1 " line ($bp_location15|$bp_location16)"]
+gdb_test "enable count" \
+ "Argument required \\(hit count\\)\\." \
+ "enable count missing arguments"
+
+gdb_test "enable count 2" \
+ "Argument required \\(one or more breakpoint numbers\\)\\." \
+ "enable count missing last argument"
+
gdb_test_no_output "enable count 2 $bp" "disable break with count"
gdb_test "continue" \

View File

@ -40,16 +40,14 @@ Subject: [PATCH 4/4] add gdb-add-index
5 files changed, 57 insertions(+), 1 deletions(-)
create mode 100755 gdb/gdb-add-index
Index: gdb-7.4.50.20120103/gdb/Makefile.in
Index: gdb-7.6.50.20130731-cvs/gdb/Makefile.in
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/Makefile.in 2012-01-03 05:53:25.000000000 +0100
+++ gdb-7.4.50.20120103/gdb/Makefile.in 2012-01-03 15:24:25.693543435 +0100
@@ -1033,7 +1033,16 @@ install-only: install-gstack $(CONFIG_IN
$(INSTALL_DATA) $(srcdir)/gdb.1 \
$(DESTDIR)$(man1dir)/$$transformed_name.1 ; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir)/gdb ; \
- $(INSTALL_DATA) jit-reader.h $(DESTDIR)$(includedir)/gdb/jit-reader.h
+ $(INSTALL_DATA) jit-reader.h $(DESTDIR)$(includedir)/gdb/jit-reader.h; \
--- gdb-7.6.50.20130731-cvs.orig/gdb/Makefile.in 2013-08-02 16:31:59.603674194 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/Makefile.in 2013-08-02 16:32:08.260690156 +0200
@@ -1070,6 +1070,15 @@ install-only: install-gstack $(CONFIG_IN
$(INSTALL_PROGRAM) gcore \
$(DESTDIR)$(bindir)/$$transformed_name; \
fi
+ transformed_name=`t='$(program_transform_name)'; \
+ echo gdb-add-index | sed -e "$$t"` ; \
+ if test "x$$transformed_name" = x; then \
@ -62,11 +60,11 @@ Index: gdb-7.4.50.20120103/gdb/Makefile.in
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
install-python:
Index: gdb-7.4.50.20120103/gdb/doc/gdb.texinfo
Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/doc/gdb.texinfo 2012-01-03 15:20:54.000000000 +0100
+++ gdb-7.4.50.20120103/gdb/doc/gdb.texinfo 2012-01-03 15:23:43.295231946 +0100
@@ -16228,6 +16228,14 @@ There are currently some limitation on i
--- gdb-7.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 16:31:59.616674218 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:32:08.271690176 +0200
@@ -17447,6 +17447,14 @@ There are currently some limitation on i
for DWARF debugging information, not stabs. And, they do not
currently work for programs using Ada.
@ -81,10 +79,73 @@ Index: gdb-7.4.50.20120103/gdb/doc/gdb.texinfo
@node Symbol Errors
@section Errors Reading Symbol Files
Index: gdb-7.4.50.20120103/gdb/gdb-add-index
@@ -43044,6 +43052,7 @@ switch (die->tag)
* gdbserver man:: Remote Server for the GNU Debugger man page
* gcore man:: Generate a core file of a running program
* gdbinit man:: gdbinit scripts
+* gdb-add-index man:: Add index files to speed up GDB
@end menu
@node gdb man
@@ -43696,6 +43705,54 @@ gdb(1), @code{info -f gdb -n Startup}
The full documentation for @value{GDBN} is maintained as a Texinfo manual.
If the @code{info} and @code{gdb} programs and @value{GDBN}'s Texinfo
documentation are properly installed at your site, the command
+
+@smallexample
+info gdb
+@end smallexample
+
+should give you access to the complete manual.
+
+@cite{Using GDB: A Guide to the GNU Source-Level Debugger},
+Richard M. Stallman and Roland H. Pesch, July 1991.
+@end ifset
+@c man end
+
+@node gdb-add-index man
+@heading gdb-add-index
+
+@c man title gdb-add-index Add index files to speed up GDB
+
+@c man begin SYNOPSIS gdb-add-index
+gdb-add-index @var{filename}
+@c man end
+
+@c man begin DESCRIPTION gdb-add-index
+When GDB finds a symbol file, it scans the symbols in the file in order
+to construct an internal symbol table. This lets most GDB operations
+work quickly--at the cost of a delay early on. For large programs,
+this delay can be quite lengthy, so GDB provides a way to build an
+index, which speeds up startup.
+
+To determine whether a file contains such an index, use the command
+@command{readelf -S filename}: the index is stored in a section named
+@code{.gdb_index}. Note that the index is never generated for files that do
+not contain DWARF debug information (sections named @code{.debug_*}).
+
+See more in
+@ifset man
+the @value{GDBN} manual in node @code{Index Files}
+-- shell command @code{info -f gdb -n 'Index Files'}.
+@end ifset
+@ifclear man
+@ref{Index Files}.
+@end ifclear
+@c man end
+
+@c man begin SEEALSO gdb-add-index
+@ifset man
+The full documentation for @value{GDBN} is maintained as a Texinfo manual.
+If the @code{info} and @code{gdb} programs and @value{GDBN}'s Texinfo
+documentation are properly installed at your site, the command
@smallexample
info gdb
Index: gdb-7.6.50.20130731-cvs/gdb/gdb-add-index
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.4.50.20120103/gdb/gdb-add-index 2012-01-03 15:23:43.296231942 +0100
+++ gdb-7.6.50.20130731-cvs/gdb/gdb-add-index 2013-08-02 16:32:08.271690176 +0200
@@ -0,0 +1,30 @@
+#! /bin/sh
+
@ -116,3 +177,30 @@ Index: gdb-7.4.50.20120103/gdb/gdb-add-index
+fi
+
+exit 0
Index: gdb-7.6.50.20130731-cvs/gdb/doc/Makefile.in
===================================================================
--- gdb-7.6.50.20130731-cvs.orig/gdb/doc/Makefile.in 2013-08-02 16:31:59.618674222 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/doc/Makefile.in 2013-08-02 16:32:28.828727314 +0200
@@ -177,7 +177,7 @@ POD2MAN5 = pod2man --center="GNU Develop
--release="gdb-`sed q version.subst`" --section=5
# List of man pages generated from gdb.texi
-MAN1S = gdb.1 gdbserver.1 gcore.1
+MAN1S = gdb.1 gdbserver.1 gcore.1 gdb-add-index.1
MAN5S = gdbinit.5
MANS = $(MAN1S) $(MAN5S)
@@ -630,6 +630,13 @@ gcore.1: $(GDB_DOC_FILES)
mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
rm -f gcore.pod
+gdb-add-index.1: $(GDB_DOC_FILES)
+ touch $@
+ -$(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod
+ -($(POD2MAN1) gdb-add-index.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
+ rm -f gdb-add-index.pod
+
gdbinit.5: $(GDB_DOC_FILES)
touch $@
-$(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod

View File

@ -1,10 +1,10 @@
Index: gdb-7.5.50.20130118/gdb/dwarf2read.c
Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/dwarf2read.c 2013-01-19 21:16:22.437961789 +0100
+++ gdb-7.5.50.20130118/gdb/dwarf2read.c 2013-01-19 21:24:22.242969266 +0100
@@ -15987,6 +15987,25 @@ new_symbol_full (struct die_info *die, s
--- gdb-7.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:37:51.619241696 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:38:16.159277461 +0200
@@ -16654,6 +16654,25 @@ new_symbol_full (struct die_info *die, s
/* Cache this symbol's name and the name's demangled form (if any). */
SYMBOL_SET_LANGUAGE (sym, cu->language);
SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack);
linkagename = dwarf2_physname (name, die, cu);
+
+ /* Workaround for:
@ -28,10 +28,10 @@ Index: gdb-7.5.50.20130118/gdb/dwarf2read.c
SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile);
/* Fortran does not have mangling standard and the mangling does differ
Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp 2013-01-19 21:23:09.119827963 +0100
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp 2013-08-02 16:37:51.620241697 +0200
@@ -0,0 +1,108 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+

View File

@ -1,7 +1,25 @@
Index: gdb-7.5.50.20130215/gdb/ia64-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/ia64-tdep.c
+++ gdb-7.5.50.20130215/gdb/ia64-tdep.c
--- gdb-7.6.50.20130731-cvs.orig/gdb/ia64-tdep.c 2013-08-07 15:16:31.000000000 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c 2013-08-07 15:16:34.000000000 +0200
@@ -2181,7 +2181,7 @@ static const struct frame_unwind ia64_fr
avoid the additional bogus frame
#7 0x0000000000000000 in ?? () */
-static char linux_clone2_code[] =
+static unsigned char linux_clone2_code[] =
{
/* libc/sysdeps/unix/sysv/linux/ia64/clone2.S */
0x09, 0x00, 0x20, 0x12, 0x90, 0x11, 0x00, 0x40,
@@ -2220,7 +2220,7 @@ static int
ia64_linux_clone2_running (struct frame_info *this_frame)
{
CORE_ADDR pc = get_frame_pc (this_frame);
- char buf[LINUX_CLONE_LEN];
+ unsigned char buf[LINUX_CLONE_LEN];
struct minimal_symbol *minsym;
long long instr;
@@ -2256,7 +2256,7 @@ static int
ia64_outermost_frame (struct frame_info *this_frame)
{
@ -19,57 +37,3 @@ Index: gdb-7.5.50.20130215/gdb/ia64-tdep.c
&ia64_clone2_frame_this_id,
&ia64_clone2_frame_prev_register,
NULL,
@@ -2454,7 +2455,7 @@ ia64_sigtramp_frame_prev_register (struc
ULONGEST unatN_val;
ULONGEST unat;
read_memory (cache->saved_regs[IA64_UNAT_REGNUM], (char *) &unat,
- register_size (target_gdbarch, IA64_UNAT_REGNUM));
+ register_size (gdbarch, IA64_UNAT_REGNUM));
unatN_val = (unat & (1LL << (regnum - IA64_NAT0_REGNUM))) != 0;
return frame_unwind_got_constant (this_frame, regnum, unatN_val);
}
@@ -2470,9 +2471,9 @@ ia64_sigtramp_frame_prev_register (struc
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));
+ register_size (gdbarch, IA64_BSP_REGNUM));
read_memory (cache->saved_regs[IA64_CFM_REGNUM], (char *) &cfm,
- register_size (target_gdbarch, IA64_CFM_REGNUM));
+ register_size (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. */
@@ -2496,7 +2497,7 @@ ia64_sigtramp_frame_prev_register (struc
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));
+ register_size (gdbarch, IA64_RNAT_REGNUM));
}
else
nat_collection = read_memory_integer (nat_addr, 8, BFD_ENDIAN_LITTLE);
@@ -2522,9 +2523,9 @@ ia64_sigtramp_frame_prev_register (struc
ULONGEST bof;
read_memory (cache->saved_regs[IA64_BSP_REGNUM], (char *) &bsp,
- register_size (target_gdbarch, IA64_BSP_REGNUM));
+ register_size (gdbarch, IA64_BSP_REGNUM));
read_memory (cache->saved_regs[IA64_CFM_REGNUM], (char *) &cfm,
- register_size (target_gdbarch, IA64_CFM_REGNUM));
+ register_size (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. */
@@ -2564,9 +2565,9 @@ ia64_sigtramp_frame_prev_register (struc
ULONGEST cfm;
ULONGEST prN_val;
read_memory (pr_addr, (char *) &pr,
- register_size (target_gdbarch, IA64_PR_REGNUM));
+ register_size (gdbarch, IA64_PR_REGNUM));
read_memory (cache->saved_regs[IA64_CFM_REGNUM], (char *) &cfm,
- register_size (target_gdbarch, IA64_CFM_REGNUM));
+ register_size (gdbarch, IA64_CFM_REGNUM));
/* Get the register rename base for this frame and adjust the
* register name to take rotation into account. */

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1877172a7efbf7540290471e64816c9549b24a65e825f0e1a725ac950b4e5029
size 11744
oid sha256:b475a3ef42507a47b1ea4b7f9a4849287b4c713e5081ec86874eaa7da194f78b
size 11754

View File

@ -1,44 +0,0 @@
--- a/gdb/configure
+++ b/gdb/configure
@@ -14631,6 +14631,10 @@ rm -f core conftest.err conftest.$ac_objext \
# Problem does not happen for the recommended libpythonX.Y.so linkage.
old_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
+ old_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
+ old_LIBS="$LIBS"
+ LIBS="$LIBS $PYTHON_LIBS"
if test "$cross_compiling" = yes; then :
true
else
@@ -14657,6 +14661,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
fi
CFLAGS="$old_CFLAGS"
+ CPPFLAGS="$old_CPPFLAGS"
+ LIBS="$old_LIBS"
fi
LDFLAGS="$old_LDFLAGS"
fi
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -1576,6 +1576,10 @@ if test "${gdb_native}" = yes; then
# Problem does not happen for the recommended libpythonX.Y.so linkage.
old_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
+ old_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
+ old_LIBS="$LIBS"
+ LIBS="$LIBS $PYTHON_LIBS"
AC_RUN_IFELSE(
AC_LANG_PROGRAM(
[#include "]${have_libpython}[/Python.h"],
@@ -1586,6 +1590,8 @@ if test "${gdb_native}" = yes; then
return err == 0 ? 0 : 1;]),
[dynamic_list=true], [], [true])
CFLAGS="$old_CFLAGS"
+ CPPFLAGS="$old_CPPFLAGS"
+ LIBS="$old_LIBS"
fi
LDFLAGS="$old_LDFLAGS"
fi

File diff suppressed because it is too large Load Diff

View File

@ -96,10 +96,10 @@ Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-wp.patch
Index: gdb-7.5.50.20130215/gdb/arm-linux-nat.c
Index: gdb-7.6.50.20130731-cvs/gdb/arm-linux-nat.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/arm-linux-nat.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/arm-linux-nat.c 2013-02-15 22:42:45.988804306 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/arm-linux-nat.c 2013-08-02 16:42:29.565632895 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/arm-linux-nat.c 2013-08-02 16:42:34.094639104 +0200
@@ -1105,7 +1105,7 @@ arm_linux_region_ok_for_hw_watchpoint (C
/* Insert a Hardware breakpoint. */
@ -127,10 +127,10 @@ Index: gdb-7.5.50.20130215/gdb/arm-linux-nat.c
{
return start <= addr && start + length - 1 >= addr;
}
Index: gdb-7.5.50.20130215/gdb/i386-nat.c
Index: gdb-7.6.50.20130731-cvs/gdb/i386-nat.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/i386-nat.c 2013-02-15 22:41:53.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/i386-nat.c 2013-02-15 22:43:14.005838741 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/i386-nat.c 2013-08-02 16:42:29.566632896 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/i386-nat.c 2013-08-02 16:42:34.095639105 +0200
@@ -589,7 +589,7 @@ i386_update_inferior_debug_regs (struct
of the type TYPE. Return 0 on success, -1 on failure. */
@ -149,10 +149,10 @@ Index: gdb-7.5.50.20130215/gdb/i386-nat.c
struct expression *cond)
{
struct i386_debug_reg_state *state
Index: gdb-7.5.50.20130215/gdb/ia64-linux-nat.c
Index: gdb-7.6.50.20130731-cvs/gdb/ia64-linux-nat.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/ia64-linux-nat.c 2013-02-15 22:34:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/ia64-linux-nat.c 2013-02-15 22:42:45.989804309 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/ia64-linux-nat.c 2013-08-02 16:42:29.566632896 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/ia64-linux-nat.c 2013-08-02 16:42:34.095639105 +0200
@@ -542,7 +542,7 @@ is_power_of_2 (int val)
}
@ -171,11 +171,11 @@ Index: gdb-7.5.50.20130215/gdb/ia64-linux-nat.c
struct expression *cond)
{
int idx;
Index: gdb-7.5.50.20130215/gdb/inf-ttrace.c
Index: gdb-7.6.50.20130731-cvs/gdb/inf-ttrace.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/inf-ttrace.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/inf-ttrace.c 2013-02-15 22:42:45.989804309 +0100
@@ -313,14 +313,14 @@ inf_ttrace_disable_page_protections (pid
--- gdb-7.6.50.20130731-cvs.orig/gdb/inf-ttrace.c 2013-08-02 16:42:29.567632898 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/inf-ttrace.c 2013-08-02 16:42:34.095639105 +0200
@@ -314,14 +314,14 @@ inf_ttrace_disable_page_protections (pid
type TYPE. */
static int
@ -193,7 +193,7 @@ Index: gdb-7.5.50.20130215/gdb/inf-ttrace.c
gdb_assert (type == hw_write);
@@ -337,14 +337,14 @@ inf_ttrace_insert_watchpoint (CORE_ADDR
@@ -338,14 +338,14 @@ inf_ttrace_insert_watchpoint (CORE_ADDR
type TYPE. */
static int
@ -211,11 +211,11 @@ Index: gdb-7.5.50.20130215/gdb/inf-ttrace.c
gdb_assert (type == hw_write);
Index: gdb-7.5.50.20130215/gdb/mips-linux-nat.c
Index: gdb-7.6.50.20130731-cvs/gdb/mips-linux-nat.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/mips-linux-nat.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/mips-linux-nat.c 2013-02-15 22:42:45.990804311 +0100
@@ -1017,7 +1017,7 @@ populate_regs_from_watches (struct pt_wa
--- gdb-7.6.50.20130731-cvs.orig/gdb/mips-linux-nat.c 2013-08-02 16:42:29.568632899 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/mips-linux-nat.c 2013-08-02 16:42:34.096639106 +0200
@@ -644,7 +644,7 @@ mips_linux_new_thread (struct lwp_info *
watch. Return zero on success. */
static int
@ -224,7 +224,7 @@ Index: gdb-7.5.50.20130215/gdb/mips-linux-nat.c
struct expression *cond)
{
struct pt_watch_regs regs;
@@ -1067,7 +1067,7 @@ mips_linux_insert_watchpoint (CORE_ADDR
@@ -697,7 +697,7 @@ mips_linux_insert_watchpoint (CORE_ADDR
Return zero on success. */
static int
@ -233,10 +233,10 @@ Index: gdb-7.5.50.20130215/gdb/mips-linux-nat.c
struct expression *cond)
{
int retval;
Index: gdb-7.5.50.20130215/gdb/nto-procfs.c
Index: gdb-7.6.50.20130731-cvs/gdb/nto-procfs.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/nto-procfs.c 2013-01-01 07:32:47.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/nto-procfs.c 2013-02-15 22:42:45.990804311 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/nto-procfs.c 2013-08-02 16:42:29.568632899 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/nto-procfs.c 2013-08-02 16:42:34.096639106 +0200
@@ -69,10 +69,10 @@ static ptid_t do_attach (ptid_t ptid);
static int procfs_can_use_hw_breakpoint (int, int, int);
@ -267,11 +267,11 @@ Index: gdb-7.5.50.20130215/gdb/nto-procfs.c
struct expression *cond)
{
return procfs_hw_watchpoint (addr, len, type);
Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
Index: gdb-7.6.50.20130731-cvs/gdb/ppc-linux-nat.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/ppc-linux-nat.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/ppc-linux-nat.c 2013-02-15 22:42:45.991804313 +0100
@@ -1838,11 +1838,11 @@ can_use_watchpoint_cond_accel (void)
--- gdb-7.6.50.20130731-cvs.orig/gdb/ppc-linux-nat.c 2013-08-02 16:42:29.570632902 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/ppc-linux-nat.c 2013-08-02 16:42:34.097639108 +0200
@@ -1853,11 +1853,11 @@ can_use_watchpoint_cond_accel (void)
CONDITION_VALUE will hold the value which should be put in the
DVC register. */
static void
@ -286,7 +286,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
CORE_ADDR addr_end_data, addr_end_dvc;
/* The DVC register compares bytes within fixed-length windows which
@@ -1929,7 +1929,7 @@ num_memory_accesses (struct value *v)
@@ -1944,7 +1944,7 @@ num_memory_accesses (struct value *v)
of the constant. */
static int
check_condition (CORE_ADDR watch_addr, struct expression *cond,
@ -295,7 +295,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
{
int pc = 1, num_accesses_left, num_accesses_right;
struct value *left_val, *right_val, *left_chain, *right_chain;
@@ -1996,7 +1996,7 @@ check_condition (CORE_ADDR watch_addr, s
@@ -2011,7 +2011,7 @@ check_condition (CORE_ADDR watch_addr, s
the condition expression, thus only triggering the watchpoint when it is
true. */
static int
@ -304,7 +304,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
struct expression *cond)
{
CORE_ADDR data_value;
@@ -2013,7 +2013,7 @@ ppc_linux_can_accel_watchpoint_condition
@@ -2028,7 +2028,7 @@ ppc_linux_can_accel_watchpoint_condition
static void
create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr,
@ -313,7 +313,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
int insert)
{
if (len == 1
@@ -2058,7 +2058,7 @@ create_watchpoint_request (struct ppc_hw
@@ -2073,7 +2073,7 @@ create_watchpoint_request (struct ppc_hw
}
static int
@ -322,7 +322,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
struct expression *cond)
{
struct lwp_info *lp;
@@ -2126,7 +2126,7 @@ ppc_linux_insert_watchpoint (CORE_ADDR a
@@ -2141,7 +2141,7 @@ ppc_linux_insert_watchpoint (CORE_ADDR a
}
static int
@ -331,7 +331,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
struct expression *cond)
{
struct lwp_info *lp;
@@ -2266,7 +2266,7 @@ ppc_linux_stopped_by_watchpoint (void)
@@ -2292,7 +2292,7 @@ ppc_linux_stopped_by_watchpoint (void)
static int
ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr,
@ -340,10 +340,10 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
{
int mask;
Index: gdb-7.5.50.20130215/gdb/procfs.c
Index: gdb-7.6.50.20130731-cvs/gdb/procfs.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/procfs.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/procfs.c 2013-02-15 22:42:45.992804315 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/procfs.c 2013-08-02 16:42:29.572632904 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/procfs.c 2013-08-02 16:42:34.098639109 +0200
@@ -2433,7 +2433,7 @@ procfs_address_to_host_pointer (CORE_ADD
#endif
@ -380,11 +380,11 @@ Index: gdb-7.5.50.20130215/gdb/procfs.c
struct expression *cond)
{
return procfs_set_watchpoint (inferior_ptid, addr, 0, 0, 0);
Index: gdb-7.5.50.20130215/gdb/remote-m32r-sdi.c
Index: gdb-7.6.50.20130731-cvs/gdb/remote-m32r-sdi.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/remote-m32r-sdi.c 2013-01-01 07:32:50.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/remote-m32r-sdi.c 2013-02-15 22:42:45.993804317 +0100
@@ -1417,14 +1417,15 @@ m32r_can_use_hw_watchpoint (int type, in
--- gdb-7.6.50.20130731-cvs.orig/gdb/remote-m32r-sdi.c 2013-08-02 16:42:29.573632906 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/remote-m32r-sdi.c 2013-08-02 16:42:34.099639111 +0200
@@ -1416,14 +1416,15 @@ m32r_can_use_hw_watchpoint (int type, in
watchpoint. */
static int
@ -403,7 +403,7 @@ Index: gdb-7.5.50.20130215/gdb/remote-m32r-sdi.c
for (i = 0; i < MAX_ACCESS_BREAKS; i++)
{
@@ -1442,14 +1443,15 @@ m32r_insert_watchpoint (CORE_ADDR addr,
@@ -1441,14 +1442,15 @@ m32r_insert_watchpoint (CORE_ADDR addr,
}
static int
@ -422,11 +422,11 @@ Index: gdb-7.5.50.20130215/gdb/remote-m32r-sdi.c
for (i = 0; i < MAX_ACCESS_BREAKS; i++)
{
Index: gdb-7.5.50.20130215/gdb/remote-mips.c
Index: gdb-7.6.50.20130731-cvs/gdb/remote-mips.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/remote-mips.c 2013-01-01 07:32:50.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/remote-mips.c 2013-02-15 22:42:45.994804319 +0100
@@ -2419,7 +2419,7 @@ calculate_mask (CORE_ADDR addr, int len)
--- gdb-7.6.50.20130731-cvs.orig/gdb/remote-mips.c 2013-08-02 16:42:29.574632907 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/remote-mips.c 2013-08-02 16:42:34.100639112 +0200
@@ -2426,7 +2426,7 @@ calculate_mask (CORE_ADDR addr, int len)
watchpoint. */
static int
@ -435,7 +435,7 @@ Index: gdb-7.5.50.20130215/gdb/remote-mips.c
struct expression *cond)
{
if (mips_set_breakpoint (addr, len, type))
@@ -2431,7 +2431,7 @@ mips_insert_watchpoint (CORE_ADDR addr,
@@ -2438,7 +2438,7 @@ mips_insert_watchpoint (CORE_ADDR addr,
/* Remove a watchpoint. */
static int
@ -444,11 +444,11 @@ Index: gdb-7.5.50.20130215/gdb/remote-mips.c
struct expression *cond)
{
if (mips_clear_breakpoint (addr, len, type))
Index: gdb-7.5.50.20130215/gdb/remote.c
Index: gdb-7.6.50.20130731-cvs/gdb/remote.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/remote.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/remote.c 2013-02-15 22:42:45.996804323 +0100
@@ -8155,7 +8155,7 @@ watchpoint_to_Z_packet (int type)
--- gdb-7.6.50.20130731-cvs.orig/gdb/remote.c 2013-08-02 16:42:29.577632911 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/remote.c 2013-08-02 16:42:34.103639116 +0200
@@ -8277,7 +8277,7 @@ watchpoint_to_Z_packet (int type)
}
static int
@ -457,7 +457,7 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
struct expression *cond)
{
struct remote_state *rs = get_remote_state ();
@@ -8170,7 +8170,7 @@ remote_insert_watchpoint (CORE_ADDR addr
@@ -8297,7 +8297,7 @@ remote_insert_watchpoint (CORE_ADDR addr
p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr);
@ -466,7 +466,7 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0);
@@ -8190,7 +8190,7 @@ remote_insert_watchpoint (CORE_ADDR addr
@@ -8317,7 +8317,7 @@ remote_insert_watchpoint (CORE_ADDR addr
static int
remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
@ -475,7 +475,7 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
{
CORE_ADDR diff = remote_address_masked (addr - start);
@@ -8199,7 +8199,7 @@ remote_watchpoint_addr_within_range (str
@@ -8326,7 +8326,7 @@ remote_watchpoint_addr_within_range (str
static int
@ -484,7 +484,7 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
struct expression *cond)
{
struct remote_state *rs = get_remote_state ();
@@ -8214,7 +8214,7 @@ remote_remove_watchpoint (CORE_ADDR addr
@@ -8346,7 +8346,7 @@ remote_remove_watchpoint (CORE_ADDR addr
p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr);
@ -493,10 +493,10 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0);
Index: gdb-7.5.50.20130215/gdb/s390-nat.c
Index: gdb-7.6.50.20130731-cvs/gdb/s390-nat.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/s390-nat.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/s390-nat.c 2013-02-15 22:42:45.997804325 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/s390-nat.c 2013-08-02 16:42:29.578632913 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/s390-nat.c 2013-08-02 16:42:34.103639116 +0200
@@ -516,7 +516,7 @@ s390_fix_watch_points (struct lwp_info *
}
@ -515,21 +515,20 @@ Index: gdb-7.5.50.20130215/gdb/s390-nat.c
struct expression *cond)
{
struct lwp_info *lp;
Index: gdb-7.5.50.20130215/gdb/target.c
Index: gdb-7.6.50.20130731-cvs/gdb/target.c
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/target.c 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/target.c 2013-02-15 22:42:45.997804325 +0100
@@ -49,7 +49,8 @@ static void target_info (char *, int);
static void default_terminal_info (char *, int);
--- gdb-7.6.50.20130731-cvs.orig/gdb/target.c 2013-08-02 16:42:29.580632915 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/target.c 2013-08-02 16:42:52.160663787 +0200
@@ -49,7 +49,7 @@ static void target_info (char *, int);
static void default_terminal_info (const char *, int);
static int default_watchpoint_addr_within_range (struct target_ops *,
- CORE_ADDR, CORE_ADDR, int);
+ CORE_ADDR, CORE_ADDR,
+ LONGEST);
+ CORE_ADDR, CORE_ADDR, LONGEST);
static int default_region_ok_for_hw_watchpoint (CORE_ADDR, LONGEST);
@@ -114,10 +115,10 @@ static int debug_to_insert_hw_breakpoint
@@ -114,10 +114,10 @@ static int debug_to_insert_hw_breakpoint
static int debug_to_remove_hw_breakpoint (struct gdbarch *,
struct bp_target_info *);
@ -542,7 +541,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *);
static int debug_to_stopped_by_watchpoint (void);
@@ -125,11 +126,12 @@ static int debug_to_stopped_by_watchpoin
@@ -125,11 +125,12 @@ static int debug_to_stopped_by_watchpoin
static int debug_to_stopped_data_address (struct target_ops *, CORE_ADDR *);
static int debug_to_watchpoint_addr_within_range (struct target_ops *,
@ -557,7 +556,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *);
static void debug_to_terminal_init (void);
@@ -751,10 +753,10 @@ update_current_target (void)
@@ -790,10 +791,10 @@ update_current_target (void)
(int (*) (struct gdbarch *, struct bp_target_info *))
return_minus_one);
de_fault (to_insert_watchpoint,
@ -570,7 +569,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
return_minus_one);
de_fault (to_stopped_by_watchpoint,
(int (*) (void))
@@ -767,7 +769,7 @@ update_current_target (void)
@@ -806,7 +807,7 @@ update_current_target (void)
de_fault (to_region_ok_for_hw_watchpoint,
default_region_ok_for_hw_watchpoint);
de_fault (to_can_accel_watchpoint_condition,
@ -579,7 +578,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
return_zero);
de_fault (to_terminal_init,
(void (*) (void))
@@ -3558,7 +3560,7 @@ default_region_ok_for_hw_watchpoint (COR
@@ -3594,7 +3595,7 @@ default_region_ok_for_hw_watchpoint (COR
static int
default_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr,
@ -588,7 +587,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
{
return addr >= start && addr < start + length;
}
@@ -4265,7 +4267,7 @@ debug_to_region_ok_for_hw_watchpoint (CO
@@ -4555,7 +4556,7 @@ debug_to_region_ok_for_hw_watchpoint (CO
}
static int
@ -597,7 +596,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *cond)
{
int retval;
@@ -4275,8 +4277,8 @@ debug_to_can_accel_watchpoint_condition
@@ -4565,8 +4566,8 @@ debug_to_can_accel_watchpoint_condition
fprintf_unfiltered (gdb_stdlog,
"target_can_accel_watchpoint_condition "
@ -608,7 +607,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
host_address_to_string (cond), (unsigned long) retval);
return retval;
}
@@ -4311,7 +4313,7 @@ debug_to_stopped_data_address (struct ta
@@ -4601,7 +4602,7 @@ debug_to_stopped_data_address (struct ta
static int
debug_to_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr,
@ -617,7 +616,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
{
int retval;
@@ -4319,9 +4321,9 @@ debug_to_watchpoint_addr_within_range (s
@@ -4609,9 +4610,9 @@ debug_to_watchpoint_addr_within_range (s
start, length);
fprintf_filtered (gdb_stdlog,
@ -629,7 +628,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
return retval;
}
@@ -4356,7 +4358,7 @@ debug_to_remove_hw_breakpoint (struct gd
@@ -4646,7 +4647,7 @@ debug_to_remove_hw_breakpoint (struct gd
}
static int
@ -638,7 +637,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *cond)
{
int retval;
@@ -4364,14 +4366,14 @@ debug_to_insert_watchpoint (CORE_ADDR ad
@@ -4654,14 +4655,14 @@ debug_to_insert_watchpoint (CORE_ADDR ad
retval = debug_target.to_insert_watchpoint (addr, len, type, cond);
fprintf_unfiltered (gdb_stdlog,
@ -656,7 +655,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *cond)
{
int retval;
@@ -4379,8 +4381,8 @@ debug_to_remove_watchpoint (CORE_ADDR ad
@@ -4669,8 +4670,8 @@ debug_to_remove_watchpoint (CORE_ADDR ad
retval = debug_target.to_remove_watchpoint (addr, len, type, cond);
fprintf_unfiltered (gdb_stdlog,
@ -667,11 +666,11 @@ Index: gdb-7.5.50.20130215/gdb/target.c
host_address_to_string (cond), (unsigned long) retval);
return retval;
}
Index: gdb-7.5.50.20130215/gdb/target.h
Index: gdb-7.6.50.20130731-cvs/gdb/target.h
===================================================================
--- gdb-7.5.50.20130215.orig/gdb/target.h 2013-02-15 22:40:18.000000000 +0100
+++ gdb-7.5.50.20130215/gdb/target.h 2013-02-15 22:42:45.998804328 +0100
@@ -466,8 +466,8 @@ struct target_ops
--- gdb-7.6.50.20130731-cvs.orig/gdb/target.h 2013-08-02 16:42:29.580632915 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/target.h 2013-08-02 16:42:34.105639119 +0200
@@ -373,8 +373,8 @@ struct target_ops
/* Documentation of what the two routines below are expected to do is
provided with the corresponding target_* macros. */
@ -682,7 +681,7 @@ Index: gdb-7.5.50.20130215/gdb/target.h
int (*to_insert_mask_watchpoint) (struct target_ops *,
CORE_ADDR, CORE_ADDR, int);
@@ -478,13 +478,13 @@ struct target_ops
@@ -385,13 +385,13 @@ struct target_ops
int to_have_continuable_watchpoint;
int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *);
int (*to_watchpoint_addr_within_range) (struct target_ops *,

View File

@ -137,10 +137,10 @@ Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-tdep.patch
Index: gdb-7.5.50.20130118/gdb/alpha-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/alpha-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/alpha-tdep.c 2013-01-18 23:36:59.954290362 +0100
+++ gdb-7.5.50.20130118/gdb/alpha-tdep.c 2013-01-18 23:37:12.465307566 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/alpha-tdep.c 2013-08-02 16:43:01.128676094 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/alpha-tdep.c 2013-08-02 16:43:04.723681004 +0200
@@ -299,18 +299,18 @@ alpha_push_dummy_call (struct gdbarch *g
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@ -184,10 +184,10 @@ Index: gdb-7.5.50.20130118/gdb/alpha-tdep.c
memcpy (arg_reg_buffer + offset, contents, tlen);
offset += tlen;
contents += tlen;
Index: gdb-7.5.50.20130118/gdb/amd64-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/amd64-tdep.c 2013-01-18 23:36:59.955290365 +0100
+++ gdb-7.5.50.20130118/gdb/amd64-tdep.c 2013-01-18 23:37:12.466307569 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/amd64-tdep.c 2013-08-02 16:43:01.130676097 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c 2013-08-02 16:43:04.724681006 +0200
@@ -616,7 +616,7 @@ amd64_return_value (struct gdbarch *gdba
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@ -217,10 +217,10 @@ Index: gdb-7.5.50.20130118/gdb/amd64-tdep.c
enum amd64_reg_class class[2];
int needed_integer_regs = 0;
int needed_sse_regs = 0;
Index: gdb-7.5.50.20130118/gdb/amd64-windows-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/amd64-windows-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/amd64-windows-tdep.c 2013-01-18 23:36:59.956290369 +0100
+++ gdb-7.5.50.20130118/gdb/amd64-windows-tdep.c 2013-01-18 23:37:12.466307569 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/amd64-windows-tdep.c 2013-08-02 16:43:01.135676104 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/amd64-windows-tdep.c 2013-08-02 16:43:04.724681006 +0200
@@ -79,7 +79,7 @@ amd64_windows_return_value (struct gdbar
struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf)
@ -230,11 +230,11 @@ Index: gdb-7.5.50.20130118/gdb/amd64-windows-tdep.c
int regnum = -1;
/* See if our value is returned through a register. If it is, then
Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/arm-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/arm-tdep.c 2013-01-18 23:36:59.961290378 +0100
+++ gdb-7.5.50.20130118/gdb/arm-tdep.c 2013-01-18 23:37:12.469307573 +0100
@@ -3496,7 +3496,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
--- gdb-7.6.50.20130731-cvs.orig/gdb/arm-tdep.c 2013-08-02 16:43:01.140676110 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/arm-tdep.c 2013-08-02 16:43:04.727681010 +0200
@@ -3498,7 +3498,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
array). Vectors and complex types are not currently supported,
matching the generic AAPCS support. */
@ -243,7 +243,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
arm_vfp_cprc_sub_candidate (struct type *t,
enum arm_vfp_cprc_base_type *base_type)
{
@@ -3527,7 +3527,7 @@ arm_vfp_cprc_sub_candidate (struct type
@@ -3529,7 +3529,7 @@ arm_vfp_cprc_sub_candidate (struct type
case TYPE_CODE_ARRAY:
{
@ -252,7 +252,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
unsigned unitlen;
count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
if (count == -1)
@@ -3547,13 +3547,15 @@ arm_vfp_cprc_sub_candidate (struct type
@@ -3549,13 +3549,15 @@ arm_vfp_cprc_sub_candidate (struct type
case TYPE_CODE_STRUCT:
{
@ -271,7 +271,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
if (sub_count == -1)
return -1;
count += sub_count;
@@ -3573,13 +3575,15 @@ arm_vfp_cprc_sub_candidate (struct type
@@ -3575,13 +3577,15 @@ arm_vfp_cprc_sub_candidate (struct type
case TYPE_CODE_UNION:
{
@ -290,7 +290,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
if (sub_count == -1)
return -1;
count = (count > sub_count ? count : sub_count);
@@ -3615,7 +3619,7 @@ arm_vfp_call_candidate (struct type *t,
@@ -3617,7 +3621,7 @@ arm_vfp_call_candidate (struct type *t,
int *count)
{
enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
@ -299,7 +299,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
if (c <= 0 || c > 4)
return 0;
*base_type = b;
@@ -3696,7 +3700,7 @@ arm_push_dummy_call (struct gdbarch *gdb
@@ -3698,7 +3702,7 @@ arm_push_dummy_call (struct gdbarch *gdb
for (argnum = 0; argnum < nargs; argnum++)
{
@ -308,10 +308,10 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
struct type *arg_type;
struct type *target_type;
enum type_code typecode;
Index: gdb-7.5.50.20130118/gdb/avr-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/avr-tdep.c 2013-01-18 23:36:59.963290385 +0100
+++ gdb-7.5.50.20130118/gdb/avr-tdep.c 2013-01-18 23:37:12.470307574 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/avr-tdep.c 2013-08-02 16:43:01.142676113 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c 2013-08-02 16:43:04.728681011 +0200
@@ -1170,13 +1170,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
struct stack_item
@ -345,12 +345,12 @@ Index: gdb-7.5.50.20130118/gdb/avr-tdep.c
/* Calculate the potential last register needed. */
last_regnum = regnum - (len + (len & 1));
Index: gdb-7.5.50.20130118/gdb/bfin-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/bfin-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/bfin-tdep.c 2013-01-18 23:36:59.963290385 +0100
+++ gdb-7.5.50.20130118/gdb/bfin-tdep.c 2013-01-18 23:37:12.470307574 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/bfin-tdep.c 2013-08-02 16:43:01.142676113 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/bfin-tdep.c 2013-08-02 16:43:04.728681011 +0200
@@ -506,7 +506,7 @@ bfin_push_dummy_call (struct gdbarch *gd
char buf[4];
gdb_byte buf[4];
int i;
long reg_r0, reg_r1, reg_r2;
- int total_len = 0;
@ -367,10 +367,10 @@ Index: gdb-7.5.50.20130118/gdb/bfin-tdep.c
sp -= container_len;
write_memory (sp, value_contents_writeable (args[i]), container_len);
Index: gdb-7.5.50.20130118/gdb/cris-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/cris-tdep.c 2013-01-18 23:36:59.965290390 +0100
+++ gdb-7.5.50.20130118/gdb/cris-tdep.c 2013-01-18 23:37:12.471307578 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/cris-tdep.c 2013-08-02 16:43:04.729681012 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c 2013-08-02 16:52:28.316491561 +0200
@@ -670,13 +670,13 @@ static CORE_ADDR cris_unwind_sp (struct
struct stack_item
@ -382,8 +382,8 @@ Index: gdb-7.5.50.20130118/gdb/cris-tdep.c
};
static struct stack_item *
-push_stack_item (struct stack_item *prev, void *contents, int len)
+push_stack_item (struct stack_item *prev, void *contents, ssize_t len)
-push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
+push_stack_item (struct stack_item *prev, const gdb_byte *contents, ssize_t len)
{
struct stack_item *si;
si = xmalloc (sizeof (struct stack_item));
@ -393,22 +393,22 @@ Index: gdb-7.5.50.20130118/gdb/cris-tdep.c
{
- int len;
+ ssize_t len;
char *val;
const gdb_byte *val;
- int reg_demand;
- int i;
+ ssize_t reg_demand;
+ ssize_t i;
- len = TYPE_LENGTH (value_type (args[argnum]));
val = (char *) value_contents (args[argnum]);
val = value_contents (args[argnum]);
+ len = TYPE_LENGTH (value_type (args[argnum]));
/* How may registers worth of storage do we need for this argument? */
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
Index: gdb-7.5.50.20130118/gdb/h8300-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/h8300-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/h8300-tdep.c 2013-01-18 23:36:59.966290392 +0100
+++ gdb-7.5.50.20130118/gdb/h8300-tdep.c 2013-01-18 23:37:12.472307583 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/h8300-tdep.c 2013-08-02 16:43:01.144676116 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/h8300-tdep.c 2013-08-02 16:43:04.730681014 +0200
@@ -640,7 +640,7 @@ h8300_push_dummy_call (struct gdbarch *g
int struct_return, CORE_ADDR struct_addr)
{
@ -441,10 +441,10 @@ Index: gdb-7.5.50.20130118/gdb/h8300-tdep.c
for (offset = 0; offset < padded_len; offset += wordsize)
{
Index: gdb-7.5.50.20130118/gdb/hppa-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/hppa-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/hppa-tdep.c 2013-01-18 23:36:59.966290392 +0100
+++ gdb-7.5.50.20130118/gdb/hppa-tdep.c 2013-01-18 23:37:44.228351370 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/hppa-tdep.c 2013-08-02 16:43:01.145676117 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/hppa-tdep.c 2013-08-02 16:43:04.731681015 +0200
@@ -961,7 +961,7 @@ hppa64_push_dummy_call (struct gdbarch *
{
struct value *arg = args[i];
@ -463,10 +463,10 @@ Index: gdb-7.5.50.20130118/gdb/hppa-tdep.c
int regnum, offset;
if (len > 16)
Index: gdb-7.5.50.20130118/gdb/i386-darwin-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/i386-darwin-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/i386-darwin-tdep.c 2013-01-18 23:36:59.967290394 +0100
+++ gdb-7.5.50.20130118/gdb/i386-darwin-tdep.c 2013-01-18 23:37:12.473307586 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/i386-darwin-tdep.c 2013-08-02 16:43:01.145676117 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/i386-darwin-tdep.c 2013-08-02 16:43:04.731681015 +0200
@@ -166,7 +166,7 @@ i386_darwin_push_dummy_call (struct gdba
for (write_pass = 0; write_pass < 2; write_pass++)
@ -476,10 +476,10 @@ Index: gdb-7.5.50.20130118/gdb/i386-darwin-tdep.c
int num_m128 = 0;
if (struct_return)
Index: gdb-7.5.50.20130118/gdb/i386-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/i386-tdep.c 2013-01-18 23:36:59.969290398 +0100
+++ gdb-7.5.50.20130118/gdb/i386-tdep.c 2013-01-18 23:37:12.475307589 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/i386-tdep.c 2013-08-02 16:43:01.147676120 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c 2013-08-02 16:43:04.733681018 +0200
@@ -2407,7 +2407,7 @@ i386_push_dummy_call (struct gdbarch *gd
gdb_byte buf[4];
int i;
@ -543,10 +543,10 @@ Index: gdb-7.5.50.20130118/gdb/i386-tdep.c
if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
{
Index: gdb-7.5.50.20130118/gdb/ia64-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/ia64-tdep.c 2013-01-18 23:36:59.970290400 +0100
+++ gdb-7.5.50.20130118/gdb/ia64-tdep.c 2013-01-18 23:37:12.476307589 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/ia64-tdep.c 2013-08-02 16:43:01.148676121 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c 2013-08-02 16:43:04.734681019 +0200
@@ -3974,8 +3974,10 @@ ia64_push_dummy_call (struct gdbarch *gd
int argno;
struct value *arg;
@ -560,10 +560,10 @@ Index: gdb-7.5.50.20130118/gdb/ia64-tdep.c
int floatreg;
ULONGEST bsp;
CORE_ADDR funcdescaddr, pc, global_pointer;
Index: gdb-7.5.50.20130118/gdb/iq2000-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/iq2000-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/iq2000-tdep.c 2013-01-18 23:36:59.970290400 +0100
+++ gdb-7.5.50.20130118/gdb/iq2000-tdep.c 2013-01-18 23:37:12.476307589 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/iq2000-tdep.c 2013-08-02 16:43:01.149676123 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/iq2000-tdep.c 2013-08-02 16:43:04.734681019 +0200
@@ -654,8 +654,9 @@ iq2000_push_dummy_call (struct gdbarch *
const bfd_byte *val;
bfd_byte buf[4];
@ -576,11 +576,11 @@ Index: gdb-7.5.50.20130118/gdb/iq2000-tdep.c
/* Used to copy struct arguments into the stack. */
CORE_ADDR struct_ptr;
Index: gdb-7.5.50.20130118/gdb/m32r-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/m32r-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/m32r-tdep.c 2013-01-18 23:36:59.971290402 +0100
+++ gdb-7.5.50.20130118/gdb/m32r-tdep.c 2013-01-18 23:37:12.476307589 +0100
@@ -695,7 +695,7 @@ m32r_push_dummy_call (struct gdbarch *gd
--- gdb-7.6.50.20130731-cvs.orig/gdb/m32r-tdep.c 2013-08-02 16:43:01.149676123 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/m32r-tdep.c 2013-08-02 16:43:04.734681019 +0200
@@ -689,7 +689,7 @@ m32r_push_dummy_call (struct gdbarch *gd
CORE_ADDR regval;
gdb_byte *val;
gdb_byte valbuf[MAX_REGISTER_SIZE];
@ -589,10 +589,10 @@ Index: gdb-7.5.50.20130118/gdb/m32r-tdep.c
/* First force sp to a 4-byte alignment. */
sp = sp & ~3;
Index: gdb-7.5.50.20130118/gdb/m68k-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/m68k-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/m68k-tdep.c 2013-01-18 23:36:59.971290402 +0100
+++ gdb-7.5.50.20130118/gdb/m68k-tdep.c 2013-01-18 23:39:06.474459041 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/m68k-tdep.c 2013-08-02 16:43:01.149676123 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/m68k-tdep.c 2013-08-02 16:43:04.735681021 +0200
@@ -384,7 +384,7 @@ m68k_reg_struct_return_p (struct gdbarch
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@ -615,10 +615,10 @@ Index: gdb-7.5.50.20130118/gdb/m68k-tdep.c
/* Non-scalars bigger than 4 bytes are left aligned, others are
right aligned. */
Index: gdb-7.5.50.20130118/gdb/m88k-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/m88k-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/m88k-tdep.c 2013-01-18 23:36:59.971290402 +0100
+++ gdb-7.5.50.20130118/gdb/m88k-tdep.c 2013-01-18 23:37:12.477307590 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/m88k-tdep.c 2013-08-02 16:43:01.150676124 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/m88k-tdep.c 2013-08-02 16:43:04.735681021 +0200
@@ -260,13 +260,13 @@ m88k_store_arguments (struct regcache *r
{
struct gdbarch *gdbarch = get_regcache_arch (regcache);
@ -646,11 +646,11 @@ Index: gdb-7.5.50.20130118/gdb/m88k-tdep.c
if (m88k_in_register_p (type))
{
Index: gdb-7.5.50.20130118/gdb/mep-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/mep-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/mep-tdep.c 2013-01-18 23:36:59.972290404 +0100
+++ gdb-7.5.50.20130118/gdb/mep-tdep.c 2013-01-18 23:37:12.477307590 +0100
@@ -2279,7 +2279,7 @@ push_large_arguments (CORE_ADDR sp, int
--- gdb-7.6.50.20130731-cvs.orig/gdb/mep-tdep.c 2013-08-02 16:43:01.150676124 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/mep-tdep.c 2013-08-02 16:43:04.735681021 +0200
@@ -2272,7 +2272,7 @@ push_large_arguments (CORE_ADDR sp, int
for (i = 0; i < argc; i++)
{
@ -659,11 +659,11 @@ Index: gdb-7.5.50.20130118/gdb/mep-tdep.c
if (arg_len > MEP_GPR_SIZE)
{
Index: gdb-7.5.50.20130118/gdb/mips-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/mips-tdep.c 2013-01-18 23:36:59.975290414 +0100
+++ gdb-7.5.50.20130118/gdb/mips-tdep.c 2013-01-18 23:37:12.479307599 +0100
@@ -396,7 +396,7 @@ static void
--- gdb-7.6.50.20130731-cvs.orig/gdb/mips-tdep.c 2013-08-02 16:43:01.153676128 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c 2013-08-02 16:43:04.737681023 +0200
@@ -402,7 +402,7 @@ static void
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
int reg_num, int length,
enum bfd_endian endian, gdb_byte *in,
@ -672,7 +672,7 @@ Index: gdb-7.5.50.20130118/gdb/mips-tdep.c
{
int reg_offset = 0;
@@ -419,8 +419,8 @@ mips_xfer_register (struct gdbarch *gdba
@@ -425,8 +425,8 @@ mips_xfer_register (struct gdbarch *gdba
}
if (mips_debug)
fprintf_unfiltered (gdb_stderr,
@ -808,23 +808,23 @@ Index: gdb-7.5.50.20130118/gdb/mips-tdep.c
val = value_contents (arg);
Index: gdb-7.5.50.20130118/gdb/mn10300-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/mn10300-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/mn10300-tdep.c 2013-01-18 23:36:59.976290416 +0100
+++ gdb-7.5.50.20130118/gdb/mn10300-tdep.c 2013-01-18 23:37:12.479307599 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/mn10300-tdep.c 2013-08-02 16:43:04.737681023 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/mn10300-tdep.c 2013-08-02 16:50:34.212320698 +0200
@@ -1228,7 +1228,7 @@ mn10300_push_dummy_call (struct gdbarch
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
const int push_size = register_size (gdbarch, E_PC_REGNUM);
int regs_used;
- int len, arg_len;
+ LONGEST len, arg_len;
+ LONGEST len, arg_len;
int stack_offset = 0;
int argnum;
char *val, valbuf[MAX_REGISTER_SIZE];
Index: gdb-7.5.50.20130118/gdb/mt-tdep.c
const gdb_byte *val;
Index: gdb-7.6.50.20130731-cvs/gdb/mt-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/mt-tdep.c 2013-01-18 23:36:59.976290416 +0100
+++ gdb-7.5.50.20130118/gdb/mt-tdep.c 2013-01-18 23:37:12.479307599 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/mt-tdep.c 2013-08-02 16:43:01.154676130 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/mt-tdep.c 2013-08-02 16:43:04.737681023 +0200
@@ -783,9 +783,9 @@ mt_push_dummy_call (struct gdbarch *gdba
gdb_byte buf[MT_MAX_STRUCT_SIZE];
int argreg = MT_1ST_ARGREG;
@ -837,10 +837,10 @@ Index: gdb-7.5.50.20130118/gdb/mt-tdep.c
int i, j;
/* First handle however many args we can fit into MT_1ST_ARGREG thru
Index: gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/ppc-sysv-tdep.c 2013-01-18 23:36:59.977290417 +0100
+++ gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c 2013-01-18 23:37:12.480307602 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/ppc-sysv-tdep.c 2013-08-02 16:43:01.155676131 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c 2013-08-02 16:43:04.738681025 +0200
@@ -68,7 +68,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
@ -871,7 +871,7 @@ Index: gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c
const bfd_byte *val = value_contents (arg);
if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8
@@ -1556,14 +1556,14 @@ ppc64_sysv_abi_push_dummy_call (struct g
@@ -1613,14 +1613,14 @@ ppc64_sysv_abi_push_dummy_call (struct g
}
else
{
@ -888,7 +888,7 @@ Index: gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c
if (len > tdep->wordsize)
len = tdep->wordsize;
memset (regval, 0, sizeof regval);
@@ -1591,7 +1591,7 @@ ppc64_sysv_abi_push_dummy_call (struct g
@@ -1648,7 +1648,7 @@ ppc64_sysv_abi_push_dummy_call (struct g
register. Work around this by always writing the
value to memory. Fortunately, doing this
simplifies the code. */
@ -897,11 +897,11 @@ Index: gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c
if (len < tdep->wordsize)
write_memory (gparam + tdep->wordsize - len, val, len);
else
Index: gdb-7.5.50.20130118/gdb/rl78-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/rl78-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/rl78-tdep.c 2013-01-18 23:36:59.977290417 +0100
+++ gdb-7.5.50.20130118/gdb/rl78-tdep.c 2013-01-18 23:37:12.480307602 +0100
@@ -1019,8 +1019,8 @@ rl78_push_dummy_call (struct gdbarch *gd
--- gdb-7.6.50.20130731-cvs.orig/gdb/rl78-tdep.c 2013-08-02 16:43:01.155676131 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/rl78-tdep.c 2013-08-02 16:43:04.738681025 +0200
@@ -1030,8 +1030,8 @@ rl78_push_dummy_call (struct gdbarch *gd
for (i = nargs - 1; i >= 0; i--)
{
struct type *value_type = value_enclosing_type (args[i]);
@ -912,11 +912,11 @@ Index: gdb-7.5.50.20130118/gdb/rl78-tdep.c
sp -= container_len;
write_memory (rl78_make_data_address (sp),
Index: gdb-7.5.50.20130118/gdb/rs6000-aix-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-aix-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/rs6000-aix-tdep.c 2013-01-18 23:36:59.978290418 +0100
+++ gdb-7.5.50.20130118/gdb/rs6000-aix-tdep.c 2013-01-18 23:37:12.480307602 +0100
@@ -198,9 +198,9 @@ rs6000_push_dummy_call (struct gdbarch *
--- gdb-7.6.50.20130731-cvs.orig/gdb/rs6000-aix-tdep.c 2013-08-02 16:43:01.155676131 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/rs6000-aix-tdep.c 2013-08-02 16:43:04.738681025 +0200
@@ -196,9 +196,9 @@ rs6000_push_dummy_call (struct gdbarch *
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int ii;
@ -928,7 +928,7 @@ Index: gdb-7.5.50.20130118/gdb/rs6000-aix-tdep.c
gdb_byte tmp_buffer[50];
int f_argno = 0; /* current floating point argno */
int wordsize = gdbarch_tdep (gdbarch)->wordsize;
@@ -328,7 +328,7 @@ ran_out_of_registers_for_arguments:
@@ -331,7 +331,7 @@ ran_out_of_registers_for_arguments:
if ((argno < nargs) || argbytes)
{
@ -937,11 +937,11 @@ Index: gdb-7.5.50.20130118/gdb/rs6000-aix-tdep.c
if (argbytes)
{
Index: gdb-7.5.50.20130118/gdb/s390-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/s390-tdep.c 2013-01-18 23:36:59.979290420 +0100
+++ gdb-7.5.50.20130118/gdb/s390-tdep.c 2013-01-18 23:37:12.480307602 +0100
@@ -2482,7 +2482,7 @@ is_float_like (struct type *type)
--- gdb-7.6.50.20130731-cvs.orig/gdb/s390-tdep.c 2013-08-02 16:43:01.156676132 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c 2013-08-02 16:43:04.739681026 +0200
@@ -2483,7 +2483,7 @@ is_float_like (struct type *type)
static int
@ -950,7 +950,7 @@ Index: gdb-7.5.50.20130118/gdb/s390-tdep.c
{
return ((n & (n - 1)) == 0);
}
@@ -2668,7 +2668,7 @@ s390_push_dummy_call (struct gdbarch *gd
@@ -2669,7 +2669,7 @@ s390_push_dummy_call (struct gdbarch *gd
{
struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg));
@ -959,10 +959,10 @@ Index: gdb-7.5.50.20130118/gdb/s390-tdep.c
if (s390_function_arg_pass_by_reference (type))
{
Index: gdb-7.5.50.20130118/gdb/score-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/score-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/score-tdep.c 2013-01-18 23:36:59.979290420 +0100
+++ gdb-7.5.50.20130118/gdb/score-tdep.c 2013-01-18 23:37:12.481307604 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/score-tdep.c 2013-08-02 16:43:01.157676134 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/score-tdep.c 2013-08-02 16:43:04.739681026 +0200
@@ -515,7 +515,7 @@ score_push_dummy_call (struct gdbarch *g
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argnum;
@ -972,10 +972,10 @@ Index: gdb-7.5.50.20130118/gdb/score-tdep.c
CORE_ADDR stack_offset = 0;
CORE_ADDR addr = 0;
Index: gdb-7.5.50.20130118/gdb/sh-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/sh-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/sh-tdep.c 2013-01-18 23:36:59.980290423 +0100
+++ gdb-7.5.50.20130118/gdb/sh-tdep.c 2013-01-18 23:37:12.481307604 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/sh-tdep.c 2013-08-02 16:43:01.157676134 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/sh-tdep.c 2013-08-02 16:51:29.604404553 +0200
@@ -807,7 +807,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
static int
sh_use_struct_convention (int renesas_abi, struct type *type)
@ -988,36 +988,36 @@ Index: gdb-7.5.50.20130118/gdb/sh-tdep.c
@@ -909,7 +909,7 @@ sh_frame_align (struct gdbarch *ignore,
/* Helper function to justify value in register according to endianess. */
static char *
static const gdb_byte *
-sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, int len)
+sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, LONGEST len)
{
static char valbuf[4];
static gdb_byte valbuf[4];
@@ -1069,7 +1069,8 @@ sh_push_dummy_call_fpu (struct gdbarch *
struct type *type;
CORE_ADDR regval;
char *val;
const gdb_byte *val;
- int len, reg_size = 0;
+ LONGEST len;
+ ssize_t reg_size = 0;
+ int reg_size = 0;
int pass_on_stack = 0;
int treat_as_flt;
int last_reg_arg = INT_MAX;
@@ -1210,7 +1211,8 @@ sh_push_dummy_call_nofpu (struct gdbarch
struct type *type;
CORE_ADDR regval;
char *val;
const gdb_byte *val;
- int len, reg_size = 0;
+ LONGEST len;
+ ssize_t reg_size = 0;
+ int reg_size = 0;
int pass_on_stack = 0;
int last_reg_arg = INT_MAX;
Index: gdb-7.5.50.20130118/gdb/sh64-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/sh64-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/sh64-tdep.c 2013-01-18 23:36:59.980290423 +0100
+++ gdb-7.5.50.20130118/gdb/sh64-tdep.c 2013-01-18 23:37:12.482307606 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/sh64-tdep.c 2013-08-02 16:43:01.158676135 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/sh64-tdep.c 2013-08-02 16:50:49.740344125 +0200
@@ -1058,7 +1058,7 @@ sh64_push_dummy_call (struct gdbarch *gd
CORE_ADDR struct_addr)
{
@ -1029,17 +1029,17 @@ Index: gdb-7.5.50.20130118/gdb/sh64-tdep.c
int double_argreg;
@@ -1069,7 +1069,7 @@ sh64_push_dummy_call (struct gdbarch *gd
CORE_ADDR regval;
char *val;
char valbuf[8];
const gdb_byte *val;
gdb_byte valbuf[8];
- int len;
+ LONGEST len;
int argreg_size;
int fp_args[12];
Index: gdb-7.5.50.20130118/gdb/sparc-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/sparc-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/sparc-tdep.c 2013-01-18 23:36:59.981290427 +0100
+++ gdb-7.5.50.20130118/gdb/sparc-tdep.c 2013-01-18 23:37:12.482307606 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/sparc-tdep.c 2013-08-02 16:43:01.159676136 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/sparc-tdep.c 2013-08-02 16:43:04.740681027 +0200
@@ -471,7 +471,7 @@ sparc32_store_arguments (struct regcache
for (i = 0; i < nargs; i++)
{
@ -1049,10 +1049,10 @@ Index: gdb-7.5.50.20130118/gdb/sparc-tdep.c
if (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && len == 16)
Index: gdb-7.5.50.20130118/gdb/sparc64-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/sparc64-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/sparc64-tdep.c 2013-01-18 23:36:59.982290430 +0100
+++ gdb-7.5.50.20130118/gdb/sparc64-tdep.c 2013-01-18 23:37:12.482307606 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/sparc64-tdep.c 2013-08-02 16:43:01.159676136 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/sparc64-tdep.c 2013-08-02 16:43:04.741681029 +0200
@@ -639,7 +639,8 @@ sparc64_16_byte_align_p (struct type *ty
static void
@ -1108,11 +1108,11 @@ Index: gdb-7.5.50.20130118/gdb/sparc64-tdep.c
int regnum = -1;
gdb_byte buf[16];
Index: gdb-7.5.50.20130118/gdb/spu-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/spu-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/spu-tdep.c 2013-01-18 23:36:59.982290430 +0100
+++ gdb-7.5.50.20130118/gdb/spu-tdep.c 2013-01-18 23:37:12.483307607 +0100
@@ -1373,7 +1373,7 @@ spu_push_dummy_call (struct gdbarch *gdb
--- gdb-7.6.50.20130731-cvs.orig/gdb/spu-tdep.c 2013-08-02 16:43:01.160676138 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/spu-tdep.c 2013-08-02 16:43:04.741681029 +0200
@@ -1376,7 +1376,7 @@ spu_push_dummy_call (struct gdbarch *gdb
struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg));
const gdb_byte *contents = value_contents (arg);
@ -1121,7 +1121,7 @@ Index: gdb-7.5.50.20130118/gdb/spu-tdep.c
/* If the argument doesn't wholly fit into registers, it and
all subsequent arguments go to the stack. */
@@ -1405,7 +1405,7 @@ spu_push_dummy_call (struct gdbarch *gdb
@@ -1408,7 +1408,7 @@ spu_push_dummy_call (struct gdbarch *gdb
{
struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg));
@ -1130,10 +1130,10 @@ Index: gdb-7.5.50.20130118/gdb/spu-tdep.c
int preferred_slot;
if (spu_scalar_value_p (type))
Index: gdb-7.5.50.20130118/gdb/tic6x-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/tic6x-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/tic6x-tdep.c 2013-01-18 23:36:59.983290432 +0100
+++ gdb-7.5.50.20130118/gdb/tic6x-tdep.c 2013-01-18 23:39:27.770484516 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/tic6x-tdep.c 2013-08-02 16:43:01.160676138 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/tic6x-tdep.c 2013-08-02 16:43:04.742681030 +0200
@@ -896,7 +896,7 @@ tic6x_push_dummy_call (struct gdbarch *g
int argreg = 0;
int argnum;
@ -1171,24 +1171,24 @@ Index: gdb-7.5.50.20130118/gdb/tic6x-tdep.c
addr = sp + stack_offset;
write_memory (addr, val, len);
Index: gdb-7.5.50.20130118/gdb/tilegx-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/tilegx-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/tilegx-tdep.c 2013-01-18 23:36:59.983290432 +0100
+++ gdb-7.5.50.20130118/gdb/tilegx-tdep.c 2013-01-18 23:37:12.483307607 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/tilegx-tdep.c 2013-08-02 16:43:01.161676139 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/tilegx-tdep.c 2013-08-02 16:43:04.742681030 +0200
@@ -291,7 +291,7 @@ tilegx_push_dummy_call (struct gdbarch *
CORE_ADDR stack_dest = sp;
int argreg = TILEGX_R0_REGNUM;
int i, j;
- int typelen, slacklen, alignlen;
+ LONGEST typelen, slacklen, alignlen;
static const gdb_byte two_zero_words[8] = { 0 };
static const gdb_byte four_zero_words[16] = { 0 };
/* If struct_return is 1, then the struct return address will
Index: gdb-7.5.50.20130118/gdb/v850-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/v850-tdep.c 2013-01-18 23:36:59.984290434 +0100
+++ gdb-7.5.50.20130118/gdb/v850-tdep.c 2013-01-18 23:37:12.484307608 +0100
@@ -808,7 +808,7 @@ v850_push_dummy_call (struct gdbarch *gd
--- gdb-7.6.50.20130731-cvs.orig/gdb/v850-tdep.c 2013-08-02 16:43:01.161676139 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c 2013-08-02 16:52:55.219531101 +0200
@@ -1021,7 +1021,7 @@ v850_push_dummy_call (struct gdbarch *gd
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argreg;
int argnum;
@ -1196,8 +1196,8 @@ Index: gdb-7.5.50.20130118/gdb/v850-tdep.c
+ LONGEST len = 0;
int stack_offset;
/* The offset onto the stack at which we will start copying parameters
@@ -833,7 +833,7 @@ v850_push_dummy_call (struct gdbarch *gd
if (gdbarch_tdep (gdbarch)->abi == V850_ABI_RH850)
@@ -1049,7 +1049,7 @@ v850_push_dummy_call (struct gdbarch *gd
in four registers available. Loop thru args from first to last. */
for (argnum = 0; argnum < nargs; argnum++)
{
@ -1206,10 +1206,10 @@ Index: gdb-7.5.50.20130118/gdb/v850-tdep.c
gdb_byte *val;
gdb_byte valbuf[v850_reg_size];
Index: gdb-7.5.50.20130118/gdb/vax-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/vax-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/vax-tdep.c 2013-01-18 23:36:59.984290434 +0100
+++ gdb-7.5.50.20130118/gdb/vax-tdep.c 2013-01-18 23:37:12.484307608 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/vax-tdep.c 2013-08-02 16:43:01.161676139 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/vax-tdep.c 2013-08-02 16:43:04.742681030 +0200
@@ -115,7 +115,7 @@ vax_store_arguments (struct regcache *re
struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@ -1228,10 +1228,10 @@ Index: gdb-7.5.50.20130118/gdb/vax-tdep.c
sp -= (len + 3) & ~3;
count += (len + 3) / 4;
Index: gdb-7.5.50.20130118/gdb/xstormy16-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/xstormy16-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/xstormy16-tdep.c 2013-01-18 23:36:59.984290434 +0100
+++ gdb-7.5.50.20130118/gdb/xstormy16-tdep.c 2013-01-18 23:37:12.484307608 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/xstormy16-tdep.c 2013-08-02 16:43:01.162676141 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/xstormy16-tdep.c 2013-08-02 16:43:04.743681032 +0200
@@ -235,8 +235,9 @@ xstormy16_push_dummy_call (struct gdbarc
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR stack_dest = sp;
@ -1242,12 +1242,12 @@ Index: gdb-7.5.50.20130118/gdb/xstormy16-tdep.c
+ LONGEST j;
+ LONGEST typelen;
const gdb_byte *val;
char buf[xstormy16_pc_size];
gdb_byte buf[xstormy16_pc_size];
Index: gdb-7.5.50.20130118/gdb/xtensa-tdep.c
Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c
===================================================================
--- gdb-7.5.50.20130118.orig/gdb/xtensa-tdep.c 2013-01-18 23:36:59.985290436 +0100
+++ gdb-7.5.50.20130118/gdb/xtensa-tdep.c 2013-01-18 23:37:12.484307608 +0100
--- gdb-7.6.50.20130731-cvs.orig/gdb/xtensa-tdep.c 2013-08-02 16:43:01.163676142 +0200
+++ gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c 2013-08-02 16:43:04.743681032 +0200
@@ -1653,8 +1653,7 @@ xtensa_store_return_value (struct type *
if (len > (callsize > 8 ? 8 : 16))

View File

@ -0,0 +1,138 @@
Index: gdb-7.5.91.20130407/gdb/testsuite/gdb.threads/tls-rhbz947564.cc
===================================================================
--- /dev/null
+++ gdb-7.5.91.20130407/gdb/testsuite/gdb.threads/tls-rhbz947564.cc
@@ -0,0 +1,53 @@
+#include <iostream>
+#include <pthread.h>
+
+class x
+ {
+ public:
+ int n;
+
+ x() : n(0) {}
+ };
+
+class y
+ {
+ public:
+ int v;
+
+ y() : v(0) {}
+ static __thread x *xp;
+ };
+
+__thread x *y::xp;
+
+static void
+foo (y *yp)
+{
+ yp->v = 1; /* foo_marker */
+}
+
+static void *
+bar (void *unused)
+{
+ x xinst;
+ y::xp= &xinst;
+
+ y yy;
+ foo(&yy);
+
+ return NULL;
+}
+
+int
+main(int argc, char *argv[])
+{
+ pthread_t t[2];
+
+ pthread_create (&t[0], NULL, bar, NULL);
+ pthread_create (&t[1], NULL, bar, NULL);
+
+ pthread_join (t[0], NULL);
+ pthread_join (t[1], NULL);
+
+ return 0;
+}
Index: gdb-7.5.91.20130407/gdb/testsuite/gdb.threads/tls-rhbz947564.exp
===================================================================
--- /dev/null
+++ gdb-7.5.91.20130407/gdb/testsuite/gdb.threads/tls-rhbz947564.exp
@@ -0,0 +1,75 @@
+# Copyright (C) 2013 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 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 <http://www.gnu.org/licenses/>. */
+
+set testfile tls-rhbz947564
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+
+if [istarget "*-*-linux"] then {
+ set target_cflags "-D_MIT_POSIX_THREADS"
+} else {
+ set target_cflags ""
+}
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list c++ debug]] != "" } {
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+
+gdb_load ${binfile}
+
+if { ![runto_main] } {
+ fail "Can't run to function main"
+ return 0
+}
+
+gdb_breakpoint "foo"
+gdb_continue_to_breakpoint "foo" ".* foo_marker .*"
+
+proc get_xp_val {try} {
+ global expect_out
+ global gdb_prompt
+ global hex
+
+ set xp_val ""
+ gdb_test_multiple "print *yp" "print yp value" {
+ -re { = \{v = 0, static xp = (0x[0-9a-f]+)\}.* } {
+ pass "print $try value of *yp"
+ set xp_val $expect_out(1,string)
+ }
+ -re "$gdb_prompt $" {
+ fail "print $try value of *yp"
+ }
+ timeout {
+ fail "print $try value of *yp (timeout)"
+ }
+ }
+ return $xp_val
+}
+
+set first_run [get_xp_val "first"]
+
+gdb_test "continue" "Breakpoint \[0-9\]+, foo \\\(yp=$hex\\\) at.*"
+
+set second_run [get_xp_val "second"]
+
+if { $first_run != $second_run } {
+ pass "different values for TLS variable"
+} else {
+ fail "different values for TLS variable"
+}

View File

@ -6,8 +6,10 @@ http://sourceware.org/ml/gdb-patches/2010-08/msg00085.html
http://sourceware.org/ml/gdb-cvs/2010-08/msg00026.html
2e5bcfdef1ec3883d48c3f87a4be5c0dff25e17e
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu 2013-08-02 22:14:50.748990883 +0200
@@ -0,0 +1,20 @@
+begin 600 x86_64-pid0-core.core.bz2
+M0EIH.3%!629362,CA>P!$/'_____^*#EZ-A!SP36P&_:G0#=14``04A&8,'U
@ -29,8 +31,10 @@ http://sourceware.org/ml/gdb-cvs/2010-08/msg00026.html
+4B.Z!/,0-IZ^W_Q=R13A0D",CA>P`
+`
+end
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp 2013-08-02 22:17:30.575209385 +0200
@@ -0,0 +1,46 @@
+# This testcase is part of GDB, the GNU debugger.
+#
@ -77,4 +81,4 @@ http://sourceware.org/ml/gdb-cvs/2010-08/msg00026.html
+
+# Former crash was:
+# thread.c:884: internal-error: switch_to_thread: Assertion `inf != NULL' failed.
+gdb_test "core-file ${corefile}" "Program terminated with signal 11, Segmentation fault\\.\r\n.*"
+gdb_test "core-file ${corefile}" "Program terminated with signal (11|SIGSEGV), Segmentation fault\\.\r\n.*"

View File

@ -102,7 +102,7 @@ gdb/
}
}
+
+ if (gdbarch_ptr_bit (gdbarch) == 32)
+ if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32)
+ {
+ /* Sign-extend %eax as during return from a syscall it is being checked
+ for -ERESTART* values -512 being above 0xfffffffffffffe00; tested by

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Mon Aug 12 15:30:32 UTC 2013 - schwab@suse.de
- gdb-aarch64-hw-break.patch: fix setting hardware debug registers after
fork
-------------------------------------------------------------------
Wed Aug 7 13:27:17 UTC 2013 - matz@suse.com
- Merge from fedoras gdb-7.6.50-20130731-cvs, of what will become 7.7
eventually. This includes 7.6, which gave:
* new native configurations (e.g. ARM AArch64 GNU/Linux)
* new targets (e.g. ARM AArch64, Lynx 178 PowerPC, x86_64/Cygwin)
* support for the "mini debuginfo" section, .gnu_debugdata
* the C++ ABI now defaults to the GNU v3 ABI
* more Python scripting improvements
* some GDB/MI improvements
* new configure options, new commands, and options
* new remote packets
* a new "target record-btrace" has been added while the
"target record" command has been renamed to "target record-full"
- gdb-ia64-tdep.patch: build fixes
- gdb-ppc-ptrace.diff: Remove patch, not needed on new kernels
-------------------------------------------------------------------
Tue Jul 2 12:34:27 UTC 2013 - schwab@suse.de

257
gdb.spec
View File

@ -16,10 +16,10 @@
Summary: A GNU source-level debugger for C, C++, Fortran and other languages
Name: gdb
%global snap 20130215
%global snap 20130731
# See timestamp of source gnulib installed into gdb/gnulib/ .
%global snapgnulib 20121213
Version: 7.5.50.20130215
Version: 7.6.50.20130731
# 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.
@ -30,7 +30,7 @@ Group: Development/Tools/Debuggers
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# Do not provide URL for snapshots as the file lasts there only for 2 days.
# ftp://sourceware.org/pub/gdb/releases/gdb-%{version}.tar.bz2
Source: gdb-%{version}.tar.bz2
Source: gdb-%{version}-cvs.tar.bz2
URL: http://gnu.org/software/gdb/
%if "%{scl}" == "devtoolset-1.1"
@ -38,7 +38,7 @@ Obsoletes: devtoolset-1.0-%{pkg_name}
%endif
# For our convenience
%global gdb_src %{name}-%{version}
%global gdb_src %{name}-%{version}-cvs
%global gdb_build build-%{_target_platform}
%global gdb_docdir %{_docdir}/%{name}-doc
@ -73,7 +73,7 @@ Source3: gdb-gstack.man
Source4: gdbinit
# libstdc++ pretty printers from GCC SVN HEAD (4.5 experimental).
%global libstdcxxpython libstdc++-v3-python-r155978
%global libstdcxxpython gdb-libstdc++-v3-python-r155978
Source5: %{libstdcxxpython}.tar.bz2
# Provide gdbtui for RHEL-5 and RHEL-6 as it is removed upstream (BZ 797664).
@ -84,127 +84,113 @@ Source6: gdbtui
Patch1: gdb-6.3-rh-testversion-20041202.patch
Patch2: gdb-archer.patch
Patch3: gdb-6.3-rh-dummykfail-20041202.patch
Patch4: gdb-6.3-rh-testlibunwind-20041202.patch
Patch5: gdb-6.3-ppc64syscall-20040622.patch
Patch6: gdb-6.3-ppc64displaysymbol-20041124.patch
Patch7: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
Patch8: gdb-6.3-gstack-20050411.patch
Patch9: gdb-6.3-test-pie-20050107.patch
Patch10: gdb-6.3-test-self-20050110.patch
Patch11: gdb-6.3-test-dtorfix-20050121.patch
Patch12: gdb-6.3-test-movedir-20050125.patch
Patch13: gdb-6.3-gcore-thread-20050204.patch
Patch14: gdb-6.3-threaded-watchpoints2-20050225.patch
Patch15: gdb-6.3-ia64-gcore-page0-20050421.patch
Patch16: gdb-6.3-ia64-sigtramp-frame-20050708.patch
Patch17: gdb-6.3-ia64-gcore-speedup-20050714.patch
Patch18: gdb-6.3-inferior-notification-20050721.patch
Patch19: gdb-6.3-ia64-info-frame-fix-20050725.patch
Patch20: gdb-6.3-inheritancetest-20050726.patch
Patch21: gdb-6.3-readnever-20050907.patch
Patch22: gdb-6.3-ia64-sigill-20051115.patch
Patch23: gdb-6.5-bz203661-emit-relocs.patch
Patch24: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
Patch25: gdb-6.5-sharedlibrary-path.patch
Patch26: gdb-6.5-bz190810-gdbserver-arch-advice.patch
Patch27: gdb-6.5-BEA-testsuite.patch
Patch28: gdb-6.5-last-address-space-byte-test.patch
Patch29: gdb-6.5-readline-long-line-crash-test.patch
Patch30: gdb-6.5-bz216711-clone-is-outermost.patch
Patch31: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
Patch32: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
Patch33: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
Patch34: gdb-6.3-bz140532-ppc-unwinding-test.patch
Patch35: gdb-6.3-bz202689-exec-from-pthread-test.patch
Patch36: gdb-6.6-bz230000-power6-disassembly-test.patch
Patch37: gdb-6.3-bz231832-obstack-2gb.patch
Patch38: gdb-6.6-bz229517-gcore-without-terminal.patch
Patch39: gdb-6.6-bz235197-fork-detach-info.patch
Patch40: gdb-6.6-testsuite-timeouts.patch
Patch41: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
Patch42: gdb-6.6-scheduler_locking-step-is-default.patch
Patch43: gdb-6.3-attach-see-vdso-test.patch
Patch44: gdb-6.5-bz243845-stale-testing-zombie-test.patch
Patch45: gdb-6.6-buildid-locate.patch
Patch46: gdb-6.6-buildid-locate-solib-missing-ids.patch
Patch47: gdb-6.6-buildid-locate-rpm.patch
Patch48: gdb-6.6-bfd-vdso8k.patch
Patch49: gdb-6.7-charsign-test.patch
Patch50: gdb-6.7-ppc-clobbered-registers-O2-test.patch
Patch51: gdb-6.7-testsuite-stable-results.patch
Patch52: gdb-6.5-ia64-libunwind-leak-test.patch
Patch53: gdb-6.5-missed-trap-on-step-test.patch
Patch54: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
Patch55: gdb-6.5-gcore-buffer-limit-test.patch
Patch56: gdb-6.6-threads-static-test.patch
Patch57: gdb-6.3-mapping-zero-inode-test.patch
Patch58: gdb-6.3-focus-cmd-prev-test.patch
Patch59: gdb-6.8-bz442765-threaded-exec-test.patch
Patch60: gdb-6.8-sparc64-silence-memcpy-check.patch
Patch61: gdb-6.5-section-num-fixup-test.patch
Patch62: gdb-6.8-bz436037-reg-no-longer-active.patch
Patch63: gdb-6.8-watchpoint-conditionals-test.patch
Patch64: gdb-6.8-bz466901-backtrace-full-prelinked.patch
Patch65: gdb-6.8-bz457187-largefile-test.patch
Patch66: gdb-simultaneous-step-resume-breakpoint-test.patch
Patch67: gdb-core-open-vdso-warning.patch
Patch68: gdb-x86_64-i386-syscall-restart.patch
Patch69: gdb-bz533176-fortran-omp-step.patch
Patch70: gdb-follow-child-stale-parent.patch
Patch71: gdb-ccache-workaround.patch
Patch72: gdb-archer-pie-addons.patch
Patch73: gdb-archer-pie-addons-keep-disabled.patch
Patch74: gdb-lineno-makeup-test.patch
Patch75: gdb-ppc-power7-test.patch
Patch76: gdb-bz541866-rwatch-before-run.patch
Patch77: gdb-moribund-utrace-workaround.patch
Patch78: gdb-archer-next-over-throw-cxx-exec.patch
Patch79: gdb-bz601887-dwarf4-rh-test.patch
Patch80: gdb-6.6-buildid-locate-core-as-arg.patch
Patch81: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
Patch82: gdb-test-bt-cfi-without-die.patch
Patch83: gdb-gdb-add-index-script.patch
Patch84: gdb-bz568248-oom-is-error.patch
Patch85: gdb-bz634108-solib_address.patch
Patch86: gdb-test-pid0-core.patch
Patch87: gdb-test-dw2-aranges.patch
Patch88: gdb-test-expr-cumulative-archer.patch
Patch89: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
Patch90: gdb-dlopen-stap-probe-3of7.patch
Patch91: gdb-dlopen-stap-probe-4of7.patch
Patch92: gdb-dlopen-stap-probe-5of7.patch
Patch93: gdb-dlopen-stap-probe-6of7.patch
Patch94: gdb-dlopen-stap-probe-7of7.patch
Patch95: gdb-dlopen-stap-probe-test2.patch
Patch96: gdb-dlopen-stap-probe-mapfailed.patch
Patch97: gdb-dlopen-stap-probe-test.patch
Patch98: gdb-glibc-vdso-workaround.patch
Patch99: gdb-runtest-pie-override.patch
Patch100: gdb-python-rdynamic.patch
Patch101: gdb-attach-fail-reasons-5of5.patch
Patch102: gdb-attach-fail-reasons-5of5configure.patch
Patch103: gdb-stale-frame_info.patch
Patch104: gdb-glibc-strstr-workaround.patch
Patch105: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
Patch106: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
Patch107: gdb-rhbz795424-bitpos-20of25.patch
Patch108: gdb-rhbz795424-bitpos-21of25.patch
Patch109: gdb-rhbz795424-bitpos-22of25.patch
Patch110: gdb-rhbz795424-bitpos-23of25.patch
Patch111: gdb-rhbz795424-bitpos-25of25.patch
Patch112: gdb-rhbz795424-bitpos-25of25-test.patch
Patch113: gdb-rhbz795424-bitpos-lazyvalue.patch
Patch114: gdb-rhel5-gcc44.patch
Patch115: gdb-readline62-ask-more-rh.patch
Patch116: gdb-6.8-attach-signalled-detach-stopped.patch
Patch117: gdb-6.8-quit-never-aborts.patch
Patch118: gdb-rhel5-compat.patch
Patch4: gdb-6.3-ppc64syscall-20040622.patch
Patch5: gdb-6.3-ppc64displaysymbol-20041124.patch
Patch6: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
Patch7: gdb-6.3-gstack-20050411.patch
Patch8: gdb-6.3-test-pie-20050107.patch
Patch9: gdb-6.3-test-self-20050110.patch
Patch10: gdb-6.3-test-dtorfix-20050121.patch
Patch11: gdb-6.3-test-movedir-20050125.patch
Patch12: gdb-6.3-threaded-watchpoints2-20050225.patch
Patch13: gdb-6.3-inferior-notification-20050721.patch
Patch14: gdb-6.3-inheritancetest-20050726.patch
Patch15: gdb-6.3-readnever-20050907.patch
Patch16: gdb-6.5-bz203661-emit-relocs.patch
Patch17: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
Patch18: gdb-6.5-sharedlibrary-path.patch
Patch19: gdb-6.5-bz190810-gdbserver-arch-advice.patch
Patch20: gdb-6.5-BEA-testsuite.patch
Patch21: gdb-6.5-last-address-space-byte-test.patch
Patch22: gdb-6.5-readline-long-line-crash-test.patch
Patch23: gdb-6.5-bz216711-clone-is-outermost.patch
Patch24: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
Patch25: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
Patch26: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
Patch27: gdb-6.3-bz140532-ppc-unwinding-test.patch
Patch28: gdb-6.3-bz202689-exec-from-pthread-test.patch
Patch29: gdb-6.6-bz230000-power6-disassembly-test.patch
Patch30: gdb-6.3-bz231832-obstack-2gb.patch
Patch31: gdb-6.6-bz229517-gcore-without-terminal.patch
Patch32: gdb-6.6-bz235197-fork-detach-info.patch
Patch33: gdb-6.6-testsuite-timeouts.patch
Patch34: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
Patch35: gdb-6.6-scheduler_locking-step-is-default.patch
Patch36: gdb-6.3-attach-see-vdso-test.patch
Patch37: gdb-6.5-bz243845-stale-testing-zombie-test.patch
Patch38: gdb-6.6-buildid-locate.patch
Patch39: gdb-6.6-buildid-locate-solib-missing-ids.patch
Patch40: gdb-6.6-buildid-locate-rpm.patch
Patch41: gdb-6.6-bfd-vdso8k.patch
Patch42: gdb-6.7-charsign-test.patch
Patch43: gdb-6.7-ppc-clobbered-registers-O2-test.patch
Patch44: gdb-6.7-testsuite-stable-results.patch
Patch45: gdb-6.5-ia64-libunwind-leak-test.patch
Patch46: gdb-6.5-missed-trap-on-step-test.patch
Patch47: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
Patch48: gdb-6.5-gcore-buffer-limit-test.patch
Patch49: gdb-6.6-threads-static-test.patch
Patch50: gdb-6.3-mapping-zero-inode-test.patch
Patch51: gdb-6.3-focus-cmd-prev-test.patch
Patch52: gdb-6.8-bz442765-threaded-exec-test.patch
Patch53: gdb-6.8-sparc64-silence-memcpy-check.patch
Patch54: gdb-6.5-section-num-fixup-test.patch
Patch55: gdb-6.8-bz436037-reg-no-longer-active.patch
Patch56: gdb-6.8-watchpoint-conditionals-test.patch
Patch57: gdb-6.8-bz466901-backtrace-full-prelinked.patch
Patch58: gdb-6.8-bz457187-largefile-test.patch
Patch59: gdb-simultaneous-step-resume-breakpoint-test.patch
Patch60: gdb-core-open-vdso-warning.patch
Patch61: gdb-x86_64-i386-syscall-restart.patch
Patch62: gdb-bz533176-fortran-omp-step.patch
Patch63: gdb-follow-child-stale-parent.patch
Patch64: gdb-ccache-workaround.patch
Patch65: gdb-archer-pie-addons.patch
Patch66: gdb-archer-pie-addons-keep-disabled.patch
Patch67: gdb-lineno-makeup-test.patch
Patch68: gdb-ppc-power7-test.patch
Patch69: gdb-bz541866-rwatch-before-run.patch
Patch70: gdb-moribund-utrace-workaround.patch
Patch71: gdb-archer-next-over-throw-cxx-exec.patch
Patch72: gdb-bz601887-dwarf4-rh-test.patch
Patch73: gdb-6.6-buildid-locate-core-as-arg.patch
Patch74: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
Patch75: gdb-test-bt-cfi-without-die.patch
Patch76: gdb-gdb-add-index-script.patch
Patch77: gdb-bz568248-oom-is-error.patch
Patch78: gdb-bz634108-solib_address.patch
Patch79: gdb-test-pid0-core.patch
Patch80: gdb-test-dw2-aranges.patch
Patch81: gdb-test-expr-cumulative-archer.patch
Patch82: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
Patch83: gdb-glibc-vdso-workaround.patch
Patch84: gdb-runtest-pie-override.patch
Patch85: gdb-attach-fail-reasons-5of5.patch
Patch86: gdb-stale-frame_info.patch
Patch87: gdb-glibc-strstr-workaround.patch
Patch88: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
Patch89: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
Patch90: gdb-rhbz795424-bitpos-20of25.patch
Patch91: gdb-rhbz795424-bitpos-21of25.patch
Patch92: gdb-rhbz795424-bitpos-22of25.patch
Patch93: gdb-rhbz795424-bitpos-23of25.patch
Patch94: gdb-rhbz795424-bitpos-25of25.patch
Patch95: gdb-rhbz795424-bitpos-25of25-test.patch
Patch96: gdb-rhbz795424-bitpos-lazyvalue.patch
Patch97: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
Patch98: gdb-enable-count-crash.patch
Patch99: gdb-rhel5-gcc44.patch
Patch100: gdb-6.6-buildid-locate-rpm-scl.patch
Patch101: gdb-readline62-ask-more-rh.patch
Patch102: gdb-6.8-attach-signalled-detach-stopped.patch
Patch103: gdb-6.8-quit-never-aborts.patch
Patch104: gdb-rhel5-compat.patch
#Fedora Packages end
# Upstream patch to fix gcc -Werror
Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch
Patch1003: gdb-ppc-ptrace.diff
Patch1004: gdb-ia64-tdep.patch
Patch1005: gdb-aarch64-hw-break.patch
BuildRequires: ncurses-devel texinfo gettext flex bison glibc-devel zlib-devel
%if %{suse_version} < 1020
@ -423,32 +409,20 @@ find -name "*.info*"|xargs rm -f
%patch97 -p1
%patch98 -p1
%patch99 -p1
%patch100 -p1
%patch101 -p1
#%%patch100 -p1
#%%patch100 -p1 -R
#%%patch101 -p1
#%%patch101 -p1 -R
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p1
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch111 -p1
%patch112 -p1
%patch113 -p1
%patch114 -p1
#%%patch115 -p1
%patch116 -p1
%patch117 -p1
%patch118 -p1
#Fedora patching end
%patch1002 -p1
%patch1003 -p1
%patch1004 -p1
%patch1005 -p0
find -name "*.orig" | xargs rm -f
! find -name "*.rej" # Should not happen.
@ -722,10 +696,6 @@ cd %{gdb_build}
make %{?_smp_mflags} install DESTDIR=$RPM_BUILD_ROOT
# install the gcore script in /usr/bin
cp $RPM_BUILD_DIR/%{gdb_src}/gdb/gdb_gcore.sh $RPM_BUILD_ROOT%{_bindir}/gcore
chmod 755 $RPM_BUILD_ROOT%{_bindir}/gcore
# Provide gdbtui for RHEL-5 and RHEL-6 as it is removed upstream (BZ 797664).
%if 0%{?rhel:1} && 0%{?rhel} <= 6
test ! -e $RPM_BUILD_ROOT%{_prefix}/bin/gdbtui
@ -860,6 +830,7 @@ fi
%defattr(-,root,root)
%doc COPYING3 COPYING COPYING.LIB README NEWS
%{_bindir}/gcore
%{_mandir}/*/gcore.1*
%{_bindir}/gdb
%config(noreplace) %{_sysconfdir}/gdbinit
%{_sysconfdir}/gdbinit.d
@ -872,6 +843,8 @@ fi
%{_mandir}/*/gdbtui.1*
%endif # 0%{?rhel:1} && 0%{?rhel} <= 6
%{_bindir}/gdb-add-index
%{_mandir}/*/gdb-add-index.1*
%{_mandir}/*/gdbinit.5*
%{_datadir}/gdb
%{_infodir}/annotate.info*
%{_infodir}/gdb.info*

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b475a3ef42507a47b1ea4b7f9a4849287b4c713e5081ec86874eaa7da194f78b
size 11754

View File

@ -9,7 +9,7 @@ chomp($dir);
system "rm \$(grep \"^Patch[0-9]\\{1,3\\}:\" gdb.spec | cut -d\" \" -f 2) 2>/dev/null";
system "rm *.tar.bz2";
system "cp $gdbFedora/*.tar.bz2 ./";
system "pushd $gdbFedora ; $dir/patchname_get.sh -v gdb.spec 2>$dir/test.txt; popd";
system "pushd $gdbFedora ; sh $dir/patchname_get.sh -v gdb.spec 2>$dir/test.txt; popd";
system "grep \"^Patch\" test.txt > test2.txt";
my @patchliste = `cat test2.txt`;