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. to install and uninstall.
* gstack.sh, gstack.1: New files. * 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.6.orig/gdb/Makefile.in 2013-05-21 13:26:33.496820763 +0200
+++ gdb-7.4.50.20120103/gdb/Makefile.in 2012-01-03 05:53:25.974210230 +0100 +++ gdb-7.6/gdb/Makefile.in 2013-05-21 13:26:33.609819579 +0200
@@ -1017,7 +1017,7 @@ gdb.z:gdb.1 @@ -1029,7 +1029,7 @@ info install-info clean-info dvi pdf ins
install: all install: all
@$(MAKE) $(FLAGS_TO_PASS) install-only @$(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)'; \ transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e "$$t"` ; \ echo gdb | sed -e "$$t"` ; \
if test "x$$transformed_name" = x; then \ 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: install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb $(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)'; \ transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e $$t` ; \ echo gdb | sed -e $$t` ; \
if test "x$$transformed_name" = x; then \ if test "x$$transformed_name" = x; then \
@@ -1051,6 +1069,18 @@ uninstall: force $(CONFIG_UNINSTALL) @@ -1083,6 +1101,18 @@ uninstall: force $(CONFIG_UNINSTALL)
$(DESTDIR)$(man1dir)/$$transformed_name.1 fi
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
+.PHONY: uninstall-gstack +.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. # The C++ name parser can be built standalone for testing.
test-cp-name-parser.o: cp-name-parser.c test-cp-name-parser.o: cp-name-parser.c
$(COMPILE) -DTEST_CPNAMES 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 --- /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 @@ @@ -0,0 +1,43 @@
+#!/bin/sh +#!/bin/sh
+ +
@@ -101,7 +101,7 @@ Index: gdb-7.4.50.20120103/gdb/gstack.sh
+ +
+# Run GDB, strip out unwanted noise. +# Run GDB, strip out unwanted noise.
+# --readnever is no longer used since .gdb_index is now in use. +# --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 width 0
+set height 0 +set height 0
+set pagination no +set pagination no
@@ -111,10 +111,10 @@ Index: gdb-7.4.50.20120103/gdb/gstack.sh
+ -e 's/^\((gdb) \)*//' \ + -e 's/^\((gdb) \)*//' \
+ -e '/^#/p' \ + -e '/^#/p' \
+ -e '/^Thread/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 --- /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 @@ @@ -0,0 +1,66 @@
+# Copyright (C) 2012 Free Software Foundation, Inc. +# 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. +# exiting the function. Still we could retry the gstack command if we fail.
+ +
+set test "spawn gstack" +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]; +set res [remote_spawn host $command];
+if { $res < 0 || $res == "" } { +if { $res < 0 || $res == "" } {
+ perror "Spawning $command failed." + perror "Spawning $command failed."
@@ -182,10 +182,10 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/gdb.base/gstack.exp
+gdb_exit +gdb_exit
+ +
+remote_exec host "kill -9 $pid" +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 --- /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 @@ @@ -0,0 +1,43 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 --- /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 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.exp 2013-08-02 22:24:04.747745133 +0200
@@ -0,0 +1,96 @@ @@ -0,0 +1,101 @@
+# Copyright 2007, 2009 Free Software Foundation, Inc. +# Copyright 2007, 2009 Free Software Foundation, Inc.
+ +
+# This program is free software; you can redistribute it and/or modify +# 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 "initialized"
+gdb_breakpoint "unresolved" +gdb_breakpoint "unresolved"
+ +
+set oldtimeout $timeout
+set timeout [expr $oldtimeout + 120]
+
+set test "Continue to initialized." +set test "Continue to initialized."
+gdb_test_multiple "continue" $test { +gdb_test_multiple "continue" $test {
+ -re "Breakpoint .*, initialized .* at .*\r\n$gdb_prompt $" { + -re "Breakpoint .*, initialized .* at .*\r\n$gdb_prompt $" {
+ pass $test + pass $test
+ } + }
+ -re "Breakpoint .*, unresolved .* at .*\r\n$gdb_prompt $" { + -re "Breakpoint .*, unresolved .* at .*\r\n$gdb_prompt $" {
+ set timeout $oldtimeout
+ unsupported $test + unsupported $test
+ return -1 + return -1
+ } + }
+} +}
+set timeout $oldtimeout
+ +
+set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore-shmid0.test] +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 + 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 --- /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 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.c 2013-08-02 22:22:17.573599496 +0200
@@ -0,0 +1,123 @@ @@ -0,0 +1,127 @@
+/* Copyright 2007, 2009 Free Software Foundation, Inc. +/* Copyright 2007, 2009 Free Software Foundation, Inc.
+ +
+ This file is part of GDB. + 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 +#define TIMEOUT_SEC 10
+ +
+static volatile int v;
+
+static void +static void
+initialized (void) +initialized (void)
+{ +{
+ v++;
+} +}
+ +
+static void +static void
+unresolved (void) +unresolved (void)
+{ +{
+ v++;
+} +}
+ +
+int +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, " + printf ("Problem is not reproducible on this kernel (attempt %d, "
+ "round %d))\n", attempt, round); + "round %d)\n", attempt, round);
+ unresolved (); + unresolved ();
+ exit (1); + exit (1);
+ } + }

View File

@@ -11,11 +11,11 @@
* gdb.texinfo (File Options): Document --readnever. * 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.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 16:12:54.970085942 +0200
+++ gdb-7.5.50.20130215/gdb/doc/gdb.texinfo 2013-02-15 22:34:22.381165443 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:20:21.164687886 +0200
@@ -1026,6 +1026,12 @@ Read each symbol file's entire symbol ta @@ -1030,6 +1030,12 @@ Read each symbol file's entire symbol ta
the default, which is to read it incrementally as it is needed. the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster. 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 @end table
@node Mode Options @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.6.50.20130731-cvs.orig/gdb/main.c 2013-08-02 16:12:54.974085948 +0200
+++ gdb-7.5.50.20130215/gdb/main.c 2013-02-15 22:34:22.382165445 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:20:53.704731449 +0200
@@ -447,6 +447,7 @@ captured_main (void *data) @@ -459,6 +459,7 @@ captured_main (void *data)
{"xdb", no_argument, &xdb_commands, 1}, {"xdb", no_argument, &xdb_commands, 1},
{"dbx", no_argument, &dbx_commands, 1}, {"dbx", no_argument, &dbx_commands, 1},
{"readnow", no_argument, &readnow_symbol_files, 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}, {"r", no_argument, &readnow_symbol_files, 1},
{"quiet", no_argument, &quiet, 1}, {"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1}, {"q", no_argument, &quiet, 1},
@@ -1165,6 +1166,7 @@ Options:\n\n\ @@ -1154,6 +1155,7 @@ Selection of debuggee and its files:\n\n
fputs_unfiltered (_("\ --se=FILE Use FILE as symbol file and executable file.\n\
--quiet Do not print version number on startup.\n\ --symbols=SYMFILE Read symbols from SYMFILE.\n\
--readnow Fully read symbol files on first access.\n\ --readnow Fully read symbol files on first access.\n\
+ --readnever Do not read symbol files.\n\ + --readnever Do not read symbol files.\n\
--write Set writing into executable and core files.\n\n\
"), stream); "), stream);
fputs_unfiltered (_("\ fputs_unfiltered (_("\
--se=FILE Use FILE as symbol file and executable file.\n\ Index: gdb-7.6.50.20130731-cvs/gdb/symfile.c
Index: gdb-7.5.50.20130215/gdb/symfile.c
=================================================================== ===================================================================
--- gdb-7.5.50.20130215.orig/gdb/symfile.c 2013-02-01 20:39:03.000000000 +0100 --- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.c 2013-08-02 16:12:54.975085949 +0200
+++ gdb-7.5.50.20130215/gdb/symfile.c 2013-02-15 22:34:22.383165447 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/symfile.c 2013-08-02 16:20:21.165687888 +0200
@@ -81,6 +81,7 @@ static void clear_symtab_users_cleanup ( @@ -82,6 +82,7 @@ static void clear_symtab_users_cleanup (
/* Global variables owned by this file. */ /* Global variables owned by this file. */
int readnow_symbol_files; /* Read full symbols immediately. */ 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. */ /* 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.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:12:54.979085954 +0200
+++ gdb-7.5.50.20130215/gdb/dwarf2read.c 2013-02-15 22:34:34.479181584 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:20:37.190709689 +0200
@@ -68,6 +68,7 @@ @@ -69,6 +69,7 @@
#include "gdb_bfd.h"
#include "f-lang.h" #include "f-lang.h"
#include "source.h" #include "source.h"
#include "filestuff.h"
+#include "top.h" +#include "top.h"
#include <fcntl.h> #include <fcntl.h>
#include "gdb_string.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); (void *) names);
dwarf2_per_objfile->objfile = objfile; 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 /* 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.6.50.20130731-cvs.orig/gdb/top.h 2013-08-02 16:12:54.980085956 +0200
+++ gdb-7.5.50.20130215/gdb/top.h 2013-02-15 22:34:22.389165459 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/top.h 2013-08-02 16:20:21.169687893 +0200
@@ -58,6 +58,7 @@ extern void set_prompt (const char *s); @@ -59,6 +59,7 @@ extern void set_prompt (const char *s);
/* From random places. */ /* From random places. */
extern int readnow_symbol_files; 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.5.91.20130323.orig/gdb/testsuite/configure.ac 2013-03-11 09:59:00.000000000 +0100
+++ gdb-7.4.50.20120602/gdb/testsuite/configure.ac 2012-06-02 18:24:38.456266545 +0200 +++ gdb-7.5.91.20130323/gdb/testsuite/configure.ac 2013-03-23 19:47:24.189683555 +0100
@@ -96,6 +96,6 @@ AC_OUTPUT([Makefile \ @@ -96,6 +96,6 @@ AC_OUTPUT([Makefile \
gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \ gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \
gdb.hp/gdb.defects/Makefile gdb.linespec/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.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \
gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \ gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \
gdb.threads/Makefile gdb.trace/Makefile gdb.xml/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.5.91.20130323.orig/gdb/testsuite/configure 2013-03-11 09:59:00.000000000 +0100
+++ gdb-7.4.50.20120602/gdb/testsuite/configure 2012-06-02 18:25:06.200258240 +0200 +++ gdb-7.5.91.20130323/gdb/testsuite/configure 2013-03-23 19:47:47.256822312 +0100
@@ -3448,7 +3448,7 @@ done @@ -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.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.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.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
cat >confcache <<\_ACEOF cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure # 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.opencl/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opencl/Makefile" ;;
"gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;; "gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
"gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/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.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
"gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;; "gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
"gdb.stabs/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.stabs/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 --- /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 @@ @@ -0,0 +1,20 @@
+/* This program is intended to be started outside of gdb, and then +/* 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 + 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; + 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 --- /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 @@ @@ -0,0 +1,24 @@
+/* This program is intended to be started outside of gdb, and then +/* 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 + 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); + 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 --- /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 @@ @@ -0,0 +1,146 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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; + 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 --- /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 @@ @@ -0,0 +1,44 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */
+void marker4 (d) long d; {} /* set breakpoint 13 here */ +void marker4 (d) long d; {} /* set breakpoint 13 here */
+#endif +#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 --- /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 @@ @@ -0,0 +1,142 @@
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999 +/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
+ Free Software Foundation, Inc. + Free Software Foundation, Inc.
@@ -432,10 +432,10 @@ Index: gdb-7.4.50.20120602/gdb/testsuite/gdb.pie/coremaker.c
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,417 @@
+# Copyright 1997, 1999, 2002 Free Software Foundation, Inc. +# 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 +do_call_attach_tests
+ +
+return 0 +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 --- /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 @@ @@ -0,0 +1,962 @@
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, +# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2002, 2003, 2004 +# 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" + send_gdb "set args main\n"
+ gdb_expect -re ".*$gdb_prompt $" {} + 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 --- /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 @@ @@ -0,0 +1,233 @@
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 +# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Free Software Foundation, Inc. +# 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 "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)"
+ +
+gdb_test "core" "No core file now." +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 --- /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 @@ @@ -0,0 +1,19 @@
+VPATH = @srcdir@ +VPATH = @srcdir@
+srcdir = @srcdir@ +srcdir = @srcdir@

View File

@@ -6,96 +6,30 @@
* gdb.gdb/xfullpath.exp: Ditto. * gdb.gdb/xfullpath.exp: Ditto.
* gdb.gdb/observer.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-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/selftest-support.exp 2013-08-02 16:11:29.195971922 +0200
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.gdb/complaints.exp 2009-02-26 22:10:48.000000000 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/selftest-support.exp 2013-08-02 16:12:20.404040378 +0200
@@ -302,13 +302,13 @@ proc find_gdb { arg } { @@ -130,18 +130,18 @@ proc do_self_tests {function body} {
set GDB_FULLPATH [find_gdb $GDB] set GDB_FULLPATH [find_gdb $GDB]
# Remove any old copy lying around. # Remove any old copy lying around.
-remote_file host delete x$tool - remote_file host delete x$tool
+#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 result [selftest_setup $file $function]
+#set file [remote_download host $GDB_FULLPATH x$tool] + set result [selftest_setup $GDB_FULLPATH $function]
if {$result == 0} then {
set result [uplevel $body]
}
-set setup_result [setup_test $file ] gdb_exit
+set setup_result [setup_test $GDB_FULLPATH ] - catch "remote_file host delete $file"
if {$setup_result <0} then { + #catch "remote_file host delete $file"
return -1
}
@@ -319,4 +319,4 @@ test_short_complaints
test_empty_complaints
gdb_exit; if {$result < 0} then {
-catch "remote_file host delete $file"; warning "Couldn't test self"
+#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"

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 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
diff -N gdb/testsuite/gdb.threads/threadcrash.c +++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.c 2013-05-21 13:35:45.592059786 +0200
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.c 31 Oct 2006 17:54:38 -0000
@@ -0,0 +1,301 @@ @@ -0,0 +1,301 @@
+/* +/*
+ * The point of this program is to crash in a multi-threaded app. + * 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; + 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 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
diff -N gdb/testsuite/gdb.threads/threadcrash.exp +++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.exp 2013-05-21 13:36:01.451056746 +0200
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.exp 31 Oct 2006 17:54:38 -0000
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
+# threadcrash.exp - The point of this program is to crash in a multi-threaded app. +# 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. +# ${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 } { +while { [gets $fd line] >= 0 } {
+ if [regexp " PASS: (.*)$" $line trash message] { + if [regexp " PASS: (.*)$" $line trash message] {
+ pass $message + pass $message
@@ -350,12 +346,10 @@ diff -N gdb/testsuite/gdb.threads/threadcrash.exp
+} +}
+ +
+return 0 +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 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
diff -N gdb/testsuite/gdb.threads/threadcrash.sh +++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.sh 2013-05-21 13:35:45.593059786 +0200
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.sh 31 Oct 2006 17:54:38 -0000
@@ -0,0 +1,324 @@ @@ -0,0 +1,324 @@
+#! /bin/bash +#! /bin/bash
+ +
@@ -681,12 +675,10 @@ diff -N gdb/testsuite/gdb.threads/threadcrash.sh
+rm -rf $WORKDIR +rm -rf $WORKDIR
+ +
+exit $FAILURES +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 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
diff -N gdb/testsuite/gdb.threads/threadcrash.sh-orig +++ gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.sh-orig 2013-05-21 13:35:45.593059786 +0200
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/threadcrash.sh-orig 31 Oct 2006 17:54:38 -0000
@@ -0,0 +1,248 @@ @@ -0,0 +1,248 @@
+#! /bin/bash +#! /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 <81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location <81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
--- a/gdb/printcmd.c Index: gdb-7.6.50.20130731-cvs/gdb/printcmd.c
+++ b/gdb/printcmd.c ===================================================================
@@ -967,6 +967,8 @@ print_command_1 (char *exp, int inspect, int voidprint) --- 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 (exp && *exp)
{ {
+ if (strcmp (exp, "errno") == 0) + if (strcmp (exp, "errno") == 0)
+ exp = "*((int *(*) (void)) __errno_location) ()"; + exp = "*((int *(*) (void)) __errno_location) ()";
expr = parse_expression (exp); expr = parse_expression (exp);
old_chain = make_cleanup (free_current_contents, &expr); make_cleanup (free_current_contents, &expr);
cleanup = 1; val = evaluate_expression (expr);
Index: gdb-7.2/gdb/testsuite/gdb.dwarf2/dw2-errno.c Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.dwarf2/dw2-errno.c
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /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 @@ @@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 */ + 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 --- /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 @@ @@ -0,0 +1,60 @@
+# Copyright 2007 Free Software Foundation, Inc. +# Copyright 2007 Free Software Foundation, Inc.
+ +

View File

@@ -1,11 +1,11 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218379 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.6.50.20130731-cvs.orig/gdb/symtab.c 2013-08-02 17:06:19.854663801 +0200
+++ gdb-7.5.50.20130118/gdb/symtab.c 2013-01-18 23:53:51.044846777 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/symtab.c 2013-08-02 17:07:04.317721471 +0200
@@ -2356,6 +2356,13 @@ find_pc_sect_line (CORE_ADDR pc, struct @@ -2327,6 +2327,13 @@ find_pc_sect_line (CORE_ADDR pc, struct
SYMBOL_LINKAGE_NAME (msymbol)); */ SYMBOL_LINKAGE_NAME (msymbol)); */
; ;
/* fall through */ /* 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. + Avoid `find_pc_sect_line'<->`find_pc_line' infinite loop.
+ Red Hat Bug 218379. */ + Red Hat Bug 218379. */
+ else if (SYMBOL_VALUE (mfunsym) == pc) + 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 */ + /* fall through */
else else
return find_pc_line (SYMBOL_VALUE_ADDRESS (mfunsym), 0); 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 * exec.c (exec_file_attach): Print a more useful error message if the
user did "gdb core". 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.6.50.20130731-cvs.orig/gdb/exceptions.h 2013-08-02 16:29:44.770440262 +0200
+++ gdb-7.4.91.20120801/gdb/exceptions.h 2012-08-01 18:43:39.806959992 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/exceptions.h 2013-08-02 16:30:06.197468727 +0200
@@ -86,6 +86,9 @@ enum errors { @@ -90,6 +90,9 @@ enum errors {
/* DW_OP_GNU_entry_value resolving failed. */ aborted as the inferior state is no longer valid. */
NO_ENTRY_VALUE_ERROR, TARGET_CLOSE_ERROR,
+ /* Attempt to load a core file as executable. */ + /* Attempt to load a core file as executable. */
+ IS_CORE_ERROR, + IS_CORE_ERROR,
@@ -72,10 +72,10 @@ Index: gdb-7.4.91.20120801/gdb/exceptions.h
/* Add more errors here. */ /* Add more errors here. */
NR_ERRORS 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.6.50.20130731-cvs.orig/gdb/exec.c 2013-08-02 16:29:44.771440264 +0200
+++ gdb-7.4.91.20120801/gdb/exec.c 2012-08-01 18:44:39.928627287 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/exec.c 2013-08-02 16:31:30.100618657 +0200
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
#include "gdbthread.h" #include "gdbthread.h"
#include "progspace.h" #include "progspace.h"
@@ -84,7 +84,7 @@ Index: gdb-7.4.91.20120801/gdb/exec.c
#include <fcntl.h> #include <fcntl.h>
#include "readline/readline.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)) 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)); + gdb_bfd_errmsg (bfd_get_error (), matching));
} }
/* FIXME - This should only be run for RS6000, but the ifdef is a poor if (build_section_table (exec_bfd, &sections, &sections_end))
Index: gdb-7.4.91.20120801/gdb/main.c 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.6.50.20130731-cvs.orig/gdb/main.c 2013-08-02 16:29:44.772440265 +0200
+++ gdb-7.4.91.20120801/gdb/main.c 2012-08-01 18:43:39.810959970 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:30:06.199468730 +0200
@@ -266,6 +266,36 @@ typedef struct cmdarg { @@ -300,6 +300,36 @@ typedef struct cmdarg {
/* Define type VEC (cmdarg_s). */ /* Define type VEC (cmdarg_s). */
DEF_VEC_O (cmdarg_s); DEF_VEC_O (cmdarg_s);
@@ -156,7 +156,7 @@ Index: gdb-7.4.91.20120801/gdb/main.c
static int static int
captured_main (void *data) captured_main (void *data)
{ {
@@ -762,6 +792,8 @@ captured_main (void *data) @@ -810,6 +840,8 @@ captured_main (void *data)
{ {
symarg = argv[optind]; symarg = argv[optind];
execarg = argv[optind]; execarg = argv[optind];
@@ -165,7 +165,7 @@ Index: gdb-7.4.91.20120801/gdb/main.c
optind++; optind++;
} }
@@ -917,11 +949,25 @@ captured_main (void *data) @@ -975,11 +1007,25 @@ captured_main (void *data)
&& symarg != NULL && symarg != NULL
&& strcmp (execarg, symarg) == 0) && 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.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-07 14:59:00.000000000 +0200
+++ gdb-7.4.50.20120603/gdb/elfread.c 2012-06-12 15:13:39.678712939 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-07 15:01:35.000000000 +0200
@@ -1809,9 +1809,9 @@ missing_rpm_enlist (const char *filename @@ -1863,9 +1863,9 @@ missing_rpm_enlist_1 (const char *filena
if (h == NULL) if (h == NULL)
break; break;
@@ -15,7 +15,7 @@ Index: gdb-7.4.50.20120603/gdb/elfread.c
&err); &err);
if (!debuginfo) if (!debuginfo)
{ {
@@ -1819,60 +1819,19 @@ missing_rpm_enlist (const char *filename @@ -1873,60 +1873,19 @@ missing_rpm_enlist_1 (const char *filena
err); err);
continue; 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 /* Base package name for `debuginfo-install'. We do not use the
`yum' command directly as the line `yum' command directly as the line
yum --disablerepo='*' --enablerepo='*debug*' \ yum --enablerepo='*debug*' install NAME-debuginfo.ARCH
@@ -1958,7 +1917,7 @@ missing_rpm_list_print (void) @@ -2053,7 +2012,7 @@ missing_rpm_list_print (void)
(int (*) (const void *, const void *)) missing_rpm_list_compar); (int (*) (const void *, const void *)) missing_rpm_list_compar);
printf_unfiltered (_("Missing separate debuginfos, use: %s"), 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; for (array_iter = array; array_iter < array + missing_rpm_list_entries;
array_iter++) 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, fprintf_unfiltered (gdb_stdlog,
_("Missing separate debuginfo for %s\n"), binary); _("Missing separate debuginfo for %s\n"), binary);
if (debug != NULL) if (debug != NULL)
- fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"), - fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"),
- "yum --disablerepo='*' --enablerepo='*debug*'" - "yum --enablerepo='*debug*' install", debug);
- " install", debug);
+ { + {
+ const char *p = strrchr (debug, '/'); + const char *p = strrchr (debug, '/');
+ fprintf_unfiltered (gdb_stdlog, _("Try: %s%.2s%.38s\"\n"), + 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.6.50.20130731-cvs.orig/gdb/event-top.c 2013-08-02 16:25:24.968094398 +0200
+++ gdb-7.5.50.20130215/gdb/event-top.c 2013-02-15 22:36:11.217308539 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/event-top.c 2013-08-02 16:25:38.638112874 +0200
@@ -36,6 +36,7 @@ @@ -37,6 +37,7 @@
#include "continuations.h"
#include "gdbcmd.h" /* for dont_repeat() */ #include "gdbcmd.h" /* for dont_repeat() */
#include "annotate.h" #include "annotate.h"
#include "maint.h"
+#include "symfile.h" +#include "symfile.h"
/* readline include files. */ /* readline include files. */
#include "readline/readline.h" #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 void
cli_command_loop (void) cli_command_loop (void)
{ {
@@ -19,7 +19,7 @@ Index: gdb-7.5.50.20130215/gdb/event-top.c
display_gdb_prompt (0); display_gdb_prompt (0);
/* Now it's time to start the event loop. */ /* 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 the nesting depth used when trace-commands is set. */
reset_command_nest_depth (); 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 /* Each interpreter has its own rules on displaying the command
prompt. */ prompt. */
if (!current_interp_display_prompt_p ()) 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.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-02 16:25:24.970094401 +0200
+++ gdb-7.5.50.20130215/gdb/elfread.c 2013-02-15 22:35:59.414292874 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-02 16:25:27.336097557 +0200
@@ -49,6 +49,7 @@ @@ -49,6 +49,7 @@
#include "gdbcore.h" #include "gdbcore.h"
#include "gdbcmd.h" #include "gdbcmd.h"
@@ -40,7 +40,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
#include <sys/stat.h> #include <sys/stat.h>
extern void _initialize_elfread (void); 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; 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 + /* Base package name for `debuginfo-install'. We do not use the
+ `yum' command directly as the line + `yum' command directly as the line
+ yum --disablerepo='*' --enablerepo='*debug*' \ + yum --enablerepo='*debug*' install NAME-debuginfo.ARCH
+ install NAME-debuginfo.ARCH
+ would be more complicated than just: + would be more complicated than just:
+ debuginfo-install NAME-VERSION-RELEASE.ARCH + debuginfo-install NAME-VERSION-RELEASE.ARCH
+ Do not supply the rpm base name (derived from .src.rpm name) as + 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 /* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
- Try to install the hash file ... - Try to install the hash file ...
+ yum --disablerepo='*' --enablerepo='*debug*' install ... + yum --enablerepo='*debug*' install ...
avoidance. */ avoidance. */
struct missing_filepair 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. */ /* All their memory came just from missing_filepair_OBSTACK. */
missing_filepair_hash = NULL; missing_filepair_hash = NULL;
} }
@@ -421,7 +420,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
missing_filepair_change (); 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; *slot = missing_filepair;
@@ -458,18 +457,17 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ _("Missing separate debuginfo for %s\n"), binary); + _("Missing separate debuginfo for %s\n"), binary);
+ if (debug != NULL) + if (debug != NULL)
+ fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"), + fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"),
+ "yum --disablerepo='*' --enablerepo='*debug*'" + "yum --enablerepo='*debug*' install", debug);
+ " install", debug);
+ } + }
} }
static char * 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.6.50.20130731-cvs.orig/gdb/symfile.h 2013-08-02 16:25:24.971094402 +0200
+++ gdb-7.5.50.20130215/gdb/symfile.h 2013-02-15 22:35:59.414292874 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/symfile.h 2013-08-02 16:25:27.336097557 +0200
@@ -599,6 +599,8 @@ extern struct build_id *build_id_addr_ge @@ -602,6 +602,8 @@ extern struct elf_build_id *build_id_add
extern char *build_id_to_filename (struct build_id *build_id, extern char *build_id_to_filename (const struct elf_build_id *build_id,
char **link_return, int add_debug_suffix); char **link_return, int add_debug_suffix);
extern void debug_print_missing (const char *binary, const char *debug); extern void debug_print_missing (const char *binary, const char *debug);
+extern void debug_flush_missing (void); +extern void debug_flush_missing (void);
@@ -477,10 +475,10 @@ Index: gdb-7.5.50.20130215/gdb/symfile.h
/* From dwarf2read.c */ /* 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.6.50.20130731-cvs.orig/gdb/testsuite/lib/gdb.exp 2013-08-02 16:25:24.972094404 +0200
+++ gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp 2013-02-15 22:35:59.415292878 +0100 +++ 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 { } { @@ -1482,7 +1482,7 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0." 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" send_gdb "set build-id-verbose 0\n"
gdb_expect 10 { gdb_expect 10 {
-re "$gdb_prompt $" { -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.6.50.20130731-cvs.orig/gdb/testsuite/lib/mi-support.exp 2013-08-02 16:25:24.973094405 +0200
+++ 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/gdb/testsuite/lib/mi-support.exp 2013-08-02 16:25:27.338097560 +0200
@@ -212,7 +212,7 @@ proc default_mi_gdb_start { args } { @@ -212,7 +212,7 @@ proc default_mi_gdb_start { args } {
warning "Couldn't set the width to 0." 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" send_gdb "190-gdb-set build-id-verbose 0\n"
gdb_expect 10 { gdb_expect 10 {
-re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" { -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.6.50.20130731-cvs.orig/gdb/tui/tui-interp.c 2013-08-02 16:25:24.974094406 +0200
+++ gdb-7.5.50.20130215/gdb/tui/tui-interp.c 2013-02-15 22:35:59.416292881 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/tui/tui-interp.c 2013-08-02 16:25:27.338097560 +0200
@@ -30,6 +30,7 @@ @@ -30,6 +30,7 @@
#include "tui/tui.h" #include "tui/tui.h"
#include "tui/tui-io.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 /* Set to 1 when the TUI mode must be activated when we first start
gdb. */ 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.6.50.20130731-cvs.orig/gdb/aclocal.m4 2013-08-02 16:25:24.974094406 +0200
+++ gdb-7.5.50.20130215/gdb/aclocal.m4 2013-02-15 22:35:59.417292883 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 2013-08-02 16:25:27.339097561 +0200
@@ -11,6 +11,164 @@ @@ -11,6 +11,164 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@@ -684,10 +682,10 @@ Index: gdb-7.5.50.20130215/gdb/aclocal.m4
# AM_CONDITIONAL -*- Autoconf -*- # AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # 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.6.50.20130731-cvs.orig/gdb/config.in 2013-08-02 16:25:24.975094407 +0200
+++ gdb-7.5.50.20130215/gdb/config.in 2013-02-15 22:35:59.417292883 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/config.in 2013-08-02 16:25:27.339097561 +0200
@@ -33,6 +33,9 @@ @@ -33,6 +33,9 @@
/* Define to BFD's default target vector. */ /* Define to BFD's default target vector. */
#undef DEFAULT_BFD_VEC #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 /* Define to 1 if translation of program messages to the user's native
language is requested. */ language is requested. */
#undef ENABLE_NLS #undef ENABLE_NLS
@@ -210,6 +213,9 @@ @@ -219,6 +222,9 @@
/* Define if Python 2.7 is being used. */ /* Define if Python 2.7 is being used. */
#undef HAVE_LIBPYTHON2_7 #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. */ /* Define to 1 if you have the <libunwind-ia64.h> header file. */
#undef HAVE_LIBUNWIND_IA64_H #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.6.50.20130731-cvs.orig/gdb/configure 2013-08-02 16:25:24.981094415 +0200
+++ gdb-7.5.50.20130215/gdb/configure 2013-02-15 22:35:59.422292893 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/configure 2013-08-02 16:25:27.343097567 +0200
@@ -683,6 +683,11 @@ REPORT_BUGS_TO @@ -689,6 +689,11 @@ PKGVERSION
PKGVERSION HAVE_NATIVE_GCORE_TARGET
TARGET_OBS TARGET_OBS
subdirs subdirs
+RPM_LIBS +RPM_LIBS
@@ -724,7 +722,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
GDB_DATADIR GDB_DATADIR
DEBUGDIR DEBUGDIR
MAKEINFO_EXTRA_FLAGS MAKEINFO_EXTRA_FLAGS
@@ -783,6 +788,7 @@ with_gdb_datadir @@ -789,6 +794,7 @@ with_gdb_datadir
with_relocated_sources with_relocated_sources
with_auto_load_dir with_auto_load_dir
with_auto_load_safe_path with_auto_load_safe_path
@@ -732,7 +730,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
enable_targets enable_targets
enable_64_bit_bfd enable_64_bit_bfd
enable_gdbcli enable_gdbcli
@@ -831,6 +837,11 @@ CPPFLAGS @@ -839,6 +845,11 @@ CPPFLAGS
CPP CPP
MAKEINFO MAKEINFO
MAKEINFOFLAGS MAKEINFOFLAGS
@@ -744,7 +742,7 @@ Index: gdb-7.5.50.20130215/gdb/configure
YACC YACC
YFLAGS YFLAGS
XMKMF' XMKMF'
@@ -1501,6 +1512,8 @@ Optional Packages: @@ -1509,6 +1520,8 @@ Optional Packages:
[--with-auto-load-dir] [--with-auto-load-dir]
--without-auto-load-safe-path --without-auto-load-safe-path
do not restrict auto-loaded files locations 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-libunwind-ia64 use libunwind frame unwinding for ia64 targets
--with-curses use the curses library instead of the termcap --with-curses use the curses library instead of the termcap
library 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. MAKEINFO Parent configure detects if it is of sufficient version.
MAKEINFOFLAGS MAKEINFOFLAGS
Parameters for MAKEINFO. 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 YACC The `Yet Another C Compiler' implementation to use. Defaults to
the first program found out of: `bison -y', `byacc', `yacc'. the first program found out of: `bison -y', `byacc', `yacc'.
YFLAGS The list of arguments that will be passed by default to $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 "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5
$as_echo "$with_auto_load_safe_path" >&6; } $as_echo "$with_auto_load_safe_path" >&6; }
@@ -1259,11 +1257,11 @@ Index: gdb-7.5.50.20130215/gdb/configure
subdirs="$subdirs testsuite" 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.6.50.20130731-cvs.orig/gdb/configure.ac 2013-08-02 16:25:24.983094418 +0200
+++ gdb-7.5.50.20130215/gdb/configure.ac 2013-02-15 22:35:59.423292895 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/configure.ac 2013-08-02 16:25:27.344097568 +0200
@@ -166,6 +166,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escap @@ -164,6 +164,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escap
[Directories safe to hold auto-loaded files.]) [Directories safe to hold auto-loaded files.])
AC_MSG_RESULT([$with_auto_load_safe_path]) 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) AC_CONFIG_SUBDIRS(testsuite)
# Check whether to support alternative target configurations # 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.6.50.20130731-cvs.orig/gdb/corelow.c 2013-08-02 16:25:24.984094419 +0200
+++ gdb-7.5.50.20130215/gdb/corelow.c 2013-02-15 22:35:59.423292895 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/corelow.c 2013-08-02 16:25:27.344097568 +0200
@@ -313,7 +313,7 @@ build_id_locate_exec (int from_tty) @@ -316,7 +316,7 @@ build_id_locate_exec (int from_tty)
symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED; symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
} }
else 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 Index: gdb-7.5.50.20130310/gdb/solib-svr4.c
+++ 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 --- 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 elf_build_id *build_id;
+ struct build_id *build_id = NULL; + struct elf_build_id *build_id = NULL;
strncpy (new->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1); strncpy (new->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
new->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0'; new->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
@@ -30,7 +32,7 @@
if (build_id != NULL) if (build_id != NULL)
{ {
char *name, *build_id_filename; 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); xfree (name);
} }
else 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.6.50.20130731-cvs.orig/gdb/corelow.c 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/corelow.c 2013-02-15 22:35:03.278219844 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/corelow.c 2013-08-02 17:07:28.434753293 +0200
@@ -46,6 +46,9 @@ @@ -48,6 +48,9 @@
#include "progspace.h"
#include "objfiles.h"
#include "gdb_bfd.h" #include "gdb_bfd.h"
#include "completer.h"
#include "filestuff.h"
+#include "auxv.h" +#include "auxv.h"
+#include "elf/common.h" +#include "elf/common.h"
+#include "gdbcmd.h" +#include "gdbcmd.h"
#ifndef O_LARGEFILE #ifndef O_LARGEFILE
#define O_LARGEFILE 0 #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. */ 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) +build_id_locate_exec (int from_tty)
+{ +{
+ CORE_ADDR at_entry; + CORE_ADDR at_entry;
+ struct build_id *build_id; + struct elf_build_id *build_id;
+ char *exec_filename, *debug_filename; + char *exec_filename, *debug_filename;
+ char *build_id_filename; + char *build_id_filename;
+ struct cleanup *back_to; + 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); + build_id = build_id_addr_get (at_entry);
+ if (build_id == NULL) + if (build_id == NULL)
+ return; + return;
+ back_to = make_cleanup (xfree, build_id);
+ +
+ /* SYMFILE_OBJFILE should refer to the main executable (not only to its + /* SYMFILE_OBJFILE should refer to the main executable (not only to its
+ separate debug info file). gcc44+ keeps .eh_frame only in the main + 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. */ + directly to the separate debug info file. */
+ +
+ exec_filename = build_id_to_filename (build_id, &build_id_filename, 0); + 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) + 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. */ /* This routine opens and sets up the core file bfd. */
static void 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); 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); post_create_inferior (&core_ops, from_tty);
/* Now go through the target stack looking for threads since there /* 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 (); 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, + add_setshow_boolean_cmd ("build-id-core-loads", class_files,
+ &build_id_core_loads, _("\ + &build_id_core_loads, _("\
@@ -92,11 +93,11 @@ Index: gdb-7.5.50.20130215/gdb/corelow.c
+ NULL, NULL, NULL, + NULL, NULL, NULL,
+ &setlist, &showlist); + &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.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/doc/gdb.texinfo 2013-02-15 22:35:03.287219863 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 17:07:28.443753304 +0200
@@ -16662,6 +16662,27 @@ information files. @@ -17119,6 +17119,27 @@ information files.
@end table @end table
@@ -124,11 +125,11 @@ Index: gdb-7.5.50.20130215/gdb/doc/gdb.texinfo
@cindex @code{.gnu_debuglink} sections @cindex @code{.gnu_debuglink} sections
@cindex debug link sections @cindex debug link sections
A debug link is a special section of the executable file named 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.6.50.20130731-cvs.orig/gdb/solib-svr4.c 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/solib-svr4.c 2013-02-15 22:35:03.287219863 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c 2013-08-02 17:07:28.444753305 +0200
@@ -1224,9 +1224,52 @@ svr4_read_so_list (CORE_ADDR lm, struct @@ -1365,9 +1365,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
continue; 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'; - new->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
- strcpy (new->so_original_name, new->so_name); - 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); + strncpy (new->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
+ new->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0'; + 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); xfree (buffer);
/* If this entry has no name, or its name matches the name /* 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.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/elfread.c 2013-02-15 22:35:36.826263354 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-02 17:09:06.460881503 +0200
@@ -45,6 +45,11 @@ @@ -45,6 +45,11 @@
#include "regcache.h" #include "regcache.h"
#include "bcache.h" #include "bcache.h"
@@ -200,10 +201,11 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
extern void _initialize_elfread (void); 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); 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_NONE 0
+#define BUILD_ID_VERBOSE_FILENAMES 1 +#define BUILD_ID_VERBOSE_FILENAMES 1
+#define BUILD_ID_VERBOSE_BINARY_PARSE 2 +#define BUILD_ID_VERBOSE_BINARY_PARSE 2
@@ -216,18 +218,10 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ value); + 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. +/* Locate NT_GNU_BUILD_ID and return its matching debug filename.
+ FIXME: NOTE decoding should be unified with the BFD core notes decoding. */ + FIXME: NOTE decoding should be unified with the BFD core notes decoding. */
+
static struct build_id * +static struct elf_build_id *
-build_id_bfd_get (bfd *abfd)
+build_id_buf_get (bfd *templ, gdb_byte *buf, bfd_size_type size) +build_id_buf_get (bfd *templ, gdb_byte *buf, bfd_size_type size)
+{ +{
+ bfd_byte *p; + bfd_byte *p;
@@ -239,7 +233,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ Elf_External_Note *xnp = (Elf_External_Note *) p; + Elf_External_Note *xnp = (Elf_External_Note *) p;
+ size_t namesz = H_GET_32 (templ, xnp->namesz); + size_t namesz = H_GET_32 (templ, xnp->namesz);
+ size_t descsz = H_GET_32 (templ, xnp->descsz); + 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 + if (H_GET_32 (templ, xnp->type) == NT_GNU_BUILD_ID
+ && namesz == sizeof "GNU" + && namesz == sizeof "GNU"
@@ -247,7 +241,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ { + {
+ size_t size = descsz; + size_t size = descsz;
+ gdb_byte *data = (void *) descdata; + gdb_byte *data = (void *) descdata;
+ struct build_id *retval; + struct elf_build_id *retval;
+ +
+ retval = xmalloc (sizeof *retval - 1 + size); + retval = xmalloc (sizeof *retval - 1 + size);
+ retval->size = 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. +/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
+ Locate NT_GNU_BUILD_ID from ABFD and return its content. */ + 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) +build_id_bfd_shdr_get (bfd *abfd)
{ {
struct build_id *retval; if (!bfd_check_format (abfd, bfd_object)
|| bfd_get_flavour (abfd) != bfd_target_elf_flavour
@@ -1099,6 +1153,348 @@ build_id_bfd_get (bfd *abfd) @@ -1100,6 +1154,348 @@ build_id_bfd_get (bfd *abfd)
return retval; return elf_tdata (abfd)->build_id;
} }
+/* Core files may have missing (corrupt) SHDR but PDHR is correct there. +/* Core files may have missing (corrupt) SHDR but PDHR is correct there.
+ bfd_elf_bfd_from_remote_memory () has too much overhead by + bfd_elf_bfd_from_remote_memory () has too much overhead by
+ allocating/reading all the available ELF PT_LOADs. */ + 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, +build_id_phdr_get (bfd *templ, bfd_vma loadbase, unsigned e_phnum,
+ Elf_Internal_Phdr *i_phdr) + Elf_Internal_Phdr *i_phdr)
+{ +{
+ int i; + int i;
+ struct build_id *retval = NULL; + struct elf_build_id *retval = NULL;
+ +
+ for (i = 0; i < e_phnum; i++) + for (i = 0; i < e_phnum; i++)
+ if (i_phdr[i].p_type == PT_NOTE && i_phdr[i].p_filesz > 0) + 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) +build_id_addr_get (CORE_ADDR addr)
+{ +{
+ struct build_id_addr_sect *candidate; + struct build_id_addr_sect *candidate;
+ struct build_id *retval = NULL; + struct elf_build_id *retval = NULL;
+ Elf_Internal_Phdr *i_phdr = NULL; + Elf_Internal_Phdr *i_phdr = NULL;
+ bfd_vma loadbase = 0; + bfd_vma loadbase = 0;
+ unsigned e_phnum = 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. */ /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
static int 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) if (abfd == NULL)
return 0; return 0;
@@ -626,14 +621,48 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
if (found == NULL) if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"), filename); warning (_("File \"%s\" has no build-id, file skipped"), filename);
@@ -1131,17 +1527,18 @@ build_id_verify (const char *filename, s @@ -1131,16 +1527,53 @@ build_id_verify (const char *filename, c
return retval;
} }
-static char * static char *
-build_id_to_debug_filename (struct build_id *build_id) -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 * +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) + int add_debug_suffix)
{ {
char *link, *debugdir, *retval = NULL; 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 /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
cause "/.build-id/..." lookups. */ 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); 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; size_t size = build_id->size;
- char *s;
+ unsigned seqno; + unsigned seqno;
+ struct stat statbuf_trash; + 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); 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++ = '/'; *s++ = '/';
while (size-- > 0) while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++); s += sprintf (s, "%02x", (unsigned) *data++);
@@ -686,8 +718,14 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ strcpy (s2, ".debug"); + strcpy (s2, ".debug");
+ else + else
+ *s2 = 0; + *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. */ + /* `access' automatically dereferences LINK. */
+ if (lstat (link, &statbuf_trash) != 0) + if (lstat (link, &statbuf_trash) != 0)
+ { + {
@@ -708,42 +746,52 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ } + }
+ +
+ if (retval != NULL) + 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); - xfree (retval);
- retval = NULL; - retval = NULL;
+ /* LINK_ALL is not used below in this non-NULL RETVAL case. */ + size_t len_orig = strlen (link_all);
+ break; +
+ 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);
} }
+ xfree (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);
+ }
+ } + }
+
+ if (link_return != NULL) + if (link_return != NULL)
+ { + {
if (retval != NULL) if (retval != NULL)
- break; - break;
+ { + {
+ *link_return = link; + *link_return = link;
+ link = NULL; + link = NULL;
+ } + }
+ else + else
+ { + {
+ *link_return = link_all; + *link_return = link_all;
+ link_all = NULL; + link_all = NULL;
+ } + }
} }
+ xfree (link); + xfree (link);
+ xfree (link_all); + 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, +find_separate_debug_file_by_buildid (struct objfile *objfile,
+ char **build_id_filename_return) + 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); - build_id = build_id_bfd_get (objfile->obfd);
+ if (build_id_filename_return) + 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_debug_filename (build_id);
+ build_id_name = build_id_to_filename (build_id, build_id_filename_return, + build_id_name = build_id_to_filename (build_id, build_id_filename_return,
+ 1); + 1);
xfree (build_id);
/* Prevent looping on a stripped .debug file. */ /* Prevent looping on a stripped .debug file. */
if (build_id_name != NULL 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); xfree (build_id_name);
} }
else if (build_id_name != NULL) else if (build_id_name != NULL)
@@ -919,7 +967,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
} }
return NULL; 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 == NULL
&& objfile->separate_debug_objfile_backlink == NULL) && objfile->separate_debug_objfile_backlink == NULL)
{ {
@@ -932,7 +980,7 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
if (debugfile == NULL) if (debugfile == NULL)
debugfile = find_separate_debug_file_by_debuglink (objfile); 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); symbol_file_add_separate (abfd, symfile_flags, objfile);
do_cleanups (cleanup); do_cleanups (cleanup);
} }
@@ -943,9 +991,9 @@ Index: gdb-7.5.50.20130215/gdb/elfread.c
+ +
+ xfree (build_id_filename); + xfree (build_id_filename);
} }
}
if (symtab_create_debug) @@ -1790,4 +2452,16 @@ _initialize_elfread (void)
@@ -1782,4 +2391,16 @@ _initialize_elfread (void)
elf_objfile_gnu_ifunc_cache_data = register_objfile_data (); elf_objfile_gnu_ifunc_cache_data = register_objfile_data ();
gnu_ifunc_fns_p = &elf_gnu_ifunc_fns; 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); + 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.6.50.20130731-cvs.orig/gdb/symfile.h 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/symfile.h 2013-02-15 22:35:03.288219867 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/symfile.h 2013-08-02 17:07:28.446753308 +0200
@@ -593,6 +593,13 @@ void free_symfile_segment_data (struct s @@ -597,6 +597,12 @@ void free_symfile_segment_data (struct s
extern struct cleanup *increment_reading_symtab (void); extern struct cleanup *increment_reading_symtab (void);
+/* build-id support. */ +/* build-id support. */
+struct build_id; +extern struct elf_build_id *build_id_addr_get (CORE_ADDR addr);
+extern struct build_id *build_id_addr_get (CORE_ADDR addr); +extern char *build_id_to_filename (const struct elf_build_id *build_id,
+extern char *build_id_to_filename (struct build_id *build_id,
+ char **link_return, int add_debug_suffix); + char **link_return, int add_debug_suffix);
+extern void debug_print_missing (const char *binary, const char *debug); +extern void debug_print_missing (const char *binary, const char *debug);
+ +
/* From dwarf2read.c */ /* From dwarf2read.c */
/* Names for a dwarf2 debugging section. The field NORMAL is the normal /* 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.6.50.20130731-cvs.orig/gdb/testsuite/lib/gdb.exp 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/testsuite/lib/gdb.exp 2013-02-15 22:35:03.289219870 +0100 +++ 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 { } { @@ -1482,6 +1482,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0." 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.." + 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.6.50.20130731-cvs.orig/gdb/testsuite/lib/mi-support.exp 2013-08-02 17:07:17.886739513 +0200
+++ 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/gdb/testsuite/lib/mi-support.exp 2013-08-02 17:07:28.447753310 +0200
@@ -212,6 +212,16 @@ proc default_mi_gdb_start { args } { @@ -212,6 +212,16 @@ proc default_mi_gdb_start { args } {
warning "Couldn't set the width to 0." 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 # If allowing the inferior to have its own PTY then assign the inferior
# its own terminal device here. # its own terminal device here.
if { $separate_inferior_pty } { 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.6.50.20130731-cvs.orig/gdb/objfiles.h 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/objfiles.h 2013-02-15 22:35:03.290219872 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/objfiles.h 2013-08-02 17:07:28.447753310 +0200
@@ -432,6 +432,10 @@ struct objfile @@ -429,6 +429,10 @@ struct objfile
#define OBJF_MAINLINE (1 << 5) #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 /* The object file that contains the runtime common minimal symbols
for SunOS4. Note that this objfile has no associated BFD. */ 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.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 17:07:17.886739513 +0200
+++ gdb-7.5.50.20130215/gdb/testsuite/gdb.base/corefile.exp 2013-02-15 22:35:03.290219872 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 17:07:28.447753310 +0200
@@ -256,3 +256,33 @@ if ![is_remote target] { @@ -255,3 +255,33 @@ if ![is_remote target] {
gdb_exit 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.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/annota1.exp 2013-08-02 16:23:26.559936258 +0200
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.base/annota1.exp 2012-06-02 18:27:46.623210711 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/annota1.exp 2013-08-02 16:23:56.590976418 +0200
@@ -45,6 +45,8 @@ gdb_start @@ -41,6 +41,8 @@ if { [gdb_compile "${srcdir}/${subdir}/
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile} clean_restart ${binfile}
+gdb_test "set breakpoint pending off" "" "Avoid lockup on nonexisting functions" +gdb_test "set breakpoint pending off" "" "Avoid lockup on nonexisting functions"
+ +
# The commands we test here produce many lines of output; disable "press # The commands we test here produce many lines of output; disable "press
# <return> to continue" prompts. # <return> to continue" prompts.
gdb_test_no_output "set height 0" 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.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/annota3.exp 2013-08-02 16:23:26.560936259 +0200
+++ gdb-7.4.50.20120602/gdb/testsuite/gdb.base/annota3.exp 2012-06-02 18:28:00.375206457 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/annota3.exp 2013-08-02 16:24:11.654996267 +0200
@@ -45,6 +45,8 @@ gdb_start @@ -40,6 +40,8 @@ if { [gdb_compile "${srcdir}/${subdir}/
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile} clean_restart ${binfile}
+gdb_test "set breakpoint pending off" "" "Avoid lockup on nonexisting functions" +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: gdb-6.8.50.20090209/gdb/testsuite/gdb.base/annota1.exp:
frames-invalid can happen asynchronously. 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.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/fileio.c 2013-08-02 16:25:49.466127074 +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/gdb/testsuite/gdb.base/fileio.c 2013-08-02 16:26:11.724156750 +0200
@@ -58,6 +58,8 @@ system (const char * string); @@ -58,6 +58,8 @@ system (const char * string);
1) Invalid string/command. - returns 127. */ 1) Invalid string/command. - returns 127. */
static const char *strerrno (int err); 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 */ /* Don't change the order of the calls. They partly depend on each other */
test_open (); test_open ();
test_write (); 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.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/fileio.exp 2013-08-02 16:25:49.467127075 +0200
+++ gdb-7.4.50.20120103/gdb/testsuite/gdb.base/fileio.exp 2012-01-03 15:22:02.716601956 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.exp 2013-08-02 16:27:10.142234618 +0200
@@ -42,8 +42,8 @@ if [get_compiler_info ${binfile}] { @@ -35,8 +35,8 @@ if [get_compiler_info] {
return -1; return -1
} }
-remote_exec build {sh -xc test\ -r\ dir2.fileio.test\ &&\ chmod\ -f\ +w\ dir2.fileio.test} -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 oldtimeout $timeout
set timeout [expr "$timeout + 60"] set timeout [expr "$timeout + 60"]
@@ -85,7 +85,7 @@ gdb_test continue \ @@ -78,7 +78,7 @@ gdb_test continue \
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 \ gdb_test continue \
"Continuing\\..*open 5:.*EACCES$stop_msg" \ "Continuing\\..*open 5:.*EACCES$stop_msg" \
@@ -251,8 +251,8 @@ gdb_exit @@ -244,8 +244,8 @@ gdb_exit
# Wait till GDB really exits. # Wait till GDB really exits.
sleep 1 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 should have been detached with SIGSTOP (as they are accidentally left running
on the debugger termination). 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.6.50.20130731-cvs.orig/gdb/defs.h 2013-08-02 16:58:31.453016573 +0200
+++ gdb-7.5.50.20130118/gdb/defs.h 2013-01-21 16:40:29.889256633 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/defs.h 2013-08-02 16:58:41.221030412 +0200
@@ -176,6 +176,7 @@ extern int check_quit_flag (void); @@ -177,6 +177,7 @@ extern int check_quit_flag (void);
/* Set the quit flag. */ /* Set the quit flag. */
extern void set_quit_flag (void); extern void set_quit_flag (void);
@@ -17,26 +17,26 @@ Index: gdb-7.5.50.20130118/gdb/defs.h
extern int immediate_quit; extern int immediate_quit;
extern void quit (void); 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.6.50.20130731-cvs.orig/gdb/top.c 2013-08-02 16:58:41.222030414 +0200
+++ gdb-7.5.50.20130118/gdb/top.c 2013-01-21 14:56:16.385710056 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/top.c 2013-08-02 16:59:06.321066228 +0200
@@ -1329,7 +1329,9 @@ quit_force (char *args, int from_tty) @@ -1415,7 +1415,9 @@ quit_force (char *args, int from_tty)
qt.args = args; if (ex.reason < 0) \
qt.from_tty = from_tty; 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. */
+ /* We want to handle any quit errors and exit regardless but we should never + /* We want to handle any quit errors and exit regardless but we should never
+ get user-interrupted to properly detach the inferior. */ + get user-interrupted to properly detach the inferior. */
+ quit_flag_cleanup = 1; + 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.6.50.20130731-cvs.orig/gdb/utils.c 2013-08-02 16:58:31.455016575 +0200
+++ gdb-7.5.50.20130118/gdb/utils.c 2013-01-21 16:41:02.225233493 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/utils.c 2013-08-02 16:58:41.223030415 +0200
@@ -141,6 +141,11 @@ int quit_flag; @@ -136,6 +136,11 @@ int quit_flag;
int immediate_quit; int immediate_quit;
@@ -48,7 +48,7 @@ Index: gdb-7.5.50.20130118/gdb/utils.c
#ifndef HAVE_PYTHON #ifndef HAVE_PYTHON
/* Clear the quit flag. */ /* Clear the quit flag. */
@@ -164,6 +169,9 @@ set_quit_flag (void) @@ -159,6 +164,9 @@ set_quit_flag (void)
int int
check_quit_flag (void) 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. */ /* This is written in a particular way to avoid races. */
if (quit_flag) 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.6.50.20130731-cvs.orig/gdb/python/python.c 2013-08-02 16:58:31.456016577 +0200
+++ gdb-7.5.50.20130118/gdb/python/python.c 2013-01-21 16:39:30.698299142 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/python/python.c 2013-08-02 16:58:41.224030416 +0200
@@ -181,6 +181,9 @@ set_quit_flag (void) @@ -191,6 +191,9 @@ set_quit_flag (void)
int int
check_quit_flag (void) 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.6.50.20130731-cvs.orig/gdb/breakpoint.c 2013-08-02 16:29:16.065402116 +0200
+++ gdb-7.5.50.20130215/gdb/breakpoint.c 2013-02-15 22:37:08.216381988 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/breakpoint.c 2013-08-02 16:29:17.073403456 +0200
@@ -16020,6 +16020,50 @@ initialize_breakpoint_ops (void) @@ -15963,6 +15963,50 @@ initialize_breakpoint_ops (void)
static struct cmd_list_element *enablebreaklist = NULL; static struct cmd_list_element *enablebreaklist = NULL;
void void
@@ -53,23 +53,23 @@ Index: gdb-7.5.50.20130215/gdb/breakpoint.c
_initialize_breakpoint (void) _initialize_breakpoint (void)
{ {
struct cmd_list_element *c; 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.6.50.20130731-cvs.orig/gdb/breakpoint.h 2013-08-02 16:29:17.074403457 +0200
+++ gdb-7.5.50.20130215/gdb/breakpoint.h 2013-02-15 22:37:19.025395693 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/breakpoint.h 2013-08-02 16:29:30.221420896 +0200
@@ -1556,4 +1556,7 @@ extern void handle_solib_event (void); @@ -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, +extern void breakpoints_relocate (struct objfile *objfile,
+ struct section_offsets *delta); + struct section_offsets *delta);
+ +
#endif /* !defined (BREAKPOINT_H) */ #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.6.50.20130731-cvs.orig/gdb/objfiles.c 2013-08-02 16:29:16.068402120 +0200
+++ gdb-7.5.50.20130215/gdb/objfiles.c 2013-02-15 22:37:08.217381990 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/objfiles.c 2013-08-02 16:29:17.075403458 +0200
@@ -831,6 +831,11 @@ objfile_relocate1 (struct objfile *objfi @@ -851,6 +851,11 @@ objfile_relocate1 (struct objfile *objfi
objfile->sf->sym_probe_fns->sym_relocate_probe (objfile, objfile->sf->sym_probe_fns->sym_relocate_probe (objfile,
new_offsets, delta); 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 (linux_create_inferior, linux_tracefork_child): Call it instead of
direct ptrace. 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.6.50.20130731-cvs.orig/gdb/common/linux-ptrace.c 2013-08-02 16:33:52.767872412 +0200
+++ gdb-7.5.50.20130215/gdb/common/linux-ptrace.c 2013-02-15 22:38:05.782456279 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c 2013-08-02 16:34:16.122910934 +0200
@@ -29,6 +29,10 @@ @@ -29,6 +29,10 @@
#include "gdb_assert.h" #include "gdb_assert.h"
#include "gdb_wait.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__ #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 (); 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")); + "(gdb) shell sudo setsebool deny_ptrace=0"));
+#endif /* HAVE_LIBSELINUX */ +#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.6.50.20130731-cvs.orig/gdb/common/linux-ptrace.h 2013-08-02 16:33:52.768872414 +0200
+++ gdb-7.5.50.20130215/gdb/common/linux-ptrace.h 2013-02-15 22:38:05.782456279 +0100 +++ 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; @@ -69,5 +69,6 @@ struct buffer;
extern void linux_ptrace_attach_warnings (pid_t pid, struct buffer *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); +extern void linux_ptrace_create_warnings (struct buffer *buffer);
#endif /* COMMON_LINUX_PTRACE_H */ #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.6.50.20130731-cvs.orig/gdb/configure.ac 2013-08-02 16:34:16.123910936 +0200
+++ gdb-7.5.50.20130215/gdb/configure.ac 2013-02-15 22:38:05.783456281 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/configure.ac 2013-08-02 16:34:46.519960063 +0200
@@ -2068,6 +2068,10 @@ then @@ -2071,6 +2071,10 @@ case $host_os in
[Define if you support the personality syscall.]) esac
fi AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
+dnl Check security_get_boolean_active availability. +dnl Check security_get_boolean_active availability.
+AC_CHECK_HEADERS(selinux/selinux.h) +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. dnl Handle optional features that can be enabled.
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR, # 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.6.50.20130731-cvs.orig/gdb/gdbserver/configure.ac 2013-08-02 16:34:16.124910938 +0200
+++ gdb-7.5.50.20130215/gdb/gdbserver/configure.ac 2013-02-15 22:38:05.783456281 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac 2013-08-02 16:35:06.634991892 +0200
@@ -451,6 +451,10 @@ if $want_ipa ; then @@ -471,6 +471,10 @@ if $want_ipa ; then
fi fi
fi fi
@@ -121,12 +121,12 @@ Index: gdb-7.5.50.20130215/gdb/gdbserver/configure.ac
+ +
AC_SUBST(GDBSERVER_DEPFILES) AC_SUBST(GDBSERVER_DEPFILES)
AC_SUBST(GDBSERVER_LIBS) AC_SUBST(GDBSERVER_LIBS)
AC_SUBST(USE_THREAD_DB) AC_SUBST(srv_xmlbuiltin)
Index: gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c 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.6.50.20130731-cvs.orig/gdb/gdbserver/linux-low.c 2013-08-02 16:33:52.772872421 +0200
+++ gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c 2013-02-15 22:39:54.256591069 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c 2013-08-02 16:34:16.126910941 +0200
@@ -602,6 +602,29 @@ add_lwp (ptid_t ptid) @@ -622,6 +622,29 @@ add_lwp (ptid_t ptid)
return lwp; 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. /* Start an inferior process and returns its pid.
ALLARGS is a vector of program-name and args. */ 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) 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. */ #ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */
signal (__SIGRTMIN + 1, SIG_DFL); 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 static int
linux_tracefork_child (void *arg) linux_tracefork_child (void *arg)
{ {
@@ -174,10 +174,10 @@ Index: gdb-7.5.50.20130215/gdb/gdbserver/linux-low.c
kill (getpid (), SIGSTOP); kill (getpid (), SIGSTOP);
#if !(defined(__UCLIBC__) && defined(HAS_NOMMU)) #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.6.50.20130731-cvs.orig/gdb/inf-ptrace.c 2013-08-02 16:33:52.772872421 +0200
+++ gdb-7.5.50.20130215/gdb/inf-ptrace.c 2013-02-15 22:38:05.786456289 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/inf-ptrace.c 2013-08-02 16:34:16.126910941 +0200
@@ -104,7 +104,15 @@ static void @@ -104,7 +104,15 @@ static void
inf_ptrace_me (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 /* 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.6.50.20130731-cvs.orig/gdb/linux-nat.c 2013-08-02 16:33:52.774872424 +0200
+++ gdb-7.5.50.20130215/gdb/linux-nat.c 2013-02-15 22:38:05.787456291 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/linux-nat.c 2013-08-02 16:34:16.128910944 +0200
@@ -1557,6 +1557,7 @@ linux_nat_create_inferior (struct target @@ -1554,6 +1554,7 @@ linux_nat_create_inferior (struct target
#ifdef HAVE_PERSONALITY #ifdef HAVE_PERSONALITY
int personality_orig = 0, personality_set = 0; int personality_orig = 0, personality_set = 0;
#endif /* HAVE_PERSONALITY */ #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 /* The fork_child mechanism is synchronous and calls target_wait, so
we have to mask the async mode. */ 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. */ /* Make sure we report all signals during startup. */
linux_nat_pass_signals (0, NULL); linux_nat_pass_signals (0, NULL);
@@ -218,7 +218,7 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c
#ifdef HAVE_PERSONALITY #ifdef HAVE_PERSONALITY
if (personality_set) 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)); safe_strerror (errno));
} }
#endif /* HAVE_PERSONALITY */ #endif /* HAVE_PERSONALITY */
@@ -243,3 +243,192 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c
} }
static void 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.6.50.20130731-cvs.orig/gdb/infrun.c 2013-08-02 17:10:08.446962958 +0200
+++ gdb-7.5.50.20130118/gdb/infrun.c 2013-01-19 23:39:03.322429041 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/infrun.c 2013-08-02 17:10:49.109016685 +0200
@@ -4918,6 +4918,16 @@ process_event_stop_test: @@ -4930,6 +4930,16 @@ process_event_stop_test:
if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL) if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
{ {
+ struct symbol *stop_fn = find_pc_function (stop_pc); + 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 + if ((stop_fn == NULL
+ || strstr (SYMBOL_LINKAGE_NAME (stop_fn), ".omp_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". /* We're doing a "next".
Normal (forward) execution: set a breakpoint at the 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); keep_going (ecs);
return; 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 /* 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 --- /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 @@ @@ -0,0 +1,31 @@
+# Copyright 2009 Free Software Foundation, Inc. +# 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_breakpoint [gdb_get_line_number "success"]
+gdb_continue_to_breakpoint "success" ".*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 --- /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 @@ @@ -0,0 +1,32 @@
+! Copyright 2009 Free Software Foundation, Inc. +! 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.5.91.20130323.orig/gdb/config/i386/linux64.mh 2013-03-11 09:25:58.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/gdb/config/i386/linux64.mh 2013-03-23 19:48:37.707761117 +0100
@@ -4,7 +4,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \ @@ -4,7 +4,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
linux-nat.o linux-osdata.o \ linux-nat.o linux-osdata.o \
proc-service.o linux-thread-db.o linux-fork.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= config/nm-linux.h
+NAT_FILE= nm-linux64.h +NAT_FILE= nm-linux64.h
NAT_CDEPS = $(srcdir)/proc-service.list NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the # 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.5.91.20130323.orig/gdb/config/i386/linux.mh 2013-03-11 09:25:58.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/gdb/config/i386/linux.mh 2013-03-23 19:48:22.757990256 +0100
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
# Host: Intel 386 running GNU/Linux. # 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 \ NATDEPFILES= inf-ptrace.o fork-child.o \
i386-nat.o i386-linux-nat.o \ i386-nat.o i386-linux-nat.o \
proc-service.o linux-thread-db.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 --- /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 @@ @@ -0,0 +1,28 @@
+/* Native support for GNU/Linux i386. +/* 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 +#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
+ +
+#endif /* NM_LINUX64_H */ +#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 --- /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 @@ @@ -0,0 +1,28 @@
+/* Native support for GNU/Linux amd64. +/* 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 +#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
+ +
+#endif /* NM_LINUX64_H */ +#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.5.91.20130323.orig/gdb/target.h 2013-03-11 09:50:05.000000000 +0100
+++ gdb-7.4.50.20120602/gdb/target.h 2012-06-02 19:55:42.436178407 +0200 +++ gdb-7.5.91.20130323/gdb/target.h 2013-03-23 19:48:22.758990238 +0100
@@ -1470,8 +1470,10 @@ extern char *target_thread_name (struct @@ -1563,8 +1563,10 @@ extern char *target_thread_name (struct
bp_hardware_breakpoint. CNT is the number of such watchpoints used so far bp_hardware_breakpoint. CNT is the number of such watchpoints used so far
(including this one?). OTHERTYPE is who knows what... */ (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 /* Returns the number of debug registers needed to watch the given
memory region, or zero if not supported. */ 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 --- /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 @@ @@ -0,0 +1,40 @@
+# Copyright 2009, 2010 Free Software Foundation, Inc. +# 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. ] [ 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.6.50.20130731-cvs.orig/gdb/solib-svr4.c 2013-08-02 16:27:28.831259468 +0200
+++ gdb-7.5.50.20130118/gdb/solib-svr4.c 2013-01-18 23:05:34.813231664 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c 2013-08-02 16:27:47.871284813 +0200
@@ -1221,8 +1221,17 @@ svr4_read_so_list (CORE_ADDR lm, struct @@ -1359,8 +1359,17 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
SO_NAME_MAX_PATH_SIZE - 1, &errcode); SO_NAME_MAX_PATH_SIZE - 1, &errcode);
if (errcode != 0) if (errcode != 0)
{ {
@@ -27,20 +27,20 @@ Index: gdb-7.5.50.20130118/gdb/solib-svr4.c
do_cleanups (old_chain); do_cleanups (old_chain);
continue; 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.6.50.20130731-cvs.orig/gdb/solib.c 2013-08-02 16:27:28.832259470 +0200
+++ gdb-7.5.50.20130118/gdb/solib.c 2013-01-18 23:05:57.421263173 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/solib.c 2013-08-02 16:28:50.421367694 +0200
@@ -666,7 +666,7 @@ solib_used (const struct so_list *const @@ -669,7 +669,7 @@ solib_used (const struct so_list *const
processes we've just attached to, so that's okay. */ processes we've just attached to, so that's okay. */
static void static void
-update_solib_list (int from_tty, struct target_ops *target) -update_solib_list (int from_tty, struct target_ops *target)
+update_solib_list_1 (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(); 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. /* 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.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 16:27:28.833259471 +0200
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.base/corefile.exp 2013-01-18 23:05:34.814231667 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 16:27:47.872284814 +0200
@@ -286,3 +286,19 @@ if {$buildid == ""} { @@ -285,3 +285,19 @@ if {$buildid == ""} {
gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*" gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
pass $wholetest pass $wholetest
} }
@@ -86,20 +86,18 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/corefile.exp
+ pass $test + 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.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/solib-symbol.exp 2013-08-02 16:27:28.833259471 +0200
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.base/solib-symbol.exp 2013-01-18 23:05:34.814231667 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/solib-symbol.exp 2013-08-02 16:28:22.549330973 +0200
@@ -27,7 +27,8 @@ set lib_flags [list debug ldflags=-Wl,-B @@ -29,6 +29,7 @@ set testfile "solib-symbol-main"
# Binary file.
set testfile "solib-symbol-main"
set srcfile ${srcdir}/${subdir}/${testfile}.c set srcfile ${srcdir}/${subdir}/${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile} set binfile [standard_output_file ${testfile}]
+set executable ${testfile}
+set binfile ${objdir}/${subdir}/${executable}
set bin_flags [list debug shlib=${binfile_lib}] set bin_flags [list debug shlib=${binfile_lib}]
+set executable ${testfile}
if [get_compiler_info] { if [get_compiler_info] {
return -1
@@ -72,8 +73,26 @@ gdb_test "br foo2" \ @@ -72,8 +73,26 @@ gdb_test "br foo2" \
"Breakpoint.*: foo2. .2 locations..*" \ "Breakpoint.*: foo2. .2 locations..*" \
"foo2 in mdlib" "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(-) 5 files changed, 57 insertions(+), 1 deletions(-)
create mode 100755 gdb/gdb-add-index 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.6.50.20130731-cvs.orig/gdb/Makefile.in 2013-08-02 16:31:59.603674194 +0200
+++ gdb-7.4.50.20120103/gdb/Makefile.in 2012-01-03 15:24:25.693543435 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/Makefile.in 2013-08-02 16:32:08.260690156 +0200
@@ -1033,7 +1033,16 @@ install-only: install-gstack $(CONFIG_IN @@ -1070,6 +1070,15 @@ install-only: install-gstack $(CONFIG_IN
$(INSTALL_DATA) $(srcdir)/gdb.1 \ $(INSTALL_PROGRAM) gcore \
$(DESTDIR)$(man1dir)/$$transformed_name.1 ; \ $(DESTDIR)$(bindir)/$$transformed_name; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir)/gdb ; \ fi
- $(INSTALL_DATA) jit-reader.h $(DESTDIR)$(includedir)/gdb/jit-reader.h
+ $(INSTALL_DATA) jit-reader.h $(DESTDIR)$(includedir)/gdb/jit-reader.h; \
+ transformed_name=`t='$(program_transform_name)'; \ + transformed_name=`t='$(program_transform_name)'; \
+ echo gdb-add-index | sed -e "$$t"` ; \ + echo gdb-add-index | sed -e "$$t"` ; \
+ if test "x$$transformed_name" = x; then \ + 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 @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
install-python: 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.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 16:31:59.616674218 +0200
+++ gdb-7.4.50.20120103/gdb/doc/gdb.texinfo 2012-01-03 15:23:43.295231946 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:32:08.271690176 +0200
@@ -16228,6 +16228,14 @@ There are currently some limitation on i @@ -17447,6 +17447,14 @@ There are currently some limitation on i
for DWARF debugging information, not stabs. And, they do not for DWARF debugging information, not stabs. And, they do not
currently work for programs using Ada. currently work for programs using Ada.
@@ -81,10 +79,73 @@ Index: gdb-7.4.50.20120103/gdb/doc/gdb.texinfo
@node Symbol Errors @node Symbol Errors
@section Errors Reading Symbol Files @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 --- /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 @@ @@ -0,0 +1,30 @@
+#! /bin/sh +#! /bin/sh
+ +
@@ -116,3 +177,30 @@ Index: gdb-7.4.50.20120103/gdb/gdb-add-index
+fi +fi
+ +
+exit 0 +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.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:37:51.619241696 +0200
+++ gdb-7.5.50.20130118/gdb/dwarf2read.c 2013-01-19 21:24:22.242969266 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:38:16.159277461 +0200
@@ -15987,6 +15987,25 @@ new_symbol_full (struct die_info *die, s @@ -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). */ /* 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); linkagename = dwarf2_physname (name, die, cu);
+ +
+ /* Workaround for: + /* Workaround for:
@@ -28,10 +28,10 @@ Index: gdb-7.5.50.20130118/gdb/dwarf2read.c
SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile); SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile);
/* Fortran does not have mangling standard and the mangling does differ /* 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 --- /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 @@ @@ -0,0 +1,108 @@
+# Copyright (C) 2012 Free Software Foundation, Inc. +# 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.6.50.20130731-cvs.orig/gdb/ia64-tdep.c 2013-08-07 15:16:31.000000000 +0200
+++ gdb-7.5.50.20130215/gdb/ia64-tdep.c +++ 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 @@ -2256,7 +2256,7 @@ static int
ia64_outermost_frame (struct frame_info *this_frame) 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_this_id,
&ia64_clone2_frame_prev_register, &ia64_clone2_frame_prev_register,
NULL, 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 version https://git-lfs.github.com/spec/v1
oid sha256:1877172a7efbf7540290471e64816c9549b24a65e825f0e1a725ac950b4e5029 oid sha256:b475a3ef42507a47b1ea4b7f9a4849287b4c713e5081ec86874eaa7da194f78b
size 11744 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-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-wp.patch 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.6.50.20130731-cvs.orig/gdb/arm-linux-nat.c 2013-08-02 16:42:29.565632895 +0200
+++ gdb-7.5.50.20130215/gdb/arm-linux-nat.c 2013-02-15 22:42:45.988804306 +0100 +++ 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 @@ -1105,7 +1105,7 @@ arm_linux_region_ok_for_hw_watchpoint (C
/* Insert a Hardware breakpoint. */ /* 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; 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.6.50.20130731-cvs.orig/gdb/i386-nat.c 2013-08-02 16:42:29.566632896 +0200
+++ gdb-7.5.50.20130215/gdb/i386-nat.c 2013-02-15 22:43:14.005838741 +0100 +++ 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 @@ -589,7 +589,7 @@ i386_update_inferior_debug_regs (struct
of the type TYPE. Return 0 on success, -1 on failure. */ 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 expression *cond)
{ {
struct i386_debug_reg_state *state 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.6.50.20130731-cvs.orig/gdb/ia64-linux-nat.c 2013-08-02 16:42:29.566632896 +0200
+++ gdb-7.5.50.20130215/gdb/ia64-linux-nat.c 2013-02-15 22:42:45.989804309 +0100 +++ 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) @@ -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) struct expression *cond)
{ {
int idx; 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.6.50.20130731-cvs.orig/gdb/inf-ttrace.c 2013-08-02 16:42:29.567632898 +0200
+++ gdb-7.5.50.20130215/gdb/inf-ttrace.c 2013-02-15 22:42:45.989804309 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/inf-ttrace.c 2013-08-02 16:42:34.095639105 +0200
@@ -313,14 +313,14 @@ inf_ttrace_disable_page_protections (pid @@ -314,14 +314,14 @@ inf_ttrace_disable_page_protections (pid
type TYPE. */ type TYPE. */
static int static int
@@ -193,7 +193,7 @@ Index: gdb-7.5.50.20130215/gdb/inf-ttrace.c
gdb_assert (type == hw_write); 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. */ type TYPE. */
static int static int
@@ -211,11 +211,11 @@ Index: gdb-7.5.50.20130215/gdb/inf-ttrace.c
gdb_assert (type == hw_write); 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.6.50.20130731-cvs.orig/gdb/mips-linux-nat.c 2013-08-02 16:42:29.568632899 +0200
+++ gdb-7.5.50.20130215/gdb/mips-linux-nat.c 2013-02-15 22:42:45.990804311 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/mips-linux-nat.c 2013-08-02 16:42:34.096639106 +0200
@@ -1017,7 +1017,7 @@ populate_regs_from_watches (struct pt_wa @@ -644,7 +644,7 @@ mips_linux_new_thread (struct lwp_info *
watch. Return zero on success. */ watch. Return zero on success. */
static int static int
@@ -224,7 +224,7 @@ Index: gdb-7.5.50.20130215/gdb/mips-linux-nat.c
struct expression *cond) struct expression *cond)
{ {
struct pt_watch_regs regs; 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. */ Return zero on success. */
static int static int
@@ -233,10 +233,10 @@ Index: gdb-7.5.50.20130215/gdb/mips-linux-nat.c
struct expression *cond) struct expression *cond)
{ {
int retval; 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.6.50.20130731-cvs.orig/gdb/nto-procfs.c 2013-08-02 16:42:29.568632899 +0200
+++ gdb-7.5.50.20130215/gdb/nto-procfs.c 2013-02-15 22:42:45.990804311 +0100 +++ 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); @@ -69,10 +69,10 @@ static ptid_t do_attach (ptid_t ptid);
static int procfs_can_use_hw_breakpoint (int, int, int); 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) struct expression *cond)
{ {
return procfs_hw_watchpoint (addr, len, type); 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.6.50.20130731-cvs.orig/gdb/ppc-linux-nat.c 2013-08-02 16:42:29.570632902 +0200
+++ gdb-7.5.50.20130215/gdb/ppc-linux-nat.c 2013-02-15 22:42:45.991804313 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/ppc-linux-nat.c 2013-08-02 16:42:34.097639108 +0200
@@ -1838,11 +1838,11 @@ can_use_watchpoint_cond_accel (void) @@ -1853,11 +1853,11 @@ can_use_watchpoint_cond_accel (void)
CONDITION_VALUE will hold the value which should be put in the CONDITION_VALUE will hold the value which should be put in the
DVC register. */ DVC register. */
static void 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; CORE_ADDR addr_end_data, addr_end_dvc;
/* The DVC register compares bytes within fixed-length windows which /* 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. */ of the constant. */
static int static int
check_condition (CORE_ADDR watch_addr, struct expression *cond, 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; int pc = 1, num_accesses_left, num_accesses_right;
struct value *left_val, *right_val, *left_chain, *right_chain; 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 the condition expression, thus only triggering the watchpoint when it is
true. */ true. */
static int static int
@@ -304,7 +304,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
struct expression *cond) struct expression *cond)
{ {
CORE_ADDR data_value; 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 static void
create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr, 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) int insert)
{ {
if (len == 1 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 static int
@@ -322,7 +322,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
struct expression *cond) struct expression *cond)
{ {
struct lwp_info *lp; 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 static int
@@ -331,7 +331,7 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
struct expression *cond) struct expression *cond)
{ {
struct lwp_info *lp; 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 static int
ppc_linux_watchpoint_addr_within_range (struct target_ops *target, ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr, CORE_ADDR addr,
@@ -340,10 +340,10 @@ Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
{ {
int mask; 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.6.50.20130731-cvs.orig/gdb/procfs.c 2013-08-02 16:42:29.572632904 +0200
+++ gdb-7.5.50.20130215/gdb/procfs.c 2013-02-15 22:42:45.992804315 +0100 +++ 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 @@ -2433,7 +2433,7 @@ procfs_address_to_host_pointer (CORE_ADD
#endif #endif
@@ -380,11 +380,11 @@ Index: gdb-7.5.50.20130215/gdb/procfs.c
struct expression *cond) struct expression *cond)
{ {
return procfs_set_watchpoint (inferior_ptid, addr, 0, 0, 0); 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.6.50.20130731-cvs.orig/gdb/remote-m32r-sdi.c 2013-08-02 16:42:29.573632906 +0200
+++ gdb-7.5.50.20130215/gdb/remote-m32r-sdi.c 2013-02-15 22:42:45.993804317 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/remote-m32r-sdi.c 2013-08-02 16:42:34.099639111 +0200
@@ -1417,14 +1417,15 @@ m32r_can_use_hw_watchpoint (int type, in @@ -1416,14 +1416,15 @@ m32r_can_use_hw_watchpoint (int type, in
watchpoint. */ watchpoint. */
static int 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++) 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 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++) 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.6.50.20130731-cvs.orig/gdb/remote-mips.c 2013-08-02 16:42:29.574632907 +0200
+++ gdb-7.5.50.20130215/gdb/remote-mips.c 2013-02-15 22:42:45.994804319 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/remote-mips.c 2013-08-02 16:42:34.100639112 +0200
@@ -2419,7 +2419,7 @@ calculate_mask (CORE_ADDR addr, int len) @@ -2426,7 +2426,7 @@ calculate_mask (CORE_ADDR addr, int len)
watchpoint. */ watchpoint. */
static int static int
@@ -435,7 +435,7 @@ Index: gdb-7.5.50.20130215/gdb/remote-mips.c
struct expression *cond) struct expression *cond)
{ {
if (mips_set_breakpoint (addr, len, type)) 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. */ /* Remove a watchpoint. */
static int static int
@@ -444,11 +444,11 @@ Index: gdb-7.5.50.20130215/gdb/remote-mips.c
struct expression *cond) struct expression *cond)
{ {
if (mips_clear_breakpoint (addr, len, type)) 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.6.50.20130731-cvs.orig/gdb/remote.c 2013-08-02 16:42:29.577632911 +0200
+++ gdb-7.5.50.20130215/gdb/remote.c 2013-02-15 22:42:45.996804323 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/remote.c 2013-08-02 16:42:34.103639116 +0200
@@ -8155,7 +8155,7 @@ watchpoint_to_Z_packet (int type) @@ -8277,7 +8277,7 @@ watchpoint_to_Z_packet (int type)
} }
static int static int
@@ -457,7 +457,7 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
struct expression *cond) struct expression *cond)
{ {
struct remote_state *rs = get_remote_state (); 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'); p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr); addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr); p += hexnumstr (p, (ULONGEST) addr);
@@ -466,7 +466,7 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
putpkt (rs->buf); putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0); 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 static int
remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr, 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); 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 static int
@@ -484,7 +484,7 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
struct expression *cond) struct expression *cond)
{ {
struct remote_state *rs = get_remote_state (); 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'); p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr); addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr); p += hexnumstr (p, (ULONGEST) addr);
@@ -493,10 +493,10 @@ Index: gdb-7.5.50.20130215/gdb/remote.c
putpkt (rs->buf); putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0); 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.6.50.20130731-cvs.orig/gdb/s390-nat.c 2013-08-02 16:42:29.578632913 +0200
+++ gdb-7.5.50.20130215/gdb/s390-nat.c 2013-02-15 22:42:45.997804325 +0100 +++ 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 * @@ -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 expression *cond)
{ {
struct lwp_info *lp; 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.6.50.20130731-cvs.orig/gdb/target.c 2013-08-02 16:42:29.580632915 +0200
+++ gdb-7.5.50.20130215/gdb/target.c 2013-02-15 22:42:45.997804325 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/target.c 2013-08-02 16:42:52.160663787 +0200
@@ -49,7 +49,8 @@ static void target_info (char *, int); @@ -49,7 +49,7 @@ static void target_info (char *, int);
static void default_terminal_info (char *, int); static void default_terminal_info (const char *, int);
static int default_watchpoint_addr_within_range (struct target_ops *, static int default_watchpoint_addr_within_range (struct target_ops *,
- CORE_ADDR, CORE_ADDR, int); - CORE_ADDR, CORE_ADDR, int);
+ CORE_ADDR, CORE_ADDR, + CORE_ADDR, CORE_ADDR, LONGEST);
+ LONGEST);
static int default_region_ok_for_hw_watchpoint (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 *, static int debug_to_remove_hw_breakpoint (struct gdbarch *,
struct bp_target_info *); struct bp_target_info *);
@@ -542,7 +541,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *); struct expression *);
static int debug_to_stopped_by_watchpoint (void); 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_stopped_data_address (struct target_ops *, CORE_ADDR *);
static int debug_to_watchpoint_addr_within_range (struct target_ops *, 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 *); struct expression *);
static void debug_to_terminal_init (void); 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 *)) (int (*) (struct gdbarch *, struct bp_target_info *))
return_minus_one); return_minus_one);
de_fault (to_insert_watchpoint, de_fault (to_insert_watchpoint,
@@ -570,7 +569,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
return_minus_one); return_minus_one);
de_fault (to_stopped_by_watchpoint, de_fault (to_stopped_by_watchpoint,
(int (*) (void)) (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, de_fault (to_region_ok_for_hw_watchpoint,
default_region_ok_for_hw_watchpoint); default_region_ok_for_hw_watchpoint);
de_fault (to_can_accel_watchpoint_condition, de_fault (to_can_accel_watchpoint_condition,
@@ -579,7 +578,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
return_zero); return_zero);
de_fault (to_terminal_init, de_fault (to_terminal_init,
(void (*) (void)) (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 static int
default_watchpoint_addr_within_range (struct target_ops *target, default_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr, CORE_ADDR addr,
@@ -588,7 +587,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
{ {
return addr >= start && addr < start + length; 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 static int
@@ -597,7 +596,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *cond) struct expression *cond)
{ {
int retval; 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, fprintf_unfiltered (gdb_stdlog,
"target_can_accel_watchpoint_condition " "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); host_address_to_string (cond), (unsigned long) retval);
return 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 static int
debug_to_watchpoint_addr_within_range (struct target_ops *target, debug_to_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr, CORE_ADDR addr,
@@ -617,7 +616,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
{ {
int retval; 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); start, length);
fprintf_filtered (gdb_stdlog, fprintf_filtered (gdb_stdlog,
@@ -629,7 +628,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
return retval; 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 static int
@@ -638,7 +637,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *cond) struct expression *cond)
{ {
int retval; 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); retval = debug_target.to_insert_watchpoint (addr, len, type, cond);
fprintf_unfiltered (gdb_stdlog, fprintf_unfiltered (gdb_stdlog,
@@ -656,7 +655,7 @@ Index: gdb-7.5.50.20130215/gdb/target.c
struct expression *cond) struct expression *cond)
{ {
int retval; 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); retval = debug_target.to_remove_watchpoint (addr, len, type, cond);
fprintf_unfiltered (gdb_stdlog, 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); host_address_to_string (cond), (unsigned long) retval);
return 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.6.50.20130731-cvs.orig/gdb/target.h 2013-08-02 16:42:29.580632915 +0200
+++ gdb-7.5.50.20130215/gdb/target.h 2013-02-15 22:42:45.998804328 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/target.h 2013-08-02 16:42:34.105639119 +0200
@@ -466,8 +466,8 @@ struct target_ops @@ -373,8 +373,8 @@ struct target_ops
/* Documentation of what the two routines below are expected to do is /* Documentation of what the two routines below are expected to do is
provided with the corresponding target_* macros. */ 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 *, int (*to_insert_mask_watchpoint) (struct target_ops *,
CORE_ADDR, CORE_ADDR, int); 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_have_continuable_watchpoint;
int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *); int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *);
int (*to_watchpoint_addr_within_range) (struct target_ops *, 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-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-tdep.patch 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.6.50.20130731-cvs.orig/gdb/alpha-tdep.c 2013-08-02 16:43:01.128676094 +0200
+++ gdb-7.5.50.20130118/gdb/alpha-tdep.c 2013-01-18 23:37:12.465307566 +0100 +++ 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 @@ -299,18 +299,18 @@ alpha_push_dummy_call (struct gdbarch *g
{ {
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); 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); memcpy (arg_reg_buffer + offset, contents, tlen);
offset += tlen; offset += tlen;
contents += 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.6.50.20130731-cvs.orig/gdb/amd64-tdep.c 2013-08-02 16:43:01.130676097 +0200
+++ gdb-7.5.50.20130118/gdb/amd64-tdep.c 2013-01-18 23:37:12.466307569 +0100 +++ 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 @@ -616,7 +616,7 @@ amd64_return_value (struct gdbarch *gdba
{ {
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); 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]; enum amd64_reg_class class[2];
int needed_integer_regs = 0; int needed_integer_regs = 0;
int needed_sse_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.6.50.20130731-cvs.orig/gdb/amd64-windows-tdep.c 2013-08-02 16:43:01.135676104 +0200
+++ gdb-7.5.50.20130118/gdb/amd64-windows-tdep.c 2013-01-18 23:37:12.466307569 +0100 +++ 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 @@ -79,7 +79,7 @@ amd64_windows_return_value (struct gdbar
struct type *type, struct regcache *regcache, struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf) 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; int regnum = -1;
/* See if our value is returned through a register. If it is, then /* 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.6.50.20130731-cvs.orig/gdb/arm-tdep.c 2013-08-02 16:43:01.140676110 +0200
+++ gdb-7.5.50.20130118/gdb/arm-tdep.c 2013-01-18 23:37:12.469307573 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/arm-tdep.c 2013-08-02 16:43:04.727681010 +0200
@@ -3496,7 +3496,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc @@ -3498,7 +3498,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
array). Vectors and complex types are not currently supported, array). Vectors and complex types are not currently supported,
matching the generic AAPCS support. */ 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, arm_vfp_cprc_sub_candidate (struct type *t,
enum arm_vfp_cprc_base_type *base_type) 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: case TYPE_CODE_ARRAY:
{ {
@@ -252,7 +252,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
unsigned unitlen; unsigned unitlen;
count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type); count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
if (count == -1) 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: case TYPE_CODE_STRUCT:
{ {
@@ -271,7 +271,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
if (sub_count == -1) if (sub_count == -1)
return -1; return -1;
count += sub_count; 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: case TYPE_CODE_UNION:
{ {
@@ -290,7 +290,7 @@ Index: gdb-7.5.50.20130118/gdb/arm-tdep.c
if (sub_count == -1) if (sub_count == -1)
return -1; return -1;
count = (count > sub_count ? count : sub_count); 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) int *count)
{ {
enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN; 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) if (c <= 0 || c > 4)
return 0; return 0;
*base_type = b; *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++) 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 *arg_type;
struct type *target_type; struct type *target_type;
enum type_code typecode; 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.6.50.20130731-cvs.orig/gdb/avr-tdep.c 2013-08-02 16:43:01.142676113 +0200
+++ gdb-7.5.50.20130118/gdb/avr-tdep.c 2013-01-18 23:37:12.470307574 +0100 +++ 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 @@ -1170,13 +1170,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
struct stack_item struct stack_item
@@ -345,12 +345,12 @@ Index: gdb-7.5.50.20130118/gdb/avr-tdep.c
/* Calculate the potential last register needed. */ /* Calculate the potential last register needed. */
last_regnum = regnum - (len + (len & 1)); 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.6.50.20130731-cvs.orig/gdb/bfin-tdep.c 2013-08-02 16:43:01.142676113 +0200
+++ gdb-7.5.50.20130118/gdb/bfin-tdep.c 2013-01-18 23:37:12.470307574 +0100 +++ 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 @@ -506,7 +506,7 @@ bfin_push_dummy_call (struct gdbarch *gd
char buf[4]; gdb_byte buf[4];
int i; int i;
long reg_r0, reg_r1, reg_r2; long reg_r0, reg_r1, reg_r2;
- int total_len = 0; - int total_len = 0;
@@ -367,10 +367,10 @@ Index: gdb-7.5.50.20130118/gdb/bfin-tdep.c
sp -= container_len; sp -= container_len;
write_memory (sp, value_contents_writeable (args[i]), 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.6.50.20130731-cvs.orig/gdb/cris-tdep.c 2013-08-02 16:43:04.729681012 +0200
+++ gdb-7.5.50.20130118/gdb/cris-tdep.c 2013-01-18 23:37:12.471307578 +0100 +++ 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 @@ -670,13 +670,13 @@ static CORE_ADDR cris_unwind_sp (struct
struct stack_item struct stack_item
@@ -382,8 +382,8 @@ Index: gdb-7.5.50.20130118/gdb/cris-tdep.c
}; };
static struct stack_item * static struct stack_item *
-push_stack_item (struct stack_item *prev, void *contents, int len) -push_stack_item (struct stack_item *prev, const gdb_byte *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, ssize_t len)
{ {
struct stack_item *si; struct stack_item *si;
si = xmalloc (sizeof (struct stack_item)); si = xmalloc (sizeof (struct stack_item));
@@ -393,22 +393,22 @@ Index: gdb-7.5.50.20130118/gdb/cris-tdep.c
{ {
- int len; - int len;
+ ssize_t len; + ssize_t len;
char *val; const gdb_byte *val;
- int reg_demand; - int reg_demand;
- int i; - int i;
+ ssize_t reg_demand; + ssize_t reg_demand;
+ ssize_t i; + ssize_t i;
- len = TYPE_LENGTH (value_type (args[argnum])); - 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])); + len = TYPE_LENGTH (value_type (args[argnum]));
/* How may registers worth of storage do we need for this argument? */ /* How may registers worth of storage do we need for this argument? */
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0); 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.6.50.20130731-cvs.orig/gdb/h8300-tdep.c 2013-08-02 16:43:01.144676116 +0200
+++ gdb-7.5.50.20130118/gdb/h8300-tdep.c 2013-01-18 23:37:12.472307583 +0100 +++ 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 @@ -640,7 +640,7 @@ h8300_push_dummy_call (struct gdbarch *g
int struct_return, CORE_ADDR struct_addr) 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) 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.6.50.20130731-cvs.orig/gdb/hppa-tdep.c 2013-08-02 16:43:01.145676117 +0200
+++ gdb-7.5.50.20130118/gdb/hppa-tdep.c 2013-01-18 23:37:44.228351370 +0100 +++ 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 * @@ -961,7 +961,7 @@ hppa64_push_dummy_call (struct gdbarch *
{ {
struct value *arg = args[i]; struct value *arg = args[i];
@@ -463,10 +463,10 @@ Index: gdb-7.5.50.20130118/gdb/hppa-tdep.c
int regnum, offset; int regnum, offset;
if (len > 16) 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.6.50.20130731-cvs.orig/gdb/i386-darwin-tdep.c 2013-08-02 16:43:01.145676117 +0200
+++ gdb-7.5.50.20130118/gdb/i386-darwin-tdep.c 2013-01-18 23:37:12.473307586 +0100 +++ 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 @@ -166,7 +166,7 @@ i386_darwin_push_dummy_call (struct gdba
for (write_pass = 0; write_pass < 2; write_pass++) 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; int num_m128 = 0;
if (struct_return) 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.6.50.20130731-cvs.orig/gdb/i386-tdep.c 2013-08-02 16:43:01.147676120 +0200
+++ gdb-7.5.50.20130118/gdb/i386-tdep.c 2013-01-18 23:37:12.475307589 +0100 +++ 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 @@ -2407,7 +2407,7 @@ i386_push_dummy_call (struct gdbarch *gd
gdb_byte buf[4]; gdb_byte buf[4];
int i; 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)) 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.6.50.20130731-cvs.orig/gdb/ia64-tdep.c 2013-08-02 16:43:01.148676121 +0200
+++ gdb-7.5.50.20130118/gdb/ia64-tdep.c 2013-01-18 23:37:12.476307589 +0100 +++ 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 @@ -3974,8 +3974,10 @@ ia64_push_dummy_call (struct gdbarch *gd
int argno; int argno;
struct value *arg; struct value *arg;
@@ -560,10 +560,10 @@ Index: gdb-7.5.50.20130118/gdb/ia64-tdep.c
int floatreg; int floatreg;
ULONGEST bsp; ULONGEST bsp;
CORE_ADDR funcdescaddr, pc, global_pointer; 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.6.50.20130731-cvs.orig/gdb/iq2000-tdep.c 2013-08-02 16:43:01.149676123 +0200
+++ gdb-7.5.50.20130118/gdb/iq2000-tdep.c 2013-01-18 23:37:12.476307589 +0100 +++ 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 * @@ -654,8 +654,9 @@ iq2000_push_dummy_call (struct gdbarch *
const bfd_byte *val; const bfd_byte *val;
bfd_byte buf[4]; 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. */ /* Used to copy struct arguments into the stack. */
CORE_ADDR struct_ptr; 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.6.50.20130731-cvs.orig/gdb/m32r-tdep.c 2013-08-02 16:43:01.149676123 +0200
+++ gdb-7.5.50.20130118/gdb/m32r-tdep.c 2013-01-18 23:37:12.476307589 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/m32r-tdep.c 2013-08-02 16:43:04.734681019 +0200
@@ -695,7 +695,7 @@ m32r_push_dummy_call (struct gdbarch *gd @@ -689,7 +689,7 @@ m32r_push_dummy_call (struct gdbarch *gd
CORE_ADDR regval; CORE_ADDR regval;
gdb_byte *val; gdb_byte *val;
gdb_byte valbuf[MAX_REGISTER_SIZE]; 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. */ /* First force sp to a 4-byte alignment. */
sp = sp & ~3; 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.6.50.20130731-cvs.orig/gdb/m68k-tdep.c 2013-08-02 16:43:01.149676123 +0200
+++ gdb-7.5.50.20130118/gdb/m68k-tdep.c 2013-01-18 23:39:06.474459041 +0100 +++ 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 @@ -384,7 +384,7 @@ m68k_reg_struct_return_p (struct gdbarch
{ {
struct gdbarch_tdep *tdep = gdbarch_tdep (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 /* Non-scalars bigger than 4 bytes are left aligned, others are
right aligned. */ 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.6.50.20130731-cvs.orig/gdb/m88k-tdep.c 2013-08-02 16:43:01.150676124 +0200
+++ gdb-7.5.50.20130118/gdb/m88k-tdep.c 2013-01-18 23:37:12.477307590 +0100 +++ 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 @@ -260,13 +260,13 @@ m88k_store_arguments (struct regcache *r
{ {
struct gdbarch *gdbarch = get_regcache_arch (regcache); 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)) 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.6.50.20130731-cvs.orig/gdb/mep-tdep.c 2013-08-02 16:43:01.150676124 +0200
+++ gdb-7.5.50.20130118/gdb/mep-tdep.c 2013-01-18 23:37:12.477307590 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/mep-tdep.c 2013-08-02 16:43:04.735681021 +0200
@@ -2279,7 +2279,7 @@ push_large_arguments (CORE_ADDR sp, int @@ -2272,7 +2272,7 @@ push_large_arguments (CORE_ADDR sp, int
for (i = 0; i < argc; i++) 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) 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.6.50.20130731-cvs.orig/gdb/mips-tdep.c 2013-08-02 16:43:01.153676128 +0200
+++ gdb-7.5.50.20130118/gdb/mips-tdep.c 2013-01-18 23:37:12.479307599 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c 2013-08-02 16:43:04.737681023 +0200
@@ -396,7 +396,7 @@ static void @@ -402,7 +402,7 @@ static void
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache, mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
int reg_num, int length, int reg_num, int length,
enum bfd_endian endian, gdb_byte *in, 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; 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) if (mips_debug)
fprintf_unfiltered (gdb_stderr, fprintf_unfiltered (gdb_stderr,
@@ -808,23 +808,23 @@ Index: gdb-7.5.50.20130118/gdb/mips-tdep.c
val = value_contents (arg); 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.6.50.20130731-cvs.orig/gdb/mn10300-tdep.c 2013-08-02 16:43:04.737681023 +0200
+++ gdb-7.5.50.20130118/gdb/mn10300-tdep.c 2013-01-18 23:37:12.479307599 +0100 +++ 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 @@ -1228,7 +1228,7 @@ mn10300_push_dummy_call (struct gdbarch
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
const int push_size = register_size (gdbarch, E_PC_REGNUM); const int push_size = register_size (gdbarch, E_PC_REGNUM);
int regs_used; int regs_used;
- int len, arg_len; - int len, arg_len;
+ LONGEST len, arg_len; + LONGEST len, arg_len;
int stack_offset = 0; int stack_offset = 0;
int argnum; int argnum;
char *val, valbuf[MAX_REGISTER_SIZE]; const gdb_byte *val;
Index: gdb-7.5.50.20130118/gdb/mt-tdep.c 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.6.50.20130731-cvs.orig/gdb/mt-tdep.c 2013-08-02 16:43:01.154676130 +0200
+++ gdb-7.5.50.20130118/gdb/mt-tdep.c 2013-01-18 23:37:12.479307599 +0100 +++ 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 @@ -783,9 +783,9 @@ mt_push_dummy_call (struct gdbarch *gdba
gdb_byte buf[MT_MAX_STRUCT_SIZE]; gdb_byte buf[MT_MAX_STRUCT_SIZE];
int argreg = MT_1ST_ARGREG; int argreg = MT_1ST_ARGREG;
@@ -837,10 +837,10 @@ Index: gdb-7.5.50.20130118/gdb/mt-tdep.c
int i, j; int i, j;
/* First handle however many args we can fit into MT_1ST_ARGREG thru /* 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.6.50.20130731-cvs.orig/gdb/ppc-sysv-tdep.c 2013-08-02 16:43:01.155676131 +0200
+++ gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c 2013-01-18 23:37:12.480307602 +0100 +++ 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 @@ -68,7 +68,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function)); 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); const bfd_byte *val = value_contents (arg);
if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8 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 else
{ {
@@ -888,7 +888,7 @@ Index: gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c
if (len > tdep->wordsize) if (len > tdep->wordsize)
len = tdep->wordsize; len = tdep->wordsize;
memset (regval, 0, sizeof regval); 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 register. Work around this by always writing the
value to memory. Fortunately, doing this value to memory. Fortunately, doing this
simplifies the code. */ simplifies the code. */
@@ -897,11 +897,11 @@ Index: gdb-7.5.50.20130118/gdb/ppc-sysv-tdep.c
if (len < tdep->wordsize) if (len < tdep->wordsize)
write_memory (gparam + tdep->wordsize - len, val, len); write_memory (gparam + tdep->wordsize - len, val, len);
else 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.6.50.20130731-cvs.orig/gdb/rl78-tdep.c 2013-08-02 16:43:01.155676131 +0200
+++ gdb-7.5.50.20130118/gdb/rl78-tdep.c 2013-01-18 23:37:12.480307602 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/rl78-tdep.c 2013-08-02 16:43:04.738681025 +0200
@@ -1019,8 +1019,8 @@ rl78_push_dummy_call (struct gdbarch *gd @@ -1030,8 +1030,8 @@ rl78_push_dummy_call (struct gdbarch *gd
for (i = nargs - 1; i >= 0; i--) for (i = nargs - 1; i >= 0; i--)
{ {
struct type *value_type = value_enclosing_type (args[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; sp -= container_len;
write_memory (rl78_make_data_address (sp), 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.6.50.20130731-cvs.orig/gdb/rs6000-aix-tdep.c 2013-08-02 16:43:01.155676131 +0200
+++ gdb-7.5.50.20130118/gdb/rs6000-aix-tdep.c 2013-01-18 23:37:12.480307602 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/rs6000-aix-tdep.c 2013-08-02 16:43:04.738681025 +0200
@@ -198,9 +198,9 @@ rs6000_push_dummy_call (struct gdbarch * @@ -196,9 +196,9 @@ rs6000_push_dummy_call (struct gdbarch *
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int ii; int ii;
@@ -928,7 +928,7 @@ Index: gdb-7.5.50.20130118/gdb/rs6000-aix-tdep.c
gdb_byte tmp_buffer[50]; gdb_byte tmp_buffer[50];
int f_argno = 0; /* current floating point argno */ int f_argno = 0; /* current floating point argno */
int wordsize = gdbarch_tdep (gdbarch)->wordsize; 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) if ((argno < nargs) || argbytes)
{ {
@@ -937,11 +937,11 @@ Index: gdb-7.5.50.20130118/gdb/rs6000-aix-tdep.c
if (argbytes) 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.6.50.20130731-cvs.orig/gdb/s390-tdep.c 2013-08-02 16:43:01.156676132 +0200
+++ gdb-7.5.50.20130118/gdb/s390-tdep.c 2013-01-18 23:37:12.480307602 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c 2013-08-02 16:43:04.739681026 +0200
@@ -2482,7 +2482,7 @@ is_float_like (struct type *type) @@ -2483,7 +2483,7 @@ is_float_like (struct type *type)
static int static int
@@ -950,7 +950,7 @@ Index: gdb-7.5.50.20130118/gdb/s390-tdep.c
{ {
return ((n & (n - 1)) == 0); 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 value *arg = args[i];
struct type *type = check_typedef (value_type (arg)); 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)) 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.6.50.20130731-cvs.orig/gdb/score-tdep.c 2013-08-02 16:43:01.157676134 +0200
+++ gdb-7.5.50.20130118/gdb/score-tdep.c 2013-01-18 23:37:12.481307604 +0100 +++ 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 @@ -515,7 +515,7 @@ score_push_dummy_call (struct gdbarch *g
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argnum; int argnum;
@@ -972,10 +972,10 @@ Index: gdb-7.5.50.20130118/gdb/score-tdep.c
CORE_ADDR stack_offset = 0; CORE_ADDR stack_offset = 0;
CORE_ADDR addr = 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.6.50.20130731-cvs.orig/gdb/sh-tdep.c 2013-08-02 16:43:01.157676134 +0200
+++ gdb-7.5.50.20130118/gdb/sh-tdep.c 2013-01-18 23:37:12.481307604 +0100 +++ 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 @@ -807,7 +807,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
static int static int
sh_use_struct_convention (int renesas_abi, struct type *type) 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, @@ -909,7 +909,7 @@ sh_frame_align (struct gdbarch *ignore,
/* Helper function to justify value in register according to endianess. */ /* 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, int len)
+sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, LONGEST 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 * @@ -1069,7 +1069,8 @@ sh_push_dummy_call_fpu (struct gdbarch *
struct type *type; struct type *type;
CORE_ADDR regval; CORE_ADDR regval;
char *val; const gdb_byte *val;
- int len, reg_size = 0; - int len, reg_size = 0;
+ LONGEST len; + LONGEST len;
+ ssize_t reg_size = 0; + int reg_size = 0;
int pass_on_stack = 0; int pass_on_stack = 0;
int treat_as_flt; int treat_as_flt;
int last_reg_arg = INT_MAX; int last_reg_arg = INT_MAX;
@@ -1210,7 +1211,8 @@ sh_push_dummy_call_nofpu (struct gdbarch @@ -1210,7 +1211,8 @@ sh_push_dummy_call_nofpu (struct gdbarch
struct type *type; struct type *type;
CORE_ADDR regval; CORE_ADDR regval;
char *val; const gdb_byte *val;
- int len, reg_size = 0; - int len, reg_size = 0;
+ LONGEST len; + LONGEST len;
+ ssize_t reg_size = 0; + int reg_size = 0;
int pass_on_stack = 0; int pass_on_stack = 0;
int last_reg_arg = INT_MAX; 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.6.50.20130731-cvs.orig/gdb/sh64-tdep.c 2013-08-02 16:43:01.158676135 +0200
+++ gdb-7.5.50.20130118/gdb/sh64-tdep.c 2013-01-18 23:37:12.482307606 +0100 +++ 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 @@ -1058,7 +1058,7 @@ sh64_push_dummy_call (struct gdbarch *gd
CORE_ADDR struct_addr) CORE_ADDR struct_addr)
{ {
@@ -1029,17 +1029,17 @@ Index: gdb-7.5.50.20130118/gdb/sh64-tdep.c
int double_argreg; int double_argreg;
@@ -1069,7 +1069,7 @@ sh64_push_dummy_call (struct gdbarch *gd @@ -1069,7 +1069,7 @@ sh64_push_dummy_call (struct gdbarch *gd
CORE_ADDR regval; CORE_ADDR regval;
char *val; const gdb_byte *val;
char valbuf[8]; gdb_byte valbuf[8];
- int len; - int len;
+ LONGEST len; + LONGEST len;
int argreg_size; int argreg_size;
int fp_args[12]; 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.6.50.20130731-cvs.orig/gdb/sparc-tdep.c 2013-08-02 16:43:01.159676136 +0200
+++ gdb-7.5.50.20130118/gdb/sparc-tdep.c 2013-01-18 23:37:12.482307606 +0100 +++ 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 @@ -471,7 +471,7 @@ sparc32_store_arguments (struct regcache
for (i = 0; i < nargs; i++) 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) if (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && len == 16) || (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.6.50.20130731-cvs.orig/gdb/sparc64-tdep.c 2013-08-02 16:43:01.159676136 +0200
+++ gdb-7.5.50.20130118/gdb/sparc64-tdep.c 2013-01-18 23:37:12.482307606 +0100 +++ 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 @@ -639,7 +639,8 @@ sparc64_16_byte_align_p (struct type *ty
static void static void
@@ -1108,11 +1108,11 @@ Index: gdb-7.5.50.20130118/gdb/sparc64-tdep.c
int regnum = -1; int regnum = -1;
gdb_byte buf[16]; 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.6.50.20130731-cvs.orig/gdb/spu-tdep.c 2013-08-02 16:43:01.160676138 +0200
+++ gdb-7.5.50.20130118/gdb/spu-tdep.c 2013-01-18 23:37:12.483307607 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/spu-tdep.c 2013-08-02 16:43:04.741681029 +0200
@@ -1373,7 +1373,7 @@ spu_push_dummy_call (struct gdbarch *gdb @@ -1376,7 +1376,7 @@ spu_push_dummy_call (struct gdbarch *gdb
struct value *arg = args[i]; struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg)); struct type *type = check_typedef (value_type (arg));
const gdb_byte *contents = value_contents (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 /* If the argument doesn't wholly fit into registers, it and
all subsequent arguments go to the stack. */ 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 value *arg = args[i];
struct type *type = check_typedef (value_type (arg)); 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; int preferred_slot;
if (spu_scalar_value_p (type)) 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.6.50.20130731-cvs.orig/gdb/tic6x-tdep.c 2013-08-02 16:43:01.160676138 +0200
+++ gdb-7.5.50.20130118/gdb/tic6x-tdep.c 2013-01-18 23:39:27.770484516 +0100 +++ 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 @@ -896,7 +896,7 @@ tic6x_push_dummy_call (struct gdbarch *g
int argreg = 0; int argreg = 0;
int argnum; int argnum;
@@ -1171,24 +1171,24 @@ Index: gdb-7.5.50.20130118/gdb/tic6x-tdep.c
addr = sp + stack_offset; addr = sp + stack_offset;
write_memory (addr, val, len); 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.6.50.20130731-cvs.orig/gdb/tilegx-tdep.c 2013-08-02 16:43:01.161676139 +0200
+++ gdb-7.5.50.20130118/gdb/tilegx-tdep.c 2013-01-18 23:37:12.483307607 +0100 +++ 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 * @@ -291,7 +291,7 @@ tilegx_push_dummy_call (struct gdbarch *
CORE_ADDR stack_dest = sp; CORE_ADDR stack_dest = sp;
int argreg = TILEGX_R0_REGNUM; int argreg = TILEGX_R0_REGNUM;
int i, j; int i, j;
- int typelen, slacklen, alignlen; - int typelen, slacklen, alignlen;
+ LONGEST 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 /* 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.6.50.20130731-cvs.orig/gdb/v850-tdep.c 2013-08-02 16:43:01.161676139 +0200
+++ gdb-7.5.50.20130118/gdb/v850-tdep.c 2013-01-18 23:37:12.484307608 +0100 +++ gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c 2013-08-02 16:52:55.219531101 +0200
@@ -808,7 +808,7 @@ v850_push_dummy_call (struct gdbarch *gd @@ -1021,7 +1021,7 @@ v850_push_dummy_call (struct gdbarch *gd
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argreg; int argreg;
int argnum; int argnum;
@@ -1196,8 +1196,8 @@ Index: gdb-7.5.50.20130118/gdb/v850-tdep.c
+ LONGEST len = 0; + LONGEST len = 0;
int stack_offset; int stack_offset;
/* The offset onto the stack at which we will start copying parameters if (gdbarch_tdep (gdbarch)->abi == V850_ABI_RH850)
@@ -833,7 +833,7 @@ v850_push_dummy_call (struct gdbarch *gd @@ -1049,7 +1049,7 @@ v850_push_dummy_call (struct gdbarch *gd
in four registers available. Loop thru args from first to last. */ in four registers available. Loop thru args from first to last. */
for (argnum = 0; argnum < nargs; argnum++) 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 *val;
gdb_byte valbuf[v850_reg_size]; 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.6.50.20130731-cvs.orig/gdb/vax-tdep.c 2013-08-02 16:43:01.161676139 +0200
+++ gdb-7.5.50.20130118/gdb/vax-tdep.c 2013-01-18 23:37:12.484307608 +0100 +++ 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 @@ -115,7 +115,7 @@ vax_store_arguments (struct regcache *re
struct gdbarch *gdbarch = get_regcache_arch (regcache); struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); 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; sp -= (len + 3) & ~3;
count += (len + 3) / 4; 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.6.50.20130731-cvs.orig/gdb/xstormy16-tdep.c 2013-08-02 16:43:01.162676141 +0200
+++ gdb-7.5.50.20130118/gdb/xstormy16-tdep.c 2013-01-18 23:37:12.484307608 +0100 +++ 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 @@ -235,8 +235,9 @@ xstormy16_push_dummy_call (struct gdbarc
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR stack_dest = sp; CORE_ADDR stack_dest = sp;
@@ -1242,12 +1242,12 @@ Index: gdb-7.5.50.20130118/gdb/xstormy16-tdep.c
+ LONGEST j; + LONGEST j;
+ LONGEST typelen; + LONGEST typelen;
const gdb_byte *val; 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.6.50.20130731-cvs.orig/gdb/xtensa-tdep.c 2013-08-02 16:43:01.163676142 +0200
+++ gdb-7.5.50.20130118/gdb/xtensa-tdep.c 2013-01-18 23:37:12.484307608 +0100 +++ 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 * @@ -1653,8 +1653,7 @@ xtensa_store_return_value (struct type *
if (len > (callsize > 8 ? 8 : 16)) 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 http://sourceware.org/ml/gdb-cvs/2010-08/msg00026.html
2e5bcfdef1ec3883d48c3f87a4be5c0dff25e17e 2e5bcfdef1ec3883d48c3f87a4be5c0dff25e17e
--- /dev/null Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu
+++ b/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 @@ @@ -0,0 +1,20 @@
+begin 600 x86_64-pid0-core.core.bz2 +begin 600 x86_64-pid0-core.core.bz2
+M0EIH.3%!629362,CA>P!$/'_____^*#EZ-A!SP36P&_:G0#=14``04A&8,'U +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` +4B.Z!/,0-IZ^W_Q=R13A0D",CA>P`
+` +`
+end +end
--- /dev/null Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp
+++ b/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 @@ @@ -0,0 +1,46 @@
+# This testcase is part of GDB, the GNU debugger. +# 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: +# Former crash was:
+# thread.c:884: internal-error: switch_to_thread: Assertion `inf != NULL' failed. +# 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 + /* Sign-extend %eax as during return from a syscall it is being checked
+ for -ERESTART* values -512 being above 0xfffffffffffffe00; tested by + 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 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 Summary: A GNU source-level debugger for C, C++, Fortran and other languages
Name: gdb Name: gdb
%global snap 20130215 %global snap 20130731
# See timestamp of source gnulib installed into gdb/gnulib/ . # See timestamp of source gnulib installed into gdb/gnulib/ .
%global snapgnulib 20121213 %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. # 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. # `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 BuildRoot: %{_tmppath}/%{name}-%{version}-build
# Do not provide URL for snapshots as the file lasts there only for 2 days. # 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 # 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/ URL: http://gnu.org/software/gdb/
%if "%{scl}" == "devtoolset-1.1" %if "%{scl}" == "devtoolset-1.1"
@@ -38,7 +38,7 @@ Obsoletes: devtoolset-1.0-%{pkg_name}
%endif %endif
# For our convenience # For our convenience
%global gdb_src %{name}-%{version} %global gdb_src %{name}-%{version}-cvs
%global gdb_build build-%{_target_platform} %global gdb_build build-%{_target_platform}
%global gdb_docdir %{_docdir}/%{name}-doc %global gdb_docdir %{_docdir}/%{name}-doc
@@ -73,7 +73,7 @@ Source3: gdb-gstack.man
Source4: gdbinit Source4: gdbinit
# libstdc++ pretty printers from GCC SVN HEAD (4.5 experimental). # 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 Source5: %{libstdcxxpython}.tar.bz2
# Provide gdbtui for RHEL-5 and RHEL-6 as it is removed upstream (BZ 797664). # 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 Patch1: gdb-6.3-rh-testversion-20041202.patch
Patch2: gdb-archer.patch Patch2: gdb-archer.patch
Patch3: gdb-6.3-rh-dummykfail-20041202.patch Patch3: gdb-6.3-rh-dummykfail-20041202.patch
Patch4: gdb-6.3-rh-testlibunwind-20041202.patch Patch4: gdb-6.3-ppc64syscall-20040622.patch
Patch5: gdb-6.3-ppc64syscall-20040622.patch Patch5: gdb-6.3-ppc64displaysymbol-20041124.patch
Patch6: gdb-6.3-ppc64displaysymbol-20041124.patch Patch6: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
Patch7: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch Patch7: gdb-6.3-gstack-20050411.patch
Patch8: gdb-6.3-gstack-20050411.patch Patch8: gdb-6.3-test-pie-20050107.patch
Patch9: gdb-6.3-test-pie-20050107.patch Patch9: gdb-6.3-test-self-20050110.patch
Patch10: gdb-6.3-test-self-20050110.patch Patch10: gdb-6.3-test-dtorfix-20050121.patch
Patch11: gdb-6.3-test-dtorfix-20050121.patch Patch11: gdb-6.3-test-movedir-20050125.patch
Patch12: gdb-6.3-test-movedir-20050125.patch Patch12: gdb-6.3-threaded-watchpoints2-20050225.patch
Patch13: gdb-6.3-gcore-thread-20050204.patch Patch13: gdb-6.3-inferior-notification-20050721.patch
Patch14: gdb-6.3-threaded-watchpoints2-20050225.patch Patch14: gdb-6.3-inheritancetest-20050726.patch
Patch15: gdb-6.3-ia64-gcore-page0-20050421.patch Patch15: gdb-6.3-readnever-20050907.patch
Patch16: gdb-6.3-ia64-sigtramp-frame-20050708.patch Patch16: gdb-6.5-bz203661-emit-relocs.patch
Patch17: gdb-6.3-ia64-gcore-speedup-20050714.patch Patch17: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
Patch18: gdb-6.3-inferior-notification-20050721.patch Patch18: gdb-6.5-sharedlibrary-path.patch
Patch19: gdb-6.3-ia64-info-frame-fix-20050725.patch Patch19: gdb-6.5-bz190810-gdbserver-arch-advice.patch
Patch20: gdb-6.3-inheritancetest-20050726.patch Patch20: gdb-6.5-BEA-testsuite.patch
Patch21: gdb-6.3-readnever-20050907.patch Patch21: gdb-6.5-last-address-space-byte-test.patch
Patch22: gdb-6.3-ia64-sigill-20051115.patch Patch22: gdb-6.5-readline-long-line-crash-test.patch
Patch23: gdb-6.5-bz203661-emit-relocs.patch Patch23: gdb-6.5-bz216711-clone-is-outermost.patch
Patch24: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch Patch24: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
Patch25: gdb-6.5-sharedlibrary-path.patch Patch25: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
Patch26: gdb-6.5-bz190810-gdbserver-arch-advice.patch Patch26: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
Patch27: gdb-6.5-BEA-testsuite.patch Patch27: gdb-6.3-bz140532-ppc-unwinding-test.patch
Patch28: gdb-6.5-last-address-space-byte-test.patch Patch28: gdb-6.3-bz202689-exec-from-pthread-test.patch
Patch29: gdb-6.5-readline-long-line-crash-test.patch Patch29: gdb-6.6-bz230000-power6-disassembly-test.patch
Patch30: gdb-6.5-bz216711-clone-is-outermost.patch Patch30: gdb-6.3-bz231832-obstack-2gb.patch
Patch31: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch Patch31: gdb-6.6-bz229517-gcore-without-terminal.patch
Patch32: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch Patch32: gdb-6.6-bz235197-fork-detach-info.patch
Patch33: gdb-6.5-bz109921-DW_AT_decl_file-test.patch Patch33: gdb-6.6-testsuite-timeouts.patch
Patch34: gdb-6.3-bz140532-ppc-unwinding-test.patch Patch34: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
Patch35: gdb-6.3-bz202689-exec-from-pthread-test.patch Patch35: gdb-6.6-scheduler_locking-step-is-default.patch
Patch36: gdb-6.6-bz230000-power6-disassembly-test.patch Patch36: gdb-6.3-attach-see-vdso-test.patch
Patch37: gdb-6.3-bz231832-obstack-2gb.patch Patch37: gdb-6.5-bz243845-stale-testing-zombie-test.patch
Patch38: gdb-6.6-bz229517-gcore-without-terminal.patch Patch38: gdb-6.6-buildid-locate.patch
Patch39: gdb-6.6-bz235197-fork-detach-info.patch Patch39: gdb-6.6-buildid-locate-solib-missing-ids.patch
Patch40: gdb-6.6-testsuite-timeouts.patch Patch40: gdb-6.6-buildid-locate-rpm.patch
Patch41: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch Patch41: gdb-6.6-bfd-vdso8k.patch
Patch42: gdb-6.6-scheduler_locking-step-is-default.patch Patch42: gdb-6.7-charsign-test.patch
Patch43: gdb-6.3-attach-see-vdso-test.patch Patch43: gdb-6.7-ppc-clobbered-registers-O2-test.patch
Patch44: gdb-6.5-bz243845-stale-testing-zombie-test.patch Patch44: gdb-6.7-testsuite-stable-results.patch
Patch45: gdb-6.6-buildid-locate.patch Patch45: gdb-6.5-ia64-libunwind-leak-test.patch
Patch46: gdb-6.6-buildid-locate-solib-missing-ids.patch Patch46: gdb-6.5-missed-trap-on-step-test.patch
Patch47: gdb-6.6-buildid-locate-rpm.patch Patch47: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
Patch48: gdb-6.6-bfd-vdso8k.patch Patch48: gdb-6.5-gcore-buffer-limit-test.patch
Patch49: gdb-6.7-charsign-test.patch Patch49: gdb-6.6-threads-static-test.patch
Patch50: gdb-6.7-ppc-clobbered-registers-O2-test.patch Patch50: gdb-6.3-mapping-zero-inode-test.patch
Patch51: gdb-6.7-testsuite-stable-results.patch Patch51: gdb-6.3-focus-cmd-prev-test.patch
Patch52: gdb-6.5-ia64-libunwind-leak-test.patch Patch52: gdb-6.8-bz442765-threaded-exec-test.patch
Patch53: gdb-6.5-missed-trap-on-step-test.patch Patch53: gdb-6.8-sparc64-silence-memcpy-check.patch
Patch54: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch Patch54: gdb-6.5-section-num-fixup-test.patch
Patch55: gdb-6.5-gcore-buffer-limit-test.patch Patch55: gdb-6.8-bz436037-reg-no-longer-active.patch
Patch56: gdb-6.6-threads-static-test.patch Patch56: gdb-6.8-watchpoint-conditionals-test.patch
Patch57: gdb-6.3-mapping-zero-inode-test.patch Patch57: gdb-6.8-bz466901-backtrace-full-prelinked.patch
Patch58: gdb-6.3-focus-cmd-prev-test.patch Patch58: gdb-6.8-bz457187-largefile-test.patch
Patch59: gdb-6.8-bz442765-threaded-exec-test.patch Patch59: gdb-simultaneous-step-resume-breakpoint-test.patch
Patch60: gdb-6.8-sparc64-silence-memcpy-check.patch Patch60: gdb-core-open-vdso-warning.patch
Patch61: gdb-6.5-section-num-fixup-test.patch Patch61: gdb-x86_64-i386-syscall-restart.patch
Patch62: gdb-6.8-bz436037-reg-no-longer-active.patch Patch62: gdb-bz533176-fortran-omp-step.patch
Patch63: gdb-6.8-watchpoint-conditionals-test.patch Patch63: gdb-follow-child-stale-parent.patch
Patch64: gdb-6.8-bz466901-backtrace-full-prelinked.patch Patch64: gdb-ccache-workaround.patch
Patch65: gdb-6.8-bz457187-largefile-test.patch Patch65: gdb-archer-pie-addons.patch
Patch66: gdb-simultaneous-step-resume-breakpoint-test.patch Patch66: gdb-archer-pie-addons-keep-disabled.patch
Patch67: gdb-core-open-vdso-warning.patch Patch67: gdb-lineno-makeup-test.patch
Patch68: gdb-x86_64-i386-syscall-restart.patch Patch68: gdb-ppc-power7-test.patch
Patch69: gdb-bz533176-fortran-omp-step.patch Patch69: gdb-bz541866-rwatch-before-run.patch
Patch70: gdb-follow-child-stale-parent.patch Patch70: gdb-moribund-utrace-workaround.patch
Patch71: gdb-ccache-workaround.patch Patch71: gdb-archer-next-over-throw-cxx-exec.patch
Patch72: gdb-archer-pie-addons.patch Patch72: gdb-bz601887-dwarf4-rh-test.patch
Patch73: gdb-archer-pie-addons-keep-disabled.patch Patch73: gdb-6.6-buildid-locate-core-as-arg.patch
Patch74: gdb-lineno-makeup-test.patch Patch74: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
Patch75: gdb-ppc-power7-test.patch Patch75: gdb-test-bt-cfi-without-die.patch
Patch76: gdb-bz541866-rwatch-before-run.patch Patch76: gdb-gdb-add-index-script.patch
Patch77: gdb-moribund-utrace-workaround.patch Patch77: gdb-bz568248-oom-is-error.patch
Patch78: gdb-archer-next-over-throw-cxx-exec.patch Patch78: gdb-bz634108-solib_address.patch
Patch79: gdb-bz601887-dwarf4-rh-test.patch Patch79: gdb-test-pid0-core.patch
Patch80: gdb-6.6-buildid-locate-core-as-arg.patch Patch80: gdb-test-dw2-aranges.patch
Patch81: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch Patch81: gdb-test-expr-cumulative-archer.patch
Patch82: gdb-test-bt-cfi-without-die.patch Patch82: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
Patch83: gdb-gdb-add-index-script.patch Patch83: gdb-glibc-vdso-workaround.patch
Patch84: gdb-bz568248-oom-is-error.patch Patch84: gdb-runtest-pie-override.patch
Patch85: gdb-bz634108-solib_address.patch Patch85: gdb-attach-fail-reasons-5of5.patch
Patch86: gdb-test-pid0-core.patch Patch86: gdb-stale-frame_info.patch
Patch87: gdb-test-dw2-aranges.patch Patch87: gdb-glibc-strstr-workaround.patch
Patch88: gdb-test-expr-cumulative-archer.patch Patch88: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
Patch89: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch Patch89: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
Patch90: gdb-dlopen-stap-probe-3of7.patch Patch90: gdb-rhbz795424-bitpos-20of25.patch
Patch91: gdb-dlopen-stap-probe-4of7.patch Patch91: gdb-rhbz795424-bitpos-21of25.patch
Patch92: gdb-dlopen-stap-probe-5of7.patch Patch92: gdb-rhbz795424-bitpos-22of25.patch
Patch93: gdb-dlopen-stap-probe-6of7.patch Patch93: gdb-rhbz795424-bitpos-23of25.patch
Patch94: gdb-dlopen-stap-probe-7of7.patch Patch94: gdb-rhbz795424-bitpos-25of25.patch
Patch95: gdb-dlopen-stap-probe-test2.patch Patch95: gdb-rhbz795424-bitpos-25of25-test.patch
Patch96: gdb-dlopen-stap-probe-mapfailed.patch Patch96: gdb-rhbz795424-bitpos-lazyvalue.patch
Patch97: gdb-dlopen-stap-probe-test.patch Patch97: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
Patch98: gdb-glibc-vdso-workaround.patch Patch98: gdb-enable-count-crash.patch
Patch99: gdb-runtest-pie-override.patch Patch99: gdb-rhel5-gcc44.patch
Patch100: gdb-python-rdynamic.patch Patch100: gdb-6.6-buildid-locate-rpm-scl.patch
Patch101: gdb-attach-fail-reasons-5of5.patch Patch101: gdb-readline62-ask-more-rh.patch
Patch102: gdb-attach-fail-reasons-5of5configure.patch Patch102: gdb-6.8-attach-signalled-detach-stopped.patch
Patch103: gdb-stale-frame_info.patch Patch103: gdb-6.8-quit-never-aborts.patch
Patch104: gdb-glibc-strstr-workaround.patch Patch104: gdb-rhel5-compat.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
#Fedora Packages end #Fedora Packages end
# Upstream patch to fix gcc -Werror # Upstream patch to fix gcc -Werror
Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch
Patch1003: gdb-ppc-ptrace.diff
Patch1004: gdb-ia64-tdep.patch Patch1004: gdb-ia64-tdep.patch
Patch1005: gdb-aarch64-hw-break.patch
BuildRequires: ncurses-devel texinfo gettext flex bison glibc-devel zlib-devel BuildRequires: ncurses-devel texinfo gettext flex bison glibc-devel zlib-devel
%if %{suse_version} < 1020 %if %{suse_version} < 1020
@@ -423,32 +409,20 @@ find -name "*.info*"|xargs rm -f
%patch97 -p1 %patch97 -p1
%patch98 -p1 %patch98 -p1
%patch99 -p1 %patch99 -p1
%patch100 -p1 #%%patch100 -p1
%patch101 -p1 #%%patch100 -p1 -R
#%%patch101 -p1
#%%patch101 -p1 -R
%patch102 -p1 %patch102 -p1
%patch103 -p1 %patch103 -p1
%patch104 -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 #Fedora patching end
%patch1002 -p1 %patch1002 -p1
%patch1003 -p1
%patch1004 -p1 %patch1004 -p1
%patch1005 -p0
find -name "*.orig" | xargs rm -f find -name "*.orig" | xargs rm -f
! find -name "*.rej" # Should not happen. ! find -name "*.rej" # Should not happen.
@@ -722,10 +696,6 @@ cd %{gdb_build}
make %{?_smp_mflags} install DESTDIR=$RPM_BUILD_ROOT 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). # Provide gdbtui for RHEL-5 and RHEL-6 as it is removed upstream (BZ 797664).
%if 0%{?rhel:1} && 0%{?rhel} <= 6 %if 0%{?rhel:1} && 0%{?rhel} <= 6
test ! -e $RPM_BUILD_ROOT%{_prefix}/bin/gdbtui test ! -e $RPM_BUILD_ROOT%{_prefix}/bin/gdbtui
@@ -860,6 +830,7 @@ fi
%defattr(-,root,root) %defattr(-,root,root)
%doc COPYING3 COPYING COPYING.LIB README NEWS %doc COPYING3 COPYING COPYING.LIB README NEWS
%{_bindir}/gcore %{_bindir}/gcore
%{_mandir}/*/gcore.1*
%{_bindir}/gdb %{_bindir}/gdb
%config(noreplace) %{_sysconfdir}/gdbinit %config(noreplace) %{_sysconfdir}/gdbinit
%{_sysconfdir}/gdbinit.d %{_sysconfdir}/gdbinit.d
@@ -872,6 +843,8 @@ fi
%{_mandir}/*/gdbtui.1* %{_mandir}/*/gdbtui.1*
%endif # 0%{?rhel:1} && 0%{?rhel} <= 6 %endif # 0%{?rhel:1} && 0%{?rhel} <= 6
%{_bindir}/gdb-add-index %{_bindir}/gdb-add-index
%{_mandir}/*/gdb-add-index.1*
%{_mandir}/*/gdbinit.5*
%{_datadir}/gdb %{_datadir}/gdb
%{_infodir}/annotate.info* %{_infodir}/annotate.info*
%{_infodir}/gdb.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 \$(grep \"^Patch[0-9]\\{1,3\\}:\" gdb.spec | cut -d\" \" -f 2) 2>/dev/null";
system "rm *.tar.bz2"; system "rm *.tar.bz2";
system "cp $gdbFedora/*.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"; system "grep \"^Patch\" test.txt > test2.txt";
my @patchliste = `cat test2.txt`; my @patchliste = `cat test2.txt`;