- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090910
- archer-jankratochvil-fedora12 commit: 941eb487a42933e442cb4d11344cda96ecb8a04d - [next-over-throw] Fix exceptions thrown during next (Tom Tromey). - [bp_location-accel] Do not (much) slow down on 500+ breakpoints (me).
This commit is contained in:
parent
2164cdaf2a
commit
806f8c893c
@ -1 +1 @@
|
||||
gdb-6.8.50.20090818.tar.bz2
|
||||
gdb-6.8.50.20090910.tar.bz2
|
||||
|
@ -25,10 +25,10 @@
|
||||
|
||||
Port to GDB-6.7.
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/symfile-mem.c
|
||||
Index: gdb-6.8.50.20090909/gdb/symfile-mem.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/symfile-mem.c 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/symfile-mem.c 2009-08-03 16:03:17.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/symfile-mem.c 2009-07-02 19:21:06.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/symfile-mem.c 2009-09-09 19:06:57.000000000 +0200
|
||||
@@ -56,6 +56,14 @@
|
||||
#include "elf/common.h"
|
||||
|
||||
@ -53,10 +53,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile-mem.c
|
||||
if (nbfd == NULL)
|
||||
error (_("Failed to read a valid object file image from memory."));
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
Index: gdb-6.8.50.20090909/gdb/target.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/target.c 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/target.c 2009-08-03 16:03:17.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/target.c 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/target.c 2009-09-09 19:08:11.000000000 +0200
|
||||
@@ -59,7 +59,7 @@ static int nosymbol (char *, CORE_ADDR *
|
||||
|
||||
static void tcomplain (void) ATTR_NORETURN;
|
||||
@ -66,7 +66,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
|
||||
static int return_zero (void);
|
||||
|
||||
@@ -452,7 +452,7 @@ target_terminal_inferior (void)
|
||||
@@ -492,7 +492,7 @@ target_terminal_inferior (void)
|
||||
(*current_target.to_terminal_inferior) ();
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
nomemory (CORE_ADDR memaddr, char *myaddr, int len, int write,
|
||||
struct target_ops *t)
|
||||
{
|
||||
@@ -670,7 +670,7 @@ update_current_target (void)
|
||||
@@ -711,7 +711,7 @@ update_current_target (void)
|
||||
(void (*) (struct regcache *))
|
||||
noprocess);
|
||||
de_fault (deprecated_xfer_memory,
|
||||
@ -84,7 +84,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
nomemory);
|
||||
de_fault (to_files_info,
|
||||
(void (*) (struct target_ops *))
|
||||
@@ -1381,7 +1381,7 @@ target_xfer_partial (struct target_ops *
|
||||
@@ -1443,7 +1443,7 @@ target_xfer_partial (struct target_ops *
|
||||
it makes no progress, and then return how much was transferred). */
|
||||
|
||||
int
|
||||
@ -93,7 +93,16 @@ Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
{
|
||||
/* Dispatch to the topmost target, not the flattened current_target.
|
||||
Memory accesses check target->to_has_(all_)memory, and the
|
||||
@@ -1394,7 +1394,7 @@ target_read_memory (CORE_ADDR memaddr, g
|
||||
@@ -1459,7 +1459,7 @@ target_read_memory (CORE_ADDR memaddr, g
|
||||
the target's stack. This may trigger different cache behavior. */
|
||||
|
||||
int
|
||||
-target_read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, int len)
|
||||
+target_read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, LONGEST len)
|
||||
{
|
||||
/* Dispatch to the topmost target, not the flattened current_target.
|
||||
Memory accesses check target->to_has_(all_)memory, and the
|
||||
@@ -1473,7 +1473,7 @@ target_read_stack (CORE_ADDR memaddr, gd
|
||||
}
|
||||
|
||||
int
|
||||
@ -102,7 +111,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
{
|
||||
/* Dispatch to the topmost target, not the flattened current_target.
|
||||
Memory accesses check target->to_has_(all_)memory, and the
|
||||
@@ -2861,8 +2861,8 @@ debug_to_prepare_to_store (struct regcac
|
||||
@@ -2964,8 +2964,8 @@ debug_to_prepare_to_store (struct regcac
|
||||
fprintf_unfiltered (gdb_stdlog, "target_prepare_to_store ()\n");
|
||||
}
|
||||
|
||||
@ -113,7 +122,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
int write, struct mem_attrib *attrib,
|
||||
struct target_ops *target)
|
||||
{
|
||||
@@ -2872,8 +2872,8 @@ deprecated_debug_xfer_memory (CORE_ADDR
|
||||
@@ -2975,8 +2975,8 @@ deprecated_debug_xfer_memory (CORE_ADDR
|
||||
attrib, target);
|
||||
|
||||
fprintf_unfiltered (gdb_stdlog,
|
||||
@ -124,11 +133,11 @@ Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
write ? "write" : "read", retval);
|
||||
|
||||
if (retval > 0)
|
||||
Index: gdb-6.8.50.20090803/gdb/target.h
|
||||
Index: gdb-6.8.50.20090909/gdb/target.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/target.h 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/target.h 2009-08-03 16:03:17.000000000 +0200
|
||||
@@ -363,10 +363,10 @@ struct target_ops
|
||||
--- gdb-6.8.50.20090909.orig/gdb/target.h 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/target.h 2009-09-09 19:07:36.000000000 +0200
|
||||
@@ -366,10 +366,10 @@ struct target_ops
|
||||
NOTE: cagney/2004-10-01: This has been entirely superseeded by
|
||||
to_xfer_partial and inferior inheritance. */
|
||||
|
||||
@ -143,53 +152,58 @@ Index: gdb-6.8.50.20090803/gdb/target.h
|
||||
|
||||
void (*to_files_info) (struct target_ops *);
|
||||
int (*to_insert_breakpoint) (struct gdbarch *, struct bp_target_info *);
|
||||
@@ -675,10 +675,10 @@ extern DCACHE *target_dcache;
|
||||
@@ -680,12 +680,12 @@ extern void target_dcache_invalidate (vo
|
||||
|
||||
extern int target_read_string (CORE_ADDR, char **, int, int *);
|
||||
|
||||
-extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len);
|
||||
+extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, LONGEST len);
|
||||
|
||||
-extern int target_read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, int len);
|
||||
+extern int target_read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, LONGEST len);
|
||||
|
||||
extern int target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
|
||||
- int len);
|
||||
+ LONGEST len);
|
||||
|
||||
/* Fetches the target's memory map. If one is found it is sorted
|
||||
and returned, after some consistency checking. Otherwise, NULL
|
||||
Index: gdb-6.8.50.20090803/gdb/dcache.c
|
||||
Index: gdb-6.8.50.20090909/gdb/dcache.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/dcache.c 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/dcache.c 2009-08-03 16:03:17.000000000 +0200
|
||||
@@ -524,9 +524,9 @@ dcache_free (DCACHE *dcache)
|
||||
--- gdb-6.8.50.20090909.orig/gdb/dcache.c 2009-08-31 22:18:45.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/dcache.c 2009-09-09 19:09:21.000000000 +0200
|
||||
@@ -390,10 +390,10 @@ dcache_free (DCACHE *dcache)
|
||||
|
||||
This routine is indended to be called by remote_xfer_ functions. */
|
||||
The meaning of the result is the same as for target_write. */
|
||||
|
||||
-int
|
||||
+LONGEST
|
||||
dcache_xfer_memory (DCACHE *dcache, CORE_ADDR memaddr, gdb_byte *myaddr,
|
||||
dcache_xfer_memory (struct target_ops *ops, DCACHE *dcache,
|
||||
CORE_ADDR memaddr, gdb_byte *myaddr,
|
||||
- int len, int should_write)
|
||||
+ LONGEST len, int should_write)
|
||||
{
|
||||
int i;
|
||||
int (*xfunc) (DCACHE *dcache, CORE_ADDR addr, gdb_byte *ptr);
|
||||
Index: gdb-6.8.50.20090803/gdb/dcache.h
|
||||
int res;
|
||||
Index: gdb-6.8.50.20090909/gdb/dcache.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/dcache.h 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/dcache.h 2009-08-03 16:03:17.000000000 +0200
|
||||
@@ -35,7 +35,7 @@ void dcache_free (DCACHE *);
|
||||
--- gdb-6.8.50.20090909.orig/gdb/dcache.h 2009-08-31 22:18:45.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/dcache.h 2009-09-09 19:08:54.000000000 +0200
|
||||
@@ -35,8 +35,8 @@ void dcache_free (DCACHE *);
|
||||
|
||||
/* Simple to call from <remote>_xfer_memory */
|
||||
|
||||
-int dcache_xfer_memory (DCACHE *cache, CORE_ADDR mem, gdb_byte *my,
|
||||
- int len, int should_write);
|
||||
+LONGEST dcache_xfer_memory (DCACHE *cache, CORE_ADDR mem, gdb_byte *my,
|
||||
+ LONGEST len, int should_write);
|
||||
-int dcache_xfer_memory (struct target_ops *ops, DCACHE *cache, CORE_ADDR mem,
|
||||
- gdb_byte *my, int len, int should_write);
|
||||
+LONGEST dcache_xfer_memory (struct target_ops *ops, DCACHE *cache, CORE_ADDR mem,
|
||||
+ gdb_byte *my, LONGEST len, int should_write);
|
||||
|
||||
#endif /* DCACHE_H */
|
||||
Index: gdb-6.8.50.20090803/gdb/exec.c
|
||||
void dcache_update (DCACHE *dcache, CORE_ADDR memaddr, gdb_byte *myaddr,
|
||||
int len);
|
||||
Index: gdb-6.8.50.20090909/gdb/exec.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/exec.c 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/exec.c 2009-08-03 16:03:17.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/exec.c 2009-07-02 19:21:06.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/exec.c 2009-09-09 19:06:57.000000000 +0200
|
||||
@@ -560,7 +560,7 @@ map_vmap (bfd *abfd, bfd *arch)
|
||||
}
|
||||
|
||||
@ -199,11 +213,11 @@ Index: gdb-6.8.50.20090803/gdb/exec.c
|
||||
section_table_xfer_memory_partial (gdb_byte *readbuf, const gdb_byte *writebuf,
|
||||
ULONGEST offset, LONGEST len,
|
||||
struct target_section *sections,
|
||||
Index: gdb-6.8.50.20090803/gdb/linux-nat.c
|
||||
Index: gdb-6.8.50.20090909/gdb/linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/linux-nat.c 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/linux-nat.c 2009-08-03 16:03:17.000000000 +0200
|
||||
@@ -4516,7 +4516,7 @@ linux_xfer_partial (struct target_ops *o
|
||||
--- gdb-6.8.50.20090909.orig/gdb/linux-nat.c 2009-09-09 19:06:46.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/linux-nat.c 2009-09-09 19:06:57.000000000 +0200
|
||||
@@ -4622,7 +4622,7 @@ linux_xfer_partial (struct target_ops *o
|
||||
#endif
|
||||
if (iterate_over_lwps (ia64_linux_check_stack_region, &range) != NULL)
|
||||
{ /* This region contains ia64 rse registers, we have to re-read. */
|
||||
@ -212,10 +226,10 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
|
||||
|
||||
/* Re-read register stack area. */
|
||||
xxfer = super_xfer_partial (ops, object, annex,
|
||||
Index: gdb-6.8.50.20090803/gdb/remote.c
|
||||
Index: gdb-6.8.50.20090909/gdb/remote.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/remote.c 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/remote.c 2009-08-03 16:03:17.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/remote.c 2009-08-18 18:17:16.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/remote.c 2009-09-09 19:06:57.000000000 +0200
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "gdb_string.h"
|
||||
#include <ctype.h>
|
||||
@ -224,7 +238,7 @@ Index: gdb-6.8.50.20090803/gdb/remote.c
|
||||
#include "inferior.h"
|
||||
#include "bfd.h"
|
||||
#include "symfile.h"
|
||||
@@ -5785,12 +5786,19 @@ handle_notification (char *buf, size_t l
|
||||
@@ -5764,12 +5765,19 @@ handle_notification (char *buf, size_t l
|
||||
if SHOULD_WRITE is nonzero. Returns length of data written or
|
||||
read; 0 for error. TARGET is unused. */
|
||||
|
||||
@ -246,7 +260,7 @@ Index: gdb-6.8.50.20090803/gdb/remote.c
|
||||
|
||||
set_general_thread (inferior_ptid);
|
||||
|
||||
@@ -5799,7 +5807,7 @@ remote_xfer_memory (CORE_ADDR mem_addr,
|
||||
@@ -5778,7 +5786,7 @@ remote_xfer_memory (CORE_ADDR mem_addr,
|
||||
else
|
||||
res = remote_read_bytes (mem_addr, buffer, mem_len);
|
||||
|
||||
@ -255,10 +269,10 @@ Index: gdb-6.8.50.20090803/gdb/remote.c
|
||||
}
|
||||
|
||||
/* Sends a packet with content determined by the printf format string
|
||||
Index: gdb-6.8.50.20090803/gdb/remote-sim.c
|
||||
Index: gdb-6.8.50.20090909/gdb/remote-sim.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/remote-sim.c 2009-08-03 16:03:00.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/remote-sim.c 2009-08-03 16:03:17.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/remote-sim.c 2009-07-02 19:21:06.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/remote-sim.c 2009-09-09 19:06:57.000000000 +0200
|
||||
@@ -752,11 +752,14 @@ gdbsim_prepare_to_store (struct regcache
|
||||
|
||||
Returns the number of bytes transferred. */
|
||||
@ -276,10 +290,10 @@ Index: gdb-6.8.50.20090803/gdb/remote-sim.c
|
||||
/* If no program is running yet, then ignore the simulator for
|
||||
memory. Pass the request down to the next target, hopefully
|
||||
an exec file. */
|
||||
Index: gdb-6.8.50.20090803/gdb/exec.h
|
||||
Index: gdb-6.8.50.20090909/gdb/exec.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/exec.h 2009-06-12 20:38:36.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/exec.h 2009-08-03 16:03:57.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/exec.h 2009-06-12 20:38:36.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/exec.h 2009-09-09 19:06:57.000000000 +0200
|
||||
@@ -56,7 +56,7 @@ extern int resize_section_table (struct
|
||||
|
||||
One, and only one, of readbuf or writebuf must be non-NULL. */
|
||||
|
@ -26,10 +26,10 @@
|
||||
|
||||
Fix scan_dyntag() for binaries provided by valgrind (BZ 460319).
|
||||
|
||||
Index: gdb-6.8.50.20090811/gdb/amd64-tdep.c
|
||||
Index: gdb-6.8.50.20090909/gdb/amd64-tdep.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/amd64-tdep.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/amd64-tdep.c 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/amd64-tdep.c 2009-09-09 19:09:31.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/amd64-tdep.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "regcache.h"
|
||||
#include "regset.h"
|
||||
@ -138,10 +138,10 @@ Index: gdb-6.8.50.20090811/gdb/amd64-tdep.c
|
||||
return pc;
|
||||
}
|
||||
|
||||
Index: gdb-6.8.50.20090811/gdb/auxv.c
|
||||
Index: gdb-6.8.50.20090909/gdb/auxv.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/auxv.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/auxv.c 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/auxv.c 2009-07-02 19:25:52.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/auxv.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -78,7 +78,7 @@ procfs_xfer_auxv (struct target_ops *ops
|
||||
Return 1 if an entry was read into *TYPEP and *VALP. */
|
||||
static int
|
||||
@ -230,10 +230,10 @@ Index: gdb-6.8.50.20090811/gdb/auxv.c
|
||||
break;
|
||||
}
|
||||
|
||||
Index: gdb-6.8.50.20090811/gdb/auxv.h
|
||||
Index: gdb-6.8.50.20090909/gdb/auxv.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/auxv.h 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/auxv.h 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/auxv.h 2009-06-07 21:07:08.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/auxv.h 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -31,14 +31,14 @@
|
||||
Return 1 if an entry was read into *TYPEP and *VALP. */
|
||||
extern int target_auxv_parse (struct target_ops *ops,
|
||||
@ -251,11 +251,11 @@ Index: gdb-6.8.50.20090811/gdb/auxv.h
|
||||
|
||||
/* Print the contents of the target's AUXV on the specified file. */
|
||||
extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops);
|
||||
Index: gdb-6.8.50.20090811/gdb/dwarf2read.c
|
||||
Index: gdb-6.8.50.20090909/gdb/dwarf2read.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/dwarf2read.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/dwarf2read.c 2009-08-12 06:18:15.000000000 +0200
|
||||
@@ -1653,7 +1653,7 @@ dwarf2_build_psymtabs (struct objfile *o
|
||||
--- gdb-6.8.50.20090909.orig/gdb/dwarf2read.c 2009-09-09 19:21:23.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/dwarf2read.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -1719,7 +1719,7 @@ dwarf2_build_psymtabs (struct objfile *o
|
||||
dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame);
|
||||
dwarf2_read_section (objfile, &dwarf2_per_objfile->frame);
|
||||
|
||||
@ -264,10 +264,10 @@ Index: gdb-6.8.50.20090811/gdb/dwarf2read.c
|
||||
|| (objfile->global_psymbols.size == 0
|
||||
&& objfile->static_psymbols.size == 0))
|
||||
{
|
||||
Index: gdb-6.8.50.20090811/gdb/elfread.c
|
||||
Index: gdb-6.8.50.20090909/gdb/elfread.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/elfread.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/elfread.c 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/elfread.c 2009-09-09 19:05:55.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/elfread.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -681,7 +681,7 @@ elf_symfile_read (struct objfile *objfil
|
||||
/* If we are reinitializing, or if we have never loaded syms yet,
|
||||
set table to empty. MAINLINE is cleared so that *_read_psymtab
|
||||
@ -277,11 +277,11 @@ Index: gdb-6.8.50.20090811/gdb/elfread.c
|
||||
{
|
||||
init_psymbol_list (objfile, 0);
|
||||
mainline = 0;
|
||||
Index: gdb-6.8.50.20090811/gdb/infrun.c
|
||||
Index: gdb-6.8.50.20090909/gdb/infrun.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/infrun.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/infrun.c 2009-08-12 06:18:15.000000000 +0200
|
||||
@@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
|
||||
--- gdb-6.8.50.20090909.orig/gdb/infrun.c 2009-09-09 19:09:31.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/infrun.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -3602,6 +3602,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
|
||||
#endif
|
||||
target_terminal_inferior ();
|
||||
|
||||
@ -292,10 +292,10 @@ Index: gdb-6.8.50.20090811/gdb/infrun.c
|
||||
/* If requested, stop when the dynamic linker notifies
|
||||
gdb of events. This allows the user to get control
|
||||
and place breakpoints in initializer routines for
|
||||
Index: gdb-6.8.50.20090811/gdb/objfiles.c
|
||||
Index: gdb-6.8.50.20090909/gdb/objfiles.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/objfiles.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/objfiles.c 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/objfiles.c 2009-09-09 19:23:05.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/objfiles.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -51,6 +51,9 @@
|
||||
#include "arch-utils.h"
|
||||
#include "exec.h"
|
||||
@ -334,10 +334,10 @@ Index: gdb-6.8.50.20090811/gdb/objfiles.c
|
||||
/* Before the symbol table code was redone to make it easier to
|
||||
selectively load and remove information particular to a specific
|
||||
linkage unit, gdb used to do these things whenever the monolithic
|
||||
Index: gdb-6.8.50.20090811/gdb/solib-svr4.c
|
||||
Index: gdb-6.8.50.20090909/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/solib-svr4.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/solib-svr4.c 2009-08-12 06:36:58.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/solib-svr4.c 2009-09-09 19:09:35.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/solib-svr4.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "exec.h"
|
||||
#include "auxv.h"
|
||||
@ -1000,11 +1000,11 @@ Index: gdb-6.8.50.20090811/gdb/solib-svr4.c
|
||||
+ add_info ("linkmap", info_linkmap_command,
|
||||
+ "Display the inferior's linkmap.");
|
||||
}
|
||||
Index: gdb-6.8.50.20090811/gdb/solib.c
|
||||
Index: gdb-6.8.50.20090909/gdb/solib.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/solib.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/solib.c 2009-08-12 06:18:15.000000000 +0200
|
||||
@@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch,
|
||||
--- gdb-6.8.50.20090909.orig/gdb/solib.c 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/solib.c 2009-09-09 19:25:18.000000000 +0200
|
||||
@@ -82,6 +82,8 @@ set_solib_ops (struct gdbarch *gdbarch,
|
||||
|
||||
/* external data declarations */
|
||||
|
||||
@ -1013,7 +1013,7 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
|
||||
/* FIXME: gdbarch needs to control this variable, or else every
|
||||
configuration needs to call set_solib_ops. */
|
||||
struct target_so_ops *current_target_so_ops;
|
||||
@@ -104,6 +106,8 @@ The search path for loading non-absolute
|
||||
@@ -105,6 +107,8 @@ The search path for loading non-absolute
|
||||
value);
|
||||
}
|
||||
|
||||
@ -1060,10 +1060,10 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
|
||||
+ else
|
||||
+ so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
|
||||
+
|
||||
p_refcount = xmalloc (sizeof (*p_refcount));
|
||||
*p_refcount = 2; /* Both solib and objfile refer to this abfd. */
|
||||
bfd_usrdata (so->abfd) = p_refcount;
|
||||
@@ -600,6 +628,10 @@ update_solib_list (int from_tty, struct
|
||||
free_section_addr_info (sap);
|
||||
|
||||
return;
|
||||
@@ -596,6 +624,10 @@ update_solib_list (int from_tty, struct
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1074,7 +1074,7 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
|
||||
if (! strcmp (gdb->so_original_name, i->so_original_name))
|
||||
break;
|
||||
}
|
||||
@@ -654,18 +686,7 @@ update_solib_list (int from_tty, struct
|
||||
@@ -650,18 +682,7 @@ update_solib_list (int from_tty, struct
|
||||
/* Fill in the rest of each of the `struct so_list' nodes. */
|
||||
for (i = inferior; i; i = i->next)
|
||||
{
|
||||
@ -1094,7 +1094,7 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
|
||||
|
||||
/* Notify any observer that the shared object has been
|
||||
loaded now that we've added it to GDB's tables. */
|
||||
@@ -775,6 +796,32 @@ solib_add (char *pattern, int from_tty,
|
||||
@@ -771,6 +792,32 @@ solib_add (char *pattern, int from_tty,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1127,7 +1127,7 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
|
||||
|
||||
/*
|
||||
|
||||
@@ -1128,4 +1175,12 @@ This takes precedence over the environme
|
||||
@@ -1189,4 +1236,12 @@ This takes precedence over the environme
|
||||
reload_shared_libraries,
|
||||
show_solib_search_path,
|
||||
&setlist, &showlist);
|
||||
@ -1140,10 +1140,10 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
|
||||
+ NULL, NULL,
|
||||
+ &setdebuglist, &showdebuglist);
|
||||
}
|
||||
Index: gdb-6.8.50.20090811/gdb/solist.h
|
||||
Index: gdb-6.8.50.20090909/gdb/solist.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/solist.h 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/solist.h 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/solist.h 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/solist.h 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -61,6 +61,8 @@ struct so_list
|
||||
bfd *abfd;
|
||||
char symbols_loaded; /* flag: symbols read in yet? */
|
||||
@ -1164,10 +1164,10 @@ Index: gdb-6.8.50.20090811/gdb/solist.h
|
||||
+extern int debug_solib;
|
||||
+
|
||||
#endif
|
||||
Index: gdb-6.8.50.20090811/gdb/symfile-mem.c
|
||||
Index: gdb-6.8.50.20090909/gdb/symfile-mem.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/symfile-mem.c 2009-08-12 06:13:20.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/symfile-mem.c 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/symfile-mem.c 2009-09-09 19:06:57.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/symfile-mem.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -115,7 +115,7 @@ symbol_file_add_from_memory (struct bfd
|
||||
++i;
|
||||
}
|
||||
@ -1177,10 +1177,10 @@ Index: gdb-6.8.50.20090811/gdb/symfile-mem.c
|
||||
sai, OBJF_SHARED);
|
||||
|
||||
/* This might change our ideas about frames already looked at. */
|
||||
Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
Index: gdb-6.8.50.20090909/gdb/symfile.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/symfile.c 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/symfile.c 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/symfile.c 2009-09-09 19:15:43.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/symfile.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -49,6 +49,7 @@
|
||||
#include "readline/readline.h"
|
||||
#include "gdb_assert.h"
|
||||
@ -1189,7 +1189,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
#include "observer.h"
|
||||
#include "exec.h"
|
||||
#include "parser-defs.h"
|
||||
@@ -786,7 +787,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
@@ -779,7 +780,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
|
||||
/* Now either addrs or offsets is non-zero. */
|
||||
|
||||
@ -1198,7 +1198,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
{
|
||||
/* We will modify the main symbol table, make sure that all its users
|
||||
will be cleaned up if an error occurs during symbol reading. */
|
||||
@@ -814,7 +815,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
@@ -807,7 +808,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
|
||||
We no longer warn if the lowest section is not a text segment (as
|
||||
happens for the PA64 port. */
|
||||
@ -1207,7 +1207,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
{
|
||||
asection *lower_sect;
|
||||
asection *sect;
|
||||
@@ -897,7 +898,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
@@ -890,7 +891,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
init_objfile_sect_indices (objfile);
|
||||
}
|
||||
|
||||
@ -1216,7 +1216,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
|
||||
/* Discard cleanups as symbol reading was successful. */
|
||||
|
||||
@@ -916,17 +917,22 @@ new_symfile_objfile (struct objfile *obj
|
||||
@@ -909,17 +910,22 @@ new_symfile_objfile (struct objfile *obj
|
||||
/* If this is the main symbol file we have to clean up all users of the
|
||||
old main symbol file. Otherwise it is sufficient to fixup all the
|
||||
breakpoints that may have been redefined by this symbol file. */
|
||||
@ -1241,7 +1241,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
|
||||
/* We're done reading the symbol file; finish off complaints. */
|
||||
clear_complaints (&symfile_complaints, 0, add_flags & SYMFILE_VERBOSE);
|
||||
@@ -980,7 +986,7 @@ symbol_file_add_with_addrs_or_offsets (b
|
||||
@@ -973,7 +979,7 @@ symbol_file_add_with_addrs_or_offsets (b
|
||||
/* Give user a chance to burp if we'd be
|
||||
interactively wiping out any existing symbols. */
|
||||
|
||||
@ -1250,7 +1250,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
&& (have_full_symbols () || have_partial_symbols ())
|
||||
&& from_tty
|
||||
&& (have_full_symbols () || have_partial_symbols ())
|
||||
@@ -1181,6 +1187,9 @@ symbol_file_clear (int from_tty)
|
||||
@@ -1162,6 +1168,9 @@ symbol_file_clear (int from_tty)
|
||||
symfile_objfile->name)
|
||||
: !query (_("Discard symbol table? "))))
|
||||
error (_("Not confirmed."));
|
||||
@ -1260,7 +1260,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
|
||||
free_all_objfiles ();
|
||||
|
||||
@@ -3385,6 +3394,8 @@ reread_symbols (void)
|
||||
@@ -3369,6 +3378,8 @@ reread_symbols (void)
|
||||
/* Discard cleanups as symbol reading was successful. */
|
||||
discard_cleanups (old_cleanups);
|
||||
|
||||
@ -1269,11 +1269,11 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
|
||||
/* If the mtime has changed between the time we set new_modtime
|
||||
and now, we *want* this to be out of date, so don't call stat
|
||||
again now. */
|
||||
Index: gdb-6.8.50.20090811/gdb/target.h
|
||||
Index: gdb-6.8.50.20090909/gdb/target.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/target.h 2009-08-12 06:18:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/target.h 2009-08-12 06:18:15.000000000 +0200
|
||||
@@ -524,7 +524,7 @@ struct target_ops
|
||||
--- gdb-6.8.50.20090909.orig/gdb/target.h 2009-09-09 19:07:36.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/target.h 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -528,7 +528,7 @@ struct target_ops
|
||||
Return -1 if there is insufficient buffer for a whole entry.
|
||||
Return 1 if an entry was read into *TYPEP and *VALP. */
|
||||
int (*to_auxv_parse) (struct target_ops *ops, gdb_byte **readptr,
|
||||
@ -1282,10 +1282,10 @@ Index: gdb-6.8.50.20090811/gdb/target.h
|
||||
|
||||
/* Search SEARCH_SPACE_LEN bytes beginning at START_ADDR for the
|
||||
sequence of bytes in PATTERN with length PATTERN_LEN.
|
||||
Index: gdb-6.8.50.20090811/gdb/symfile.h
|
||||
Index: gdb-6.8.50.20090909/gdb/symfile.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/symfile.h 2009-08-12 06:13:20.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/symfile.h 2009-08-12 06:18:15.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/symfile.h 2009-09-09 19:15:43.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/symfile.h 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -229,7 +229,13 @@ enum symfile_add_flags
|
||||
SYMFILE_MAINLINE = 1 << 2,
|
||||
|
||||
@ -1301,11 +1301,11 @@ Index: gdb-6.8.50.20090811/gdb/symfile.h
|
||||
};
|
||||
|
||||
extern void syms_from_objfile (struct objfile *,
|
||||
Index: gdb-6.8.50.20090811/gdb/infcmd.c
|
||||
Index: gdb-6.8.50.20090909/gdb/infcmd.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/infcmd.c 2009-08-12 06:09:14.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/infcmd.c 2009-08-12 06:47:58.000000000 +0200
|
||||
@@ -2276,6 +2276,9 @@ attach_command_post_wait (char *args, in
|
||||
--- gdb-6.8.50.20090909.orig/gdb/infcmd.c 2009-09-09 19:20:33.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/infcmd.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -2308,6 +2308,9 @@ attach_command_post_wait (char *args, in
|
||||
|
||||
post_create_inferior (¤t_target, from_tty);
|
||||
|
||||
@ -1315,10 +1315,10 @@ Index: gdb-6.8.50.20090811/gdb/infcmd.c
|
||||
/* Install inferior's terminal modes. */
|
||||
target_terminal_inferior ();
|
||||
|
||||
Index: gdb-6.8.50.20090811/gdb/linux-tdep.c
|
||||
Index: gdb-6.8.50.20090909/gdb/linux-tdep.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090811.orig/gdb/linux-tdep.c 2009-08-04 22:41:13.000000000 +0200
|
||||
+++ gdb-6.8.50.20090811/gdb/linux-tdep.c 2009-08-12 06:43:27.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/linux-tdep.c 2009-08-04 22:41:13.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/linux-tdep.c 2009-09-09 19:24:13.000000000 +0200
|
||||
@@ -163,5 +163,7 @@ in this session.\n"));
|
||||
void
|
||||
_initialize_linux_tdep (void)
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/configure.ac
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/configure.ac
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090802.orig/gdb/testsuite/configure.ac 2009-07-31 17:38:16.000000000 +0200
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/configure.ac 2009-08-03 11:10:45.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/configure.ac 2009-07-31 17:38:16.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/configure.ac 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -144,6 +144,6 @@ AC_OUTPUT([Makefile \
|
||||
gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile \
|
||||
gdb.fortran/Makefile gdb.server/Makefile \
|
||||
@ -10,31 +10,31 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/configure.ac
|
||||
+ gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \
|
||||
gdb.python/Makefile gdb.reverse/Makefile \
|
||||
gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile])
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/configure
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/configure
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090802.orig/gdb/testsuite/configure 2009-07-31 17:38:16.000000000 +0200
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/configure 2009-08-03 11:11:27.000000000 +0200
|
||||
@@ -3239,7 +3239,7 @@ done
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/configure 2009-08-22 18:56:43.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/configure 2009-09-09 19:06:27.000000000 +0200
|
||||
@@ -3515,7 +3515,7 @@ done
|
||||
|
||||
|
||||
|
||||
- ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.python/Makefile gdb.reverse/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.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/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.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.python/Makefile gdb.reverse/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.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
@@ -3813,6 +3813,7 @@ do
|
||||
"gdb.objc/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.objc/Makefile" ;;
|
||||
"gdb.opt/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
|
||||
"gdb.pascal/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
|
||||
+ "gdb.pie/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;;
|
||||
"gdb.python/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
|
||||
"gdb.reverse/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
|
||||
"gdb.threads/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.threads/Makefile" ;;
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.c
|
||||
@@ -4231,6 +4231,7 @@ do
|
||||
"gdb.objc/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.objc/Makefile" ;;
|
||||
"gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
|
||||
"gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
|
||||
+ "gdb.pie/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;;
|
||||
"gdb.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
|
||||
"gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
|
||||
"gdb.threads/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.threads/Makefile" ;;
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/attach.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.c 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/attach.c 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,20 @@
|
||||
+/* This program is intended to be started outside of gdb, and then
|
||||
+ attached to by gdb. Thus, it simply spins in a loop. The loop
|
||||
@ -56,10 +56,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.c
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach2.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/attach2.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach2.c 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/attach2.c 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,24 @@
|
||||
+/* This program is intended to be started outside of gdb, and then
|
||||
+ attached to by gdb. Thus, it simply spins in a loop. The loop
|
||||
@ -85,10 +85,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach2.c
|
||||
+ }
|
||||
+ return (0);
|
||||
+}
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/break.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.c 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/break.c 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,146 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -236,10 +236,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.c
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break1.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/break1.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break1.c 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/break1.c 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,44 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -285,10 +285,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break1.c
|
||||
+void marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */
|
||||
+void marker4 (d) long d; {} /* set breakpoint 13 here */
|
||||
+#endif
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/coremaker.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/coremaker.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/coremaker.c 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/coremaker.c 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,142 @@
|
||||
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
|
||||
+ Free Software Foundation, Inc.
|
||||
@ -432,10 +432,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/coremaker.c
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/attach.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.exp 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/attach.exp 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,432 @@
|
||||
+# Copyright 1997, 1999, 2002 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -869,10 +869,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.exp
|
||||
+do_call_attach_tests
|
||||
+
|
||||
+return 0
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/break.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.exp 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/break.exp 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,977 @@
|
||||
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
+# 2000, 2002, 2003, 2004
|
||||
@ -1851,10 +1851,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.exp
|
||||
+ send_gdb "set args main\n"
|
||||
+ gdb_expect -re ".*$gdb_prompt $" {}
|
||||
+}
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/corefile.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/corefile.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/corefile.exp 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/corefile.exp 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,243 @@
|
||||
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||
+# Free Software Foundation, Inc.
|
||||
@ -2099,10 +2099,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/corefile.exp
|
||||
+gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\).*" "up in corefile.exp (reinit)"
|
||||
+
|
||||
+gdb_test "core" "No core file now."
|
||||
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/Makefile.in
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/Makefile.in
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/Makefile.in 2009-08-03 11:10:12.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/Makefile.in 2009-09-09 19:06:01.000000000 +0200
|
||||
@@ -0,0 +1,19 @@
|
||||
+VPATH = @srcdir@
|
||||
+srcdir = @srcdir@
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
Index: gdb-6.8.50.20090818/gdb/corelow.c
|
||||
Index: gdb-6.8.50.20090909/gdb/corelow.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090818.orig/gdb/corelow.c 2009-07-31 17:25:21.000000000 +0200
|
||||
+++ gdb-6.8.50.20090818/gdb/corelow.c 2009-08-18 21:07:23.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/corelow.c 2009-07-31 17:25:21.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/corelow.c 2009-09-09 19:09:35.000000000 +0200
|
||||
@@ -45,6 +45,10 @@
|
||||
#include "exceptions.h"
|
||||
#include "solib.h"
|
||||
@ -89,11 +89,11 @@ Index: gdb-6.8.50.20090818/gdb/corelow.c
|
||||
+ NULL, NULL, NULL,
|
||||
+ &setlist, &showlist);
|
||||
}
|
||||
Index: gdb-6.8.50.20090818/gdb/doc/gdb.texinfo
|
||||
Index: gdb-6.8.50.20090909/gdb/doc/gdb.texinfo
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090818.orig/gdb/doc/gdb.texinfo 2009-08-18 21:07:05.000000000 +0200
|
||||
+++ gdb-6.8.50.20090818/gdb/doc/gdb.texinfo 2009-08-18 21:07:23.000000000 +0200
|
||||
@@ -13733,6 +13733,27 @@ information files.
|
||||
--- gdb-6.8.50.20090909.orig/gdb/doc/gdb.texinfo 2009-09-09 19:09:31.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/doc/gdb.texinfo 2009-09-09 19:09:35.000000000 +0200
|
||||
@@ -13764,6 +13764,27 @@ information files.
|
||||
|
||||
@end table
|
||||
|
||||
@ -121,10 +121,10 @@ Index: gdb-6.8.50.20090818/gdb/doc/gdb.texinfo
|
||||
@cindex @code{.gnu_debuglink} sections
|
||||
@cindex debug link sections
|
||||
A debug link is a special section of the executable file named
|
||||
Index: gdb-6.8.50.20090818/gdb/solib-svr4.c
|
||||
Index: gdb-6.8.50.20090909/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090818.orig/gdb/solib-svr4.c 2009-08-18 21:07:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090818/gdb/solib-svr4.c 2009-08-18 21:07:23.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/solib-svr4.c 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/solib-svr4.c 2009-09-09 19:09:35.000000000 +0200
|
||||
@@ -1101,9 +1101,33 @@ svr4_current_sos (void)
|
||||
safe_strerror (errcode));
|
||||
else
|
||||
@ -162,10 +162,10 @@ Index: gdb-6.8.50.20090818/gdb/solib-svr4.c
|
||||
}
|
||||
xfree (buffer);
|
||||
|
||||
Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
Index: gdb-6.8.50.20090909/gdb/symfile.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090818.orig/gdb/symfile.c 2009-08-18 21:07:05.000000000 +0200
|
||||
+++ gdb-6.8.50.20090818/gdb/symfile.c 2009-08-18 21:08:31.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/symfile.c 2009-09-09 19:09:31.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/symfile.c 2009-09-09 19:09:55.000000000 +0200
|
||||
@@ -56,6 +56,7 @@
|
||||
#include "elf-bfd.h"
|
||||
#include "solib.h"
|
||||
@ -174,7 +174,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
@@ -1193,16 +1194,65 @@ symbol_file_clear (int from_tty)
|
||||
@@ -1174,16 +1175,65 @@ symbol_file_clear (int from_tty)
|
||||
printf_unfiltered (_("No symbol file now.\n"));
|
||||
}
|
||||
|
||||
@ -242,7 +242,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
{
|
||||
struct build_id *retval;
|
||||
|
||||
@@ -1218,6 +1268,348 @@ build_id_bfd_get (bfd *abfd)
|
||||
@@ -1199,6 +1249,348 @@ build_id_bfd_get (bfd *abfd)
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -591,7 +591,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
/* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
|
||||
|
||||
static int
|
||||
@@ -1235,7 +1627,7 @@ build_id_verify (const char *filename, s
|
||||
@@ -1216,7 +1608,7 @@ build_id_verify (const char *filename, s
|
||||
if (abfd == NULL)
|
||||
return 0;
|
||||
|
||||
@ -600,7 +600,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
|
||||
if (found == NULL)
|
||||
warning (_("File \"%s\" has no build-id, file skipped"), filename);
|
||||
@@ -1254,8 +1646,9 @@ build_id_verify (const char *filename, s
|
||||
@@ -1235,8 +1627,9 @@ build_id_verify (const char *filename, s
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -612,7 +612,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
{
|
||||
char *link, *s, *retval = NULL;
|
||||
gdb_byte *data = build_id->data;
|
||||
@@ -1263,7 +1656,9 @@ build_id_to_debug_filename (struct build
|
||||
@@ -1244,7 +1637,9 @@ build_id_to_debug_filename (struct build
|
||||
|
||||
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
|
||||
link = xmalloc (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1
|
||||
@ -623,7 +623,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
s = link + sprintf (link, "%s/.build-id/", debug_file_directory);
|
||||
if (size > 0)
|
||||
{
|
||||
@@ -1274,12 +1669,14 @@ build_id_to_debug_filename (struct build
|
||||
@@ -1255,12 +1650,14 @@ build_id_to_debug_filename (struct build
|
||||
*s++ = '/';
|
||||
while (size-- > 0)
|
||||
s += sprintf (s, "%02x", (unsigned) *data++);
|
||||
@ -640,7 +640,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
|
||||
if (retval != NULL && !build_id_verify (retval, build_id))
|
||||
{
|
||||
@@ -1287,9 +1684,150 @@ build_id_to_debug_filename (struct build
|
||||
@@ -1268,9 +1665,150 @@ build_id_to_debug_filename (struct build
|
||||
retval = NULL;
|
||||
}
|
||||
|
||||
@ -791,7 +791,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
static char *
|
||||
get_debug_link_info (struct objfile *objfile, unsigned long *crc32_out)
|
||||
{
|
||||
@@ -1372,32 +1910,36 @@ static char *
|
||||
@@ -1353,32 +1891,36 @@ static char *
|
||||
find_separate_debug_file (struct objfile *objfile)
|
||||
{
|
||||
asection *sect;
|
||||
@ -836,7 +836,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
}
|
||||
|
||||
basename = get_debug_link_info (objfile, &crc32);
|
||||
@@ -1405,7 +1947,7 @@ find_separate_debug_file (struct objfile
|
||||
@@ -1386,7 +1928,7 @@ find_separate_debug_file (struct objfile
|
||||
if (basename == NULL)
|
||||
/* There's no separate debug info, hence there's no way we could
|
||||
load it => no warning. */
|
||||
@ -845,7 +845,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
|
||||
dir = xstrdup (objfile->name);
|
||||
|
||||
@@ -1427,24 +1969,19 @@ find_separate_debug_file (struct objfile
|
||||
@@ -1408,24 +1950,19 @@ find_separate_debug_file (struct objfile
|
||||
if (canon_name && strlen (canon_name) > i)
|
||||
i = strlen (canon_name);
|
||||
|
||||
@ -877,7 +877,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
|
||||
/* Then try in the subdirectory named DEBUG_SUBDIRECTORY. */
|
||||
strcpy (debugfile, dir);
|
||||
@@ -1453,12 +1990,7 @@ find_separate_debug_file (struct objfile
|
||||
@@ -1434,12 +1971,7 @@ find_separate_debug_file (struct objfile
|
||||
strcat (debugfile, basename);
|
||||
|
||||
if (separate_debug_file_exists (debugfile, crc32, objfile->name))
|
||||
@ -891,7 +891,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
|
||||
/* Then try in the global debugfile directory. */
|
||||
strcpy (debugfile, debug_file_directory);
|
||||
@@ -1467,12 +1999,7 @@ find_separate_debug_file (struct objfile
|
||||
@@ -1448,12 +1980,7 @@ find_separate_debug_file (struct objfile
|
||||
strcat (debugfile, basename);
|
||||
|
||||
if (separate_debug_file_exists (debugfile, crc32, objfile->name))
|
||||
@ -905,7 +905,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
|
||||
/* If the file is in the sysroot, try using its base path in the
|
||||
global debugfile directory. */
|
||||
@@ -1486,20 +2013,18 @@ find_separate_debug_file (struct objfile
|
||||
@@ -1467,20 +1994,18 @@ find_separate_debug_file (struct objfile
|
||||
strcat (debugfile, basename);
|
||||
|
||||
if (separate_debug_file_exists (debugfile, crc32, objfile->name))
|
||||
@ -933,28 +933,28 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
|
||||
}
|
||||
|
||||
|
||||
@@ -4255,4 +4780,16 @@ Show printing of symbol loading messages
|
||||
NULL,
|
||||
NULL,
|
||||
&setprintlist, &showprintlist);
|
||||
+
|
||||
+ add_setshow_zinteger_cmd ("build-id-verbose", no_class, &build_id_verbose,
|
||||
+ _("\
|
||||
+Set debugging level of the build-id locator."), _("\
|
||||
+Show debugging level of the build-id locator."), _("\
|
||||
+Level 1 (default) enables printing the missing debug filenames,\n\
|
||||
+level 2 also prints the parsing of binaries to find the identificators."),
|
||||
+ NULL,
|
||||
+ show_build_id_verbose,
|
||||
+ &setlist, &showlist);
|
||||
+
|
||||
+ observer_attach_executable_changed (debug_print_executable_changed);
|
||||
@@ -4231,4 +4756,16 @@ the global debug-file directory prepende
|
||||
NULL,
|
||||
show_debug_file_directory,
|
||||
&setlist, &showlist);
|
||||
+
|
||||
+ add_setshow_zinteger_cmd ("build-id-verbose", no_class, &build_id_verbose,
|
||||
+ _("\
|
||||
+ Set debugging level of the build-id locator."), _("\
|
||||
+ Show debugging level of the build-id locator."), _("\
|
||||
+ Level 1 (default) enables printing the missing debug filenames,\n\
|
||||
+ level 2 also prints the parsing of binaries to find the identificators."),
|
||||
+ NULL,
|
||||
+ show_build_id_verbose,
|
||||
+ &setlist, &showlist);
|
||||
+
|
||||
+ observer_attach_executable_changed (debug_print_executable_changed);
|
||||
}
|
||||
Index: gdb-6.8.50.20090818/gdb/symfile.h
|
||||
Index: gdb-6.8.50.20090909/gdb/symfile.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090818.orig/gdb/symfile.h 2009-08-18 21:07:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090818/gdb/symfile.h 2009-08-18 21:07:23.000000000 +0200
|
||||
@@ -388,6 +388,13 @@ extern int symfile_map_offsets_to_segmen
|
||||
--- gdb-6.8.50.20090909.orig/gdb/symfile.h 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/symfile.h 2009-09-09 19:09:35.000000000 +0200
|
||||
@@ -381,6 +381,13 @@ extern int symfile_map_offsets_to_segmen
|
||||
struct symfile_segment_data *get_symfile_segment_data (bfd *abfd);
|
||||
void free_symfile_segment_data (struct symfile_segment_data *data);
|
||||
|
||||
@ -968,10 +968,10 @@ Index: gdb-6.8.50.20090818/gdb/symfile.h
|
||||
/* From dwarf2read.c */
|
||||
|
||||
extern int dwarf2_has_info (struct objfile *);
|
||||
Index: gdb-6.8.50.20090818/gdb/testsuite/lib/gdb.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/lib/gdb.exp
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090818.orig/gdb/testsuite/lib/gdb.exp 2009-08-18 21:07:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090818/gdb/testsuite/lib/gdb.exp 2009-08-18 21:07:23.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/lib/gdb.exp 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/lib/gdb.exp 2009-09-09 19:09:35.000000000 +0200
|
||||
@@ -1248,6 +1248,16 @@ proc default_gdb_start { } {
|
||||
warning "Couldn't set the width to 0."
|
||||
}
|
||||
@ -989,10 +989,10 @@ Index: gdb-6.8.50.20090818/gdb/testsuite/lib/gdb.exp
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: gdb-6.8.50.20090818/gdb/testsuite/lib/mi-support.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/lib/mi-support.exp
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090818.orig/gdb/testsuite/lib/mi-support.exp 2009-08-18 21:07:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090818/gdb/testsuite/lib/mi-support.exp 2009-08-18 21:07:23.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/lib/mi-support.exp 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/lib/mi-support.exp 2009-09-09 19:09:35.000000000 +0200
|
||||
@@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } {
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: gdb-6.8.50.20090803/bfd/elf-bfd.h
|
||||
Index: gdb-6.8.50.20090910/bfd/elf-bfd.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/bfd/elf-bfd.h 2009-07-23 15:00:20.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/bfd/elf-bfd.h 2009-08-03 17:21:25.000000000 +0200
|
||||
@@ -2115,7 +2115,7 @@ extern Elf_Internal_Phdr * _bfd_elf_find
|
||||
--- gdb-6.8.50.20090910.orig/bfd/elf-bfd.h 2009-09-09 23:38:57.000000000 +0200
|
||||
+++ gdb-6.8.50.20090910/bfd/elf-bfd.h 2009-09-10 23:01:15.000000000 +0200
|
||||
@@ -2121,7 +2121,7 @@ extern Elf_Internal_Phdr * _bfd_elf_find
|
||||
extern char *elfcore_write_note
|
||||
(bfd *, char *, int *, const char *, int, const void *, int);
|
||||
extern char *elfcore_write_prpsinfo
|
||||
@ -11,11 +11,11 @@ Index: gdb-6.8.50.20090803/bfd/elf-bfd.h
|
||||
extern char *elfcore_write_prstatus
|
||||
(bfd *, char *, int *, long, int, const void *);
|
||||
extern char * elfcore_write_pstatus
|
||||
Index: gdb-6.8.50.20090803/bfd/elf.c
|
||||
Index: gdb-6.8.50.20090910/bfd/elf.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/bfd/elf.c 2009-07-23 15:00:20.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/bfd/elf.c 2009-08-03 17:23:13.000000000 +0200
|
||||
@@ -8381,6 +8381,7 @@ char *
|
||||
--- gdb-6.8.50.20090910.orig/bfd/elf.c 2009-09-09 23:38:57.000000000 +0200
|
||||
+++ gdb-6.8.50.20090910/bfd/elf.c 2009-09-10 23:04:17.000000000 +0200
|
||||
@@ -8398,6 +8398,7 @@ char *
|
||||
elfcore_write_prpsinfo (bfd *abfd,
|
||||
char *buf,
|
||||
int *bufsiz,
|
||||
@ -23,7 +23,7 @@ Index: gdb-6.8.50.20090803/bfd/elf.c
|
||||
const char *fname,
|
||||
const char *psargs)
|
||||
{
|
||||
@@ -8407,9 +8408,15 @@ elfcore_write_prpsinfo (bfd *abfd,
|
||||
@@ -8424,9 +8425,15 @@ elfcore_write_prpsinfo (bfd *abfd,
|
||||
int note_type = NT_PRPSINFO;
|
||||
#endif
|
||||
|
||||
@ -42,7 +42,7 @@ Index: gdb-6.8.50.20090803/bfd/elf.c
|
||||
return elfcore_write_note (abfd, buf, bufsiz,
|
||||
note_name, note_type, &data, sizeof (data));
|
||||
}
|
||||
@@ -8424,9 +8431,15 @@ elfcore_write_prpsinfo (bfd *abfd,
|
||||
@@ -8441,9 +8448,15 @@ elfcore_write_prpsinfo (bfd *abfd,
|
||||
int note_type = NT_PRPSINFO;
|
||||
#endif
|
||||
|
||||
@ -61,10 +61,10 @@ Index: gdb-6.8.50.20090803/bfd/elf.c
|
||||
return elfcore_write_note (abfd, buf, bufsiz,
|
||||
note_name, note_type, &data, sizeof (data));
|
||||
}
|
||||
Index: gdb-6.8.50.20090803/gdb/amd64-linux-nat.c
|
||||
Index: gdb-6.8.50.20090910/gdb/amd64-linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/amd64-linux-nat.c 2009-08-03 17:19:57.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/amd64-linux-nat.c 2009-08-03 17:21:25.000000000 +0200
|
||||
--- gdb-6.8.50.20090910.orig/gdb/amd64-linux-nat.c 2009-09-10 23:01:07.000000000 +0200
|
||||
+++ gdb-6.8.50.20090910/gdb/amd64-linux-nat.c 2009-09-10 23:01:15.000000000 +0200
|
||||
@@ -140,6 +140,7 @@ static int amd64_linux_gregset32_reg_off
|
||||
|
||||
static char *
|
||||
@ -98,10 +98,10 @@ Index: gdb-6.8.50.20090803/gdb/amd64-linux-nat.c
|
||||
}
|
||||
|
||||
static void
|
||||
Index: gdb-6.8.50.20090803/gdb/fbsd-nat.c
|
||||
Index: gdb-6.8.50.20090910/gdb/fbsd-nat.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/fbsd-nat.c 2009-07-02 19:21:06.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/fbsd-nat.c 2009-08-03 17:21:25.000000000 +0200
|
||||
--- gdb-6.8.50.20090910.orig/gdb/fbsd-nat.c 2009-07-02 19:21:06.000000000 +0200
|
||||
+++ gdb-6.8.50.20090910/gdb/fbsd-nat.c 2009-09-10 23:01:15.000000000 +0200
|
||||
@@ -211,6 +211,7 @@ fbsd_make_corefile_notes (bfd *obfd, int
|
||||
psargs = reconcat (psargs, psargs, " ", get_inferior_args (), NULL);
|
||||
|
||||
@ -110,10 +110,10 @@ Index: gdb-6.8.50.20090803/gdb/fbsd-nat.c
|
||||
fname, psargs);
|
||||
}
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/linux-nat.c
|
||||
Index: gdb-6.8.50.20090910/gdb/linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/linux-nat.c 2009-08-03 17:19:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/linux-nat.c 2009-08-03 17:24:03.000000000 +0200
|
||||
--- gdb-6.8.50.20090910.orig/gdb/linux-nat.c 2009-09-10 23:01:06.000000000 +0200
|
||||
+++ gdb-6.8.50.20090910/gdb/linux-nat.c 2009-09-10 23:01:15.000000000 +0200
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "xml-support.h"
|
||||
#include "terminal.h"
|
||||
@ -131,7 +131,7 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
|
||||
char *(*linux_elfcore_write_prstatus)
|
||||
(bfd *, char *, int *, long, int, const void *) = elfcore_write_prstatus;
|
||||
static char *
|
||||
@@ -3840,6 +3841,159 @@ linux_spu_make_corefile_notes (bfd *obfd
|
||||
@@ -3946,6 +3947,159 @@ linux_spu_make_corefile_notes (bfd *obfd
|
||||
return args.note_data;
|
||||
}
|
||||
|
||||
@ -291,7 +291,7 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
|
||||
/* Fills the "to_make_corefile_note" target vector. Builds the note
|
||||
section for a corefile, and returns it in a malloc buffer. */
|
||||
|
||||
@@ -3860,8 +4014,14 @@ linux_nat_make_corefile_notes (bfd *obfd
|
||||
@@ -3966,8 +4120,14 @@ linux_nat_make_corefile_notes (bfd *obfd
|
||||
|
||||
if (get_exec_file (0))
|
||||
{
|
||||
@ -306,7 +306,7 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
|
||||
if (get_inferior_args ())
|
||||
{
|
||||
char *string_end;
|
||||
@@ -3877,9 +4037,15 @@ linux_nat_make_corefile_notes (bfd *obfd
|
||||
@@ -3983,9 +4143,15 @@ linux_nat_make_corefile_notes (bfd *obfd
|
||||
psargs_end - string_end);
|
||||
}
|
||||
}
|
||||
@ -324,11 +324,11 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
|
||||
}
|
||||
|
||||
/* Dump information for threads. */
|
||||
Index: gdb-6.8.50.20090803/gdb/linux-nat.h
|
||||
Index: gdb-6.8.50.20090910/gdb/linux-nat.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/linux-nat.h 2009-08-03 17:19:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/linux-nat.h 2009-08-03 17:21:25.000000000 +0200
|
||||
@@ -148,7 +148,7 @@ struct siginfo *linux_nat_get_siginfo (p
|
||||
--- gdb-6.8.50.20090910.orig/gdb/linux-nat.h 2009-09-10 23:01:06.000000000 +0200
|
||||
+++ gdb-6.8.50.20090910/gdb/linux-nat.h 2009-09-10 23:01:15.000000000 +0200
|
||||
@@ -154,7 +154,7 @@ struct siginfo *linux_nat_get_siginfo (p
|
||||
/* These functions make elfcore note sections.
|
||||
They may get overriden by code adjusting data for multi-target builds. */
|
||||
extern char *(*linux_elfcore_write_prpsinfo)
|
||||
@ -337,10 +337,10 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.h
|
||||
extern char *(*linux_elfcore_write_prstatus)
|
||||
(bfd *, char *, int *, long, int, const void *);
|
||||
extern char *(*linux_elfcore_write_prfpreg)
|
||||
Index: gdb-6.8.50.20090803/gdb/procfs.c
|
||||
Index: gdb-6.8.50.20090910/gdb/procfs.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/procfs.c 2009-08-01 02:02:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/procfs.c 2009-08-03 17:21:25.000000000 +0200
|
||||
--- gdb-6.8.50.20090910.orig/gdb/procfs.c 2009-08-01 02:02:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090910/gdb/procfs.c 2009-09-10 23:01:15.000000000 +0200
|
||||
@@ -6147,6 +6147,7 @@ procfs_make_note_section (bfd *obfd, int
|
||||
note_data = (char *) elfcore_write_prpsinfo (obfd,
|
||||
note_data,
|
||||
|
@ -5,33 +5,30 @@ gdb/
|
||||
* config.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/configure.ac
|
||||
Index: gdb-6.8.50.20090909/gdb/configure.ac
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/configure.ac 2009-08-04 06:32:39.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/configure.ac 2009-08-04 06:33:51.000000000 +0200
|
||||
@@ -30,6 +30,7 @@ AC_GNU_SOURCE
|
||||
AC_AIX
|
||||
AC_ISC_POSIX
|
||||
--- gdb-6.8.50.20090909.orig/gdb/configure.ac 2009-09-09 20:08:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/configure.ac 2009-09-09 20:11:04.000000000 +0200
|
||||
@@ -28,6 +28,7 @@ AM_MAINTAINER_MODE
|
||||
AC_PROG_CC
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
gl_EARLY
|
||||
+AC_SYS_LARGEFILE
|
||||
AM_PROG_CC_STDC
|
||||
|
||||
AC_CONFIG_AUX_DIR(..)
|
||||
Index: gdb-6.8.50.20090803/gdb/config.in
|
||||
Index: gdb-6.8.50.20090909/gdb/config.in
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/config.in 2009-08-04 06:32:39.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/config.in 2009-08-04 06:33:51.000000000 +0200
|
||||
@@ -744,6 +744,9 @@
|
||||
# undef _ALL_SOURCE
|
||||
--- gdb-6.8.50.20090909.orig/gdb/config.in 2009-09-09 20:08:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/config.in 2009-09-09 20:11:33.000000000 +0200
|
||||
@@ -751,10 +751,16 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+/* Number of bits in a file offset, on hosts where this is settable. */
|
||||
+#undef _FILE_OFFSET_BITS
|
||||
+
|
||||
/* Enable GNU extensions on systems that have them. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# undef _GNU_SOURCE
|
||||
@@ -753,6 +756,9 @@
|
||||
/* Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works around a
|
||||
<sys/proc.h> problem on IRIX 5. */
|
||||
#undef _KMEMUSER
|
||||
|
||||
@ -41,11 +38,19 @@ Index: gdb-6.8.50.20090803/gdb/config.in
|
||||
/* Define to 1 if on MINIX. */
|
||||
#undef _MINIX
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/configure
|
||||
Index: gdb-6.8.50.20090909/gdb/configure
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/configure 2009-08-04 06:32:39.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/configure 2009-08-04 06:33:51.000000000 +0200
|
||||
@@ -874,6 +874,7 @@ Optional Features:
|
||||
--- gdb-6.8.50.20090909.orig/gdb/configure 2009-09-09 20:10:45.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/configure 2009-09-09 20:11:07.000000000 +0200
|
||||
@@ -884,6 +884,7 @@ ac_subst_files='host_makefile_frag'
|
||||
ac_user_opts='
|
||||
enable_option_checking
|
||||
enable_maintainer_mode
|
||||
+enable_largefile
|
||||
enable_dependency_tracking
|
||||
with_separate_debug_dir
|
||||
with_gdb_datadir
|
||||
@@ -1562,6 +1563,7 @@ Optional Features:
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
--enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer
|
||||
@ -53,33 +58,29 @@ Index: gdb-6.8.50.20090803/gdb/configure
|
||||
--disable-dependency-tracking speeds up one-time build
|
||||
--enable-dependency-tracking do not reject slow dependency extractors
|
||||
--enable-targets=TARGETS
|
||||
@@ -3347,6 +3348,370 @@ _ACEOF
|
||||
@@ -4100,6 +4102,204 @@ fi
|
||||
|
||||
|
||||
|
||||
+# Check whether --enable-largefile or --disable-largefile was given.
|
||||
+if test "${enable_largefile+set}" = set; then
|
||||
+ enableval="$enable_largefile"
|
||||
+# Check whether --enable-largefile was given.
|
||||
+if test "${enable_largefile+set}" = set; then :
|
||||
+ enableval=$enable_largefile;
|
||||
+fi
|
||||
+
|
||||
+fi;
|
||||
+if test "$enable_largefile" != no; then
|
||||
+
|
||||
+ echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
|
||||
+echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
|
||||
+if test "${ac_cv_sys_largefile_CC+set}" = set; then
|
||||
+ echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
|
||||
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
|
||||
+if test "${ac_cv_sys_largefile_CC+set}" = set; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ ac_cv_sys_largefile_CC=no
|
||||
+ if test "$GCC" != yes; then
|
||||
+ ac_save_CC=$CC
|
||||
+ while :; do
|
||||
+ # IRIX 6.2 and later do not support large files by default,
|
||||
+ # so use the C compiler's -n32 option if that helps.
|
||||
+ cat >conftest.$ac_ext <<_ACEOF
|
||||
+/* confdefs.h. */
|
||||
+_ACEOF
|
||||
+cat confdefs.h >>conftest.$ac_ext
|
||||
+cat >>conftest.$ac_ext <<_ACEOF
|
||||
+ # IRIX 6.2 and later do not support large files by default,
|
||||
+ # so use the C compiler's -n32 option if that helps.
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <sys/types.h>
|
||||
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
||||
@ -98,89 +99,34 @@ Index: gdb-6.8.50.20090803/gdb/configure
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+ rm -f conftest.$ac_objext
|
||||
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
+ (eval $ac_compile) 2>conftest.er1
|
||||
+ ac_status=$?
|
||||
+ grep -v '^ *+' conftest.er1 >conftest.err
|
||||
+ rm -f conftest.er1
|
||||
+ cat conftest.err >&5
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); } &&
|
||||
+ { ac_try='test -z "$ac_c_werror_flag"
|
||||
+ || test ! -s conftest.err'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; } &&
|
||||
+ { ac_try='test -s conftest.$ac_objext'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; }; then
|
||||
+ if ac_fn_c_try_compile "$LINENO"; then :
|
||||
+ break
|
||||
+else
|
||||
+ echo "$as_me: failed program was:" >&5
|
||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
||||
+
|
||||
+fi
|
||||
+rm -f conftest.err conftest.$ac_objext
|
||||
+ CC="$CC -n32"
|
||||
+ rm -f conftest.$ac_objext
|
||||
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
+ (eval $ac_compile) 2>conftest.er1
|
||||
+ ac_status=$?
|
||||
+ grep -v '^ *+' conftest.er1 >conftest.err
|
||||
+ rm -f conftest.er1
|
||||
+ cat conftest.err >&5
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); } &&
|
||||
+ { ac_try='test -z "$ac_c_werror_flag"
|
||||
+ || test ! -s conftest.err'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; } &&
|
||||
+ { ac_try='test -s conftest.$ac_objext'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; }; then
|
||||
+rm -f core conftest.err conftest.$ac_objext
|
||||
+ CC="$CC -n32"
|
||||
+ if ac_fn_c_try_compile "$LINENO"; then :
|
||||
+ ac_cv_sys_largefile_CC=' -n32'; break
|
||||
+else
|
||||
+ echo "$as_me: failed program was:" >&5
|
||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
||||
+
|
||||
+fi
|
||||
+rm -f conftest.err conftest.$ac_objext
|
||||
+rm -f core conftest.err conftest.$ac_objext
|
||||
+ break
|
||||
+ done
|
||||
+ CC=$ac_save_CC
|
||||
+ rm -f conftest.$ac_ext
|
||||
+ fi
|
||||
+fi
|
||||
+echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
|
||||
+echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
|
||||
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
|
||||
+ if test "$ac_cv_sys_largefile_CC" != no; then
|
||||
+ CC=$CC$ac_cv_sys_largefile_CC
|
||||
+ fi
|
||||
+
|
||||
+ echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
|
||||
+echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
|
||||
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then
|
||||
+ echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
|
||||
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
|
||||
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ while :; do
|
||||
+ ac_cv_sys_file_offset_bits=no
|
||||
+ cat >conftest.$ac_ext <<_ACEOF
|
||||
+/* confdefs.h. */
|
||||
+_ACEOF
|
||||
+cat confdefs.h >>conftest.$ac_ext
|
||||
+cat >>conftest.$ac_ext <<_ACEOF
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <sys/types.h>
|
||||
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
||||
@ -199,40 +145,11 @@ Index: gdb-6.8.50.20090803/gdb/configure
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+rm -f conftest.$ac_objext
|
||||
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
+ (eval $ac_compile) 2>conftest.er1
|
||||
+ ac_status=$?
|
||||
+ grep -v '^ *+' conftest.er1 >conftest.err
|
||||
+ rm -f conftest.er1
|
||||
+ cat conftest.err >&5
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); } &&
|
||||
+ { ac_try='test -z "$ac_c_werror_flag"
|
||||
+ || test ! -s conftest.err'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; } &&
|
||||
+ { ac_try='test -s conftest.$ac_objext'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; }; then
|
||||
+ break
|
||||
+else
|
||||
+ echo "$as_me: failed program was:" >&5
|
||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
||||
+
|
||||
+if ac_fn_c_try_compile "$LINENO"; then :
|
||||
+ ac_cv_sys_file_offset_bits=no; break
|
||||
+fi
|
||||
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+ cat >conftest.$ac_ext <<_ACEOF
|
||||
+/* confdefs.h. */
|
||||
+_ACEOF
|
||||
+cat confdefs.h >>conftest.$ac_ext
|
||||
+cat >>conftest.$ac_ext <<_ACEOF
|
||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#define _FILE_OFFSET_BITS 64
|
||||
+#include <sys/types.h>
|
||||
@ -252,60 +169,33 @@ Index: gdb-6.8.50.20090803/gdb/configure
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+rm -f conftest.$ac_objext
|
||||
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
+ (eval $ac_compile) 2>conftest.er1
|
||||
+ ac_status=$?
|
||||
+ grep -v '^ *+' conftest.er1 >conftest.err
|
||||
+ rm -f conftest.er1
|
||||
+ cat conftest.err >&5
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); } &&
|
||||
+ { ac_try='test -z "$ac_c_werror_flag"
|
||||
+ || test ! -s conftest.err'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; } &&
|
||||
+ { ac_try='test -s conftest.$ac_objext'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; }; then
|
||||
+if ac_fn_c_try_compile "$LINENO"; then :
|
||||
+ ac_cv_sys_file_offset_bits=64; break
|
||||
+else
|
||||
+ echo "$as_me: failed program was:" >&5
|
||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
||||
+
|
||||
+fi
|
||||
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+ ac_cv_sys_file_offset_bits=unknown
|
||||
+ break
|
||||
+done
|
||||
+fi
|
||||
+echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
|
||||
+echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
|
||||
+if test "$ac_cv_sys_file_offset_bits" != no; then
|
||||
+
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
|
||||
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
|
||||
+case $ac_cv_sys_file_offset_bits in #(
|
||||
+ no | unknown) ;;
|
||||
+ *)
|
||||
+cat >>confdefs.h <<_ACEOF
|
||||
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
|
||||
+_ACEOF
|
||||
+
|
||||
+fi
|
||||
+rm -f conftest*
|
||||
+ echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
|
||||
+echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
|
||||
+if test "${ac_cv_sys_large_files+set}" = set; then
|
||||
+ echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
+;;
|
||||
+esac
|
||||
+rm -rf conftest*
|
||||
+ if test $ac_cv_sys_file_offset_bits = unknown; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
|
||||
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
|
||||
+if test "${ac_cv_sys_large_files+set}" = set; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ while :; do
|
||||
+ ac_cv_sys_large_files=no
|
||||
+ cat >conftest.$ac_ext <<_ACEOF
|
||||
+/* confdefs.h. */
|
||||
+_ACEOF
|
||||
+cat confdefs.h >>conftest.$ac_ext
|
||||
+cat >>conftest.$ac_ext <<_ACEOF
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <sys/types.h>
|
||||
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
||||
@ -324,40 +214,11 @@ Index: gdb-6.8.50.20090803/gdb/configure
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+rm -f conftest.$ac_objext
|
||||
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
+ (eval $ac_compile) 2>conftest.er1
|
||||
+ ac_status=$?
|
||||
+ grep -v '^ *+' conftest.er1 >conftest.err
|
||||
+ rm -f conftest.er1
|
||||
+ cat conftest.err >&5
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); } &&
|
||||
+ { ac_try='test -z "$ac_c_werror_flag"
|
||||
+ || test ! -s conftest.err'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; } &&
|
||||
+ { ac_try='test -s conftest.$ac_objext'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; }; then
|
||||
+ break
|
||||
+else
|
||||
+ echo "$as_me: failed program was:" >&5
|
||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
||||
+
|
||||
+if ac_fn_c_try_compile "$LINENO"; then :
|
||||
+ ac_cv_sys_large_files=no; break
|
||||
+fi
|
||||
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+ cat >conftest.$ac_ext <<_ACEOF
|
||||
+/* confdefs.h. */
|
||||
+_ACEOF
|
||||
+cat confdefs.h >>conftest.$ac_ext
|
||||
+cat >>conftest.$ac_ext <<_ACEOF
|
||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#define _LARGE_FILES 1
|
||||
+#include <sys/types.h>
|
||||
@ -377,48 +238,26 @@ Index: gdb-6.8.50.20090803/gdb/configure
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+rm -f conftest.$ac_objext
|
||||
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
+ (eval $ac_compile) 2>conftest.er1
|
||||
+ ac_status=$?
|
||||
+ grep -v '^ *+' conftest.er1 >conftest.err
|
||||
+ rm -f conftest.er1
|
||||
+ cat conftest.err >&5
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); } &&
|
||||
+ { ac_try='test -z "$ac_c_werror_flag"
|
||||
+ || test ! -s conftest.err'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; } &&
|
||||
+ { ac_try='test -s conftest.$ac_objext'
|
||||
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
+ (eval $ac_try) 2>&5
|
||||
+ ac_status=$?
|
||||
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
+ (exit $ac_status); }; }; then
|
||||
+if ac_fn_c_try_compile "$LINENO"; then :
|
||||
+ ac_cv_sys_large_files=1; break
|
||||
+else
|
||||
+ echo "$as_me: failed program was:" >&5
|
||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
||||
+
|
||||
+fi
|
||||
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+ ac_cv_sys_large_files=unknown
|
||||
+ break
|
||||
+done
|
||||
+fi
|
||||
+echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
|
||||
+echo "${ECHO_T}$ac_cv_sys_large_files" >&6
|
||||
+if test "$ac_cv_sys_large_files" != no; then
|
||||
+
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
|
||||
+$as_echo "$ac_cv_sys_large_files" >&6; }
|
||||
+case $ac_cv_sys_large_files in #(
|
||||
+ no | unknown) ;;
|
||||
+ *)
|
||||
+cat >>confdefs.h <<_ACEOF
|
||||
+#define _LARGE_FILES $ac_cv_sys_large_files
|
||||
+_ACEOF
|
||||
+
|
||||
+fi
|
||||
+rm -f conftest*
|
||||
+;;
|
||||
+esac
|
||||
+rm -rf conftest*
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
Fix resolving of variables at locations lists in prelinked libs (BZ 466901).
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/dwarf2loc.c
|
||||
Index: gdb-6.8.50.20090909/gdb/dwarf2loc.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/dwarf2loc.c 2009-08-04 06:29:47.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/dwarf2loc.c 2009-08-04 06:33:35.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/dwarf2loc.c 2009-09-09 20:08:03.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/dwarf2loc.c 2009-09-09 20:10:35.000000000 +0200
|
||||
@@ -56,7 +56,9 @@ find_location_expression (struct dwarf2_
|
||||
CORE_ADDR low, high;
|
||||
gdb_byte *loc_ptr, *buf_end;
|
||||
@ -15,10 +15,10 @@ Index: gdb-6.8.50.20090803/gdb/dwarf2loc.c
|
||||
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
unsigned int addr_size = dwarf2_per_cu_addr_size (baton->per_cu);
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked.exp 2009-08-04 06:33:35.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked.exp 2009-09-09 20:10:35.000000000 +0200
|
||||
@@ -0,0 +1,102 @@
|
||||
+# Copyright 2008 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -122,10 +122,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked.exp
|
||||
+
|
||||
+# `abort' can get expressed as `*__GI_abort'.
|
||||
+gdb_test "bt full" "in \[^ \]*abort \\(.*in func \\(.*\r\n\[\t \]+i = -?\[0-9\].*in main \\(.*" "Backtrace after abort()"
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-main.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-main.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-main.c 2009-08-04 06:33:35.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-main.c 2009-09-09 20:10:35.000000000 +0200
|
||||
@@ -0,0 +1,26 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -153,10 +153,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-main.c
|
||||
+ func ();
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-func.S
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-func.S
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-func.S 2009-08-04 06:33:35.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.dwarf2/dw2-loclist-prelinked-func.S 2009-09-09 20:10:35.000000000 +0200
|
||||
@@ -0,0 +1,328 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
|
@ -5,10 +5,10 @@ causing: FAIL: gdb.base/unwindonsignal.exp: unwindonsignal, stack unwound
|
||||
resume() -> target_resume() move of clear_inline_frame_state() is for:
|
||||
gdb.mi/mi-nsmoribund.exp
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-bt.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-bt.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/testsuite/gdb.opt/inline-bt.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-bt.c 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/gdb.opt/inline-bt.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-bt.c 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -13,10 +13,16 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@ -28,10 +28,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-bt.c
|
||||
|
||||
inline int func1(void)
|
||||
{
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-cmds.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-cmds.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/testsuite/gdb.opt/inline-cmds.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-cmds.c 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/gdb.opt/inline-cmds.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-cmds.c 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -13,13 +13,19 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@ -54,10 +54,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-cmds.c
|
||||
inline int func1(void)
|
||||
{
|
||||
bar ();
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-cmds.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-cmds.exp
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -230,7 +230,7 @@ set line3 [gdb_get_line_number "set brea
|
||||
gdb_breakpoint $line3
|
||||
gdb_continue_to_breakpoint "consecutive func1"
|
||||
@ -110,10 +110,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-cmds.exp
|
||||
+gdb_test "info frame" "inlined into frame.*" "outer_inline2 inlined"
|
||||
+gdb_test "fini" "" "up from outer_inline2"
|
||||
+gdb_test "info frame" " in main \[^\n\]*\n source language.*" "main not inlined"
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-locals.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-locals.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/testsuite/gdb.opt/inline-locals.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-locals.c 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/gdb.opt/inline-locals.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-locals.c 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -13,11 +13,16 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@ -133,10 +133,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-locals.c
|
||||
|
||||
inline int func1(int arg1)
|
||||
{
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-locals.exp
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-locals.exp
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/testsuite/gdb.opt/inline-locals.exp 2009-06-30 17:50:27.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-locals.exp 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/gdb.opt/inline-locals.exp 2009-06-30 17:50:27.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-locals.exp 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -77,6 +77,9 @@ if { ! $no_frames } {
|
||||
|
||||
# Make sure that locals on the stack are found. This is an array to
|
||||
@ -155,10 +155,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-locals.exp
|
||||
+ setup_kfail *-*-* "gcc/debug.optimization"
|
||||
+}
|
||||
gdb_test "print array\[0\]" "\\\$$decimal = 184" "print local (3)"
|
||||
Index: gdb-6.8.50.20090803/gdb/frame.c
|
||||
Index: gdb-6.8.50.20090909/gdb/frame.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/frame.c 2009-08-03 15:56:08.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/frame.c 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/frame.c 2009-09-09 19:06:46.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/frame.c 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -276,7 +276,7 @@ fprint_frame (struct ui_file *file, stru
|
||||
static struct frame_info *
|
||||
skip_inlined_frames (struct frame_info *frame)
|
||||
@ -195,19 +195,19 @@ Index: gdb-6.8.50.20090803/gdb/frame.c
|
||||
{
|
||||
sal->symtab = SYMBOL_SYMTAB (sym);
|
||||
sal->line = SYMBOL_LINE (sym);
|
||||
Index: gdb-6.8.50.20090803/gdb/breakpoint.c
|
||||
Index: gdb-6.8.50.20090909/gdb/breakpoint.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/breakpoint.c 2009-08-03 16:56:10.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/breakpoint.c 2009-08-03 17:19:24.000000000 +0200
|
||||
@@ -60,6 +60,7 @@
|
||||
#include "wrapper.h"
|
||||
--- gdb-6.8.50.20090909.orig/gdb/breakpoint.c 2009-09-09 19:19:46.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/breakpoint.c 2009-09-09 19:21:14.000000000 +0200
|
||||
@@ -61,6 +61,7 @@
|
||||
#include "valprint.h"
|
||||
#include "jit.h"
|
||||
#include "parser-defs.h"
|
||||
+#include "inline-frame.h"
|
||||
|
||||
/* readline include files */
|
||||
#include "readline/readline.h"
|
||||
@@ -3065,10 +3066,24 @@ bpstat_check_breakpoint_conditions (bpst
|
||||
@@ -3217,10 +3218,24 @@ bpstat_check_breakpoint_conditions (bpst
|
||||
const struct bp_location *bl = bs->breakpoint_at;
|
||||
struct breakpoint *b = bl->owner;
|
||||
|
||||
@ -236,7 +236,7 @@ Index: gdb-6.8.50.20090803/gdb/breakpoint.c
|
||||
{
|
||||
int value_is_zero = 0;
|
||||
|
||||
@@ -3215,6 +3230,12 @@ bpstat_stop_status (CORE_ADDR bp_addr, p
|
||||
@@ -3380,6 +3395,12 @@ bpstat_stop_status (CORE_ADDR bp_addr, p
|
||||
bs->print = 0;
|
||||
}
|
||||
bs->commands = copy_command_lines (bs->commands);
|
||||
@ -249,7 +249,7 @@ Index: gdb-6.8.50.20090803/gdb/breakpoint.c
|
||||
}
|
||||
|
||||
/* Print nothing for this entry if we dont stop or if we dont print. */
|
||||
@@ -5164,9 +5185,9 @@ set_momentary_breakpoint (struct gdbarch
|
||||
@@ -5278,9 +5299,9 @@ set_momentary_breakpoint (struct gdbarch
|
||||
{
|
||||
struct breakpoint *b;
|
||||
|
||||
@ -262,10 +262,10 @@ Index: gdb-6.8.50.20090803/gdb/breakpoint.c
|
||||
|
||||
b = set_raw_breakpoint (gdbarch, sal, type);
|
||||
b->enable_state = bp_enabled;
|
||||
Index: gdb-6.8.50.20090803/gdb/inline-frame.c
|
||||
Index: gdb-6.8.50.20090909/gdb/inline-frame.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/inline-frame.c 2009-06-28 02:20:22.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/inline-frame.c 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/inline-frame.c 2009-06-28 02:20:22.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/inline-frame.c 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -195,6 +195,12 @@ inline_frame_sniffer (const struct frame
|
||||
if (frame_block == NULL)
|
||||
return 0;
|
||||
@ -342,10 +342,10 @@ Index: gdb-6.8.50.20090803/gdb/inline-frame.c
|
||||
/* Return the number of hidden functions inlined into the current
|
||||
frame. */
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-markers.c
|
||||
Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-markers.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/testsuite/gdb.opt/inline-markers.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-markers.c 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/testsuite/gdb.opt/inline-markers.c 2009-06-28 02:20:24.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/testsuite/gdb.opt/inline-markers.c 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -15,11 +15,6 @@
|
||||
|
||||
extern int x, y;
|
||||
@ -358,11 +358,11 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-markers.c
|
||||
void marker(void)
|
||||
{
|
||||
x += y; /* set breakpoint 2 here */
|
||||
Index: gdb-6.8.50.20090803/gdb/gdbthread.h
|
||||
Index: gdb-6.8.50.20090909/gdb/gdbthread.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/gdbthread.h 2009-08-03 15:55:53.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/gdbthread.h 2009-08-03 16:57:40.000000000 +0200
|
||||
@@ -187,6 +187,12 @@ struct thread_info
|
||||
--- gdb-6.8.50.20090909.orig/gdb/gdbthread.h 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/gdbthread.h 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -191,6 +191,12 @@ struct thread_info
|
||||
|
||||
/* Private data used by the target vector implementation. */
|
||||
struct private_thread_info *private;
|
||||
@ -375,11 +375,11 @@ Index: gdb-6.8.50.20090803/gdb/gdbthread.h
|
||||
};
|
||||
|
||||
/* Create an empty thread list, or empty the existing one. */
|
||||
Index: gdb-6.8.50.20090803/gdb/infcmd.c
|
||||
Index: gdb-6.8.50.20090909/gdb/infcmd.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/infcmd.c 2009-07-02 23:57:27.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/infcmd.c 2009-08-03 17:17:24.000000000 +0200
|
||||
@@ -1408,11 +1408,11 @@ finish_command_continuation (void *arg)
|
||||
--- gdb-6.8.50.20090909.orig/gdb/infcmd.c 2009-09-09 19:05:56.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/infcmd.c 2009-09-09 19:20:33.000000000 +0200
|
||||
@@ -1434,11 +1434,11 @@ finish_command_continuation (void *arg)
|
||||
struct type *value_type;
|
||||
|
||||
value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (a->function));
|
||||
@ -393,9 +393,9 @@ Index: gdb-6.8.50.20090803/gdb/infcmd.c
|
||||
print_return_value (SYMBOL_TYPE (a->function), value_type);
|
||||
}
|
||||
|
||||
@@ -1514,6 +1514,16 @@ finish_forward (struct symbol *function,
|
||||
|
||||
old_chain = make_cleanup_delete_breakpoint (breakpoint);
|
||||
@@ -1546,6 +1546,16 @@ finish_forward (struct symbol *function,
|
||||
tp->initiating_frame = get_frame_id (frame);
|
||||
make_cleanup (delete_longjmp_breakpoint_cleanup, &thread);
|
||||
|
||||
+ /* We should _always_ set CURRENT_PC_IS_NOTCURRENT here to always see the
|
||||
+ calling line with the message `Value returned is ...'. Currently it is
|
||||
@ -410,7 +410,7 @@ Index: gdb-6.8.50.20090803/gdb/infcmd.c
|
||||
tp->proceed_to_finish = 1; /* We want stop_registers, please... */
|
||||
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 0);
|
||||
|
||||
@@ -1535,7 +1545,9 @@ finish_forward (struct symbol *function,
|
||||
@@ -1567,7 +1577,9 @@ finish_forward (struct symbol *function,
|
||||
static void
|
||||
finish_command (char *arg, int from_tty)
|
||||
{
|
||||
@ -421,7 +421,7 @@ Index: gdb-6.8.50.20090803/gdb/infcmd.c
|
||||
struct symbol *function;
|
||||
|
||||
int async_exec = 0;
|
||||
@@ -1566,45 +1578,63 @@ finish_command (char *arg, int from_tty)
|
||||
@@ -1598,45 +1610,63 @@ finish_command (char *arg, int from_tty)
|
||||
if (!target_has_execution)
|
||||
error (_("The program is not running."));
|
||||
|
||||
@ -502,7 +502,7 @@ Index: gdb-6.8.50.20090803/gdb/infcmd.c
|
||||
|
||||
/* Print info on the selected frame, including level number but not
|
||||
source. */
|
||||
@@ -1618,10 +1648,14 @@ finish_command (char *arg, int from_tty)
|
||||
@@ -1650,10 +1680,14 @@ finish_command (char *arg, int from_tty)
|
||||
print_stack_frame (get_selected_frame (NULL), 1, LOCATION);
|
||||
}
|
||||
|
||||
@ -518,22 +518,22 @@ Index: gdb-6.8.50.20090803/gdb/infcmd.c
|
||||
}
|
||||
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/target.c
|
||||
Index: gdb-6.8.50.20090909/gdb/target.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/target.c 2009-08-03 16:04:15.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/target.c 2009-08-03 16:57:40.000000000 +0200
|
||||
@@ -2079,6 +2079,7 @@ target_resume (ptid_t ptid, int step, en
|
||||
--- gdb-6.8.50.20090909.orig/gdb/target.c 2009-09-09 19:09:31.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/target.c 2009-09-09 19:21:00.000000000 +0200
|
||||
@@ -2182,6 +2182,7 @@ target_resume (ptid_t ptid, int step, en
|
||||
{
|
||||
struct target_ops *t;
|
||||
|
||||
+ clear_inline_frame_state (ptid);
|
||||
dcache_invalidate (target_dcache);
|
||||
target_dcache_invalidate ();
|
||||
|
||||
for (t = current_target.beneath; t != NULL; t = t->beneath)
|
||||
Index: gdb-6.8.50.20090803/gdb/inline-frame.h
|
||||
Index: gdb-6.8.50.20090909/gdb/inline-frame.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/inline-frame.h 2009-06-28 02:20:22.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/inline-frame.h 2009-08-03 16:57:40.000000000 +0200
|
||||
--- gdb-6.8.50.20090909.orig/gdb/inline-frame.h 2009-06-28 02:20:22.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/inline-frame.h 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -43,6 +43,10 @@ void clear_inline_frame_state (ptid_t pt
|
||||
|
||||
void step_into_inline_frame (ptid_t ptid);
|
||||
@ -545,11 +545,11 @@ Index: gdb-6.8.50.20090803/gdb/inline-frame.h
|
||||
/* Return the number of hidden functions inlined into the current
|
||||
frame. */
|
||||
|
||||
Index: gdb-6.8.50.20090803/gdb/dwarf2read.c
|
||||
Index: gdb-6.8.50.20090909/gdb/dwarf2read.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090803.orig/gdb/dwarf2read.c 2009-08-03 16:56:10.000000000 +0200
|
||||
+++ gdb-6.8.50.20090803/gdb/dwarf2read.c 2009-08-03 16:57:40.000000000 +0200
|
||||
@@ -4107,6 +4107,7 @@ read_func_scope (struct die_info *die, s
|
||||
--- gdb-6.8.50.20090909.orig/gdb/dwarf2read.c 2009-09-09 19:19:46.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/dwarf2read.c 2009-09-09 19:20:00.000000000 +0200
|
||||
@@ -4130,6 +4130,7 @@ read_func_scope (struct die_info *die, s
|
||||
struct block *block;
|
||||
unsigned die_children = 0;
|
||||
int inlined_func = (die->tag == DW_TAG_inlined_subroutine);
|
||||
@ -557,7 +557,7 @@ Index: gdb-6.8.50.20090803/gdb/dwarf2read.c
|
||||
|
||||
if (inlined_func)
|
||||
{
|
||||
@@ -4148,7 +4149,10 @@ read_func_scope (struct die_info *die, s
|
||||
@@ -4171,7 +4172,10 @@ read_func_scope (struct die_info *die, s
|
||||
add_to_cu_func_list (name, lowpc, highpc, cu);
|
||||
|
||||
new = push_context (0, lowpc);
|
||||
|
@ -1,237 +0,0 @@
|
||||
http://sourceware.org/ml/gdb-patches/2009-08/msg00310.html
|
||||
http://sourceware.org/ml/gdb-cvs/2009-08/msg00092.html
|
||||
|
||||
2009-08-19 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* value.c (enum internalvar_kind): Replace INTERNALVAR_SCALAR by
|
||||
INTERNALVAR_INTEGER and INTERNALVAR_POINTER.
|
||||
(union internalvar_data): Replace "scalar" member by "integer"
|
||||
and "pointer".
|
||||
(value_of_internalvar): Handle INTERNALVAR_INTEGER and
|
||||
INTERNALVAR_POINTER instead of INTERNALVAR_SCALAR.
|
||||
(get_internalvar_integer): Likewise.
|
||||
(set_internalvar): Likewise.
|
||||
(set_internalvar_integer): Likewise.
|
||||
(preserve_one_internalvar): Likewise.
|
||||
(value_from_pointer): Handle typedef'd pointer types.
|
||||
|
||||
2009-08-19 Doug Evans <dje@google.com>
|
||||
|
||||
* gdb.base/gdbvars.c: New file.
|
||||
* gdb.base/gdbvars.exp: Test convenience vars with program variables.
|
||||
|
||||
--- src/gdb/value.c 2009/08/13 18:39:20 1.92
|
||||
+++ src/gdb/value.c 2009/08/19 13:00:28 1.93
|
||||
@@ -920,8 +920,11 @@
|
||||
/* The internal variable holds a GDB internal convenience function. */
|
||||
INTERNALVAR_FUNCTION,
|
||||
|
||||
- /* The variable holds a simple scalar value. */
|
||||
- INTERNALVAR_SCALAR,
|
||||
+ /* The variable holds an integer value. */
|
||||
+ INTERNALVAR_INTEGER,
|
||||
+
|
||||
+ /* The variable holds a pointer value. */
|
||||
+ INTERNALVAR_POINTER,
|
||||
|
||||
/* The variable holds a GDB-provided string. */
|
||||
INTERNALVAR_STRING,
|
||||
@@ -944,19 +947,22 @@
|
||||
int canonical;
|
||||
} fn;
|
||||
|
||||
- /* A scalar value used with INTERNALVAR_SCALAR. */
|
||||
+ /* An integer value used with INTERNALVAR_INTEGER. */
|
||||
struct
|
||||
{
|
||||
/* If type is non-NULL, it will be used as the type to generate
|
||||
a value for this internal variable. If type is NULL, a default
|
||||
integer type for the architecture is used. */
|
||||
struct type *type;
|
||||
- union
|
||||
- {
|
||||
- LONGEST l; /* Used with TYPE_CODE_INT and NULL types. */
|
||||
- CORE_ADDR a; /* Used with TYPE_CODE_PTR types. */
|
||||
- } val;
|
||||
- } scalar;
|
||||
+ LONGEST val;
|
||||
+ } integer;
|
||||
+
|
||||
+ /* A pointer value used with INTERNALVAR_POINTER. */
|
||||
+ struct
|
||||
+ {
|
||||
+ struct type *type;
|
||||
+ CORE_ADDR val;
|
||||
+ } pointer;
|
||||
|
||||
/* A string value used with INTERNALVAR_STRING. */
|
||||
char *string;
|
||||
@@ -1082,16 +1088,16 @@
|
||||
val = allocate_value (builtin_type (gdbarch)->internal_fn);
|
||||
break;
|
||||
|
||||
- case INTERNALVAR_SCALAR:
|
||||
- if (!var->u.scalar.type)
|
||||
+ case INTERNALVAR_INTEGER:
|
||||
+ if (!var->u.integer.type)
|
||||
val = value_from_longest (builtin_type (gdbarch)->builtin_int,
|
||||
- var->u.scalar.val.l);
|
||||
- else if (TYPE_CODE (var->u.scalar.type) == TYPE_CODE_INT)
|
||||
- val = value_from_longest (var->u.scalar.type, var->u.scalar.val.l);
|
||||
- else if (TYPE_CODE (var->u.scalar.type) == TYPE_CODE_PTR)
|
||||
- val = value_from_pointer (var->u.scalar.type, var->u.scalar.val.a);
|
||||
+ var->u.integer.val);
|
||||
else
|
||||
- internal_error (__FILE__, __LINE__, "bad type");
|
||||
+ val = value_from_longest (var->u.integer.type, var->u.integer.val);
|
||||
+ break;
|
||||
+
|
||||
+ case INTERNALVAR_POINTER:
|
||||
+ val = value_from_pointer (var->u.pointer.type, var->u.pointer.val);
|
||||
break;
|
||||
|
||||
case INTERNALVAR_STRING:
|
||||
@@ -1145,14 +1151,9 @@
|
||||
{
|
||||
switch (var->kind)
|
||||
{
|
||||
- case INTERNALVAR_SCALAR:
|
||||
- if (var->u.scalar.type == NULL
|
||||
- || TYPE_CODE (var->u.scalar.type) == TYPE_CODE_INT)
|
||||
- {
|
||||
- *result = var->u.scalar.val.l;
|
||||
- return 1;
|
||||
- }
|
||||
- /* Fall through. */
|
||||
+ case INTERNALVAR_INTEGER:
|
||||
+ *result = var->u.integer.val;
|
||||
+ return 1;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
@@ -1224,15 +1225,15 @@
|
||||
break;
|
||||
|
||||
case TYPE_CODE_INT:
|
||||
- new_kind = INTERNALVAR_SCALAR;
|
||||
- new_data.scalar.type = value_type (val);
|
||||
- new_data.scalar.val.l = value_as_long (val);
|
||||
+ new_kind = INTERNALVAR_INTEGER;
|
||||
+ new_data.integer.type = value_type (val);
|
||||
+ new_data.integer.val = value_as_long (val);
|
||||
break;
|
||||
|
||||
case TYPE_CODE_PTR:
|
||||
- new_kind = INTERNALVAR_SCALAR;
|
||||
- new_data.scalar.type = value_type (val);
|
||||
- new_data.scalar.val.a = value_as_address (val);
|
||||
+ new_kind = INTERNALVAR_POINTER;
|
||||
+ new_data.pointer.type = value_type (val);
|
||||
+ new_data.pointer.val = value_as_address (val);
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -1269,9 +1270,9 @@
|
||||
/* Clean up old contents. */
|
||||
clear_internalvar (var);
|
||||
|
||||
- var->kind = INTERNALVAR_SCALAR;
|
||||
- var->u.scalar.type = NULL;
|
||||
- var->u.scalar.val.l = l;
|
||||
+ var->kind = INTERNALVAR_INTEGER;
|
||||
+ var->u.integer.type = NULL;
|
||||
+ var->u.integer.val = l;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -1426,10 +1427,16 @@
|
||||
{
|
||||
switch (var->kind)
|
||||
{
|
||||
- case INTERNALVAR_SCALAR:
|
||||
- if (var->u.scalar.type && TYPE_OBJFILE (var->u.scalar.type) == objfile)
|
||||
- var->u.scalar.type
|
||||
- = copy_type_recursive (objfile, var->u.scalar.type, copied_types);
|
||||
+ case INTERNALVAR_INTEGER:
|
||||
+ if (var->u.integer.type && TYPE_OBJFILE (var->u.integer.type) == objfile)
|
||||
+ var->u.integer.type
|
||||
+ = copy_type_recursive (objfile, var->u.integer.type, copied_types);
|
||||
+ break;
|
||||
+
|
||||
+ case INTERNALVAR_POINTER:
|
||||
+ if (TYPE_OBJFILE (var->u.pointer.type) == objfile)
|
||||
+ var->u.pointer.type
|
||||
+ = copy_type_recursive (objfile, var->u.pointer.type, copied_types);
|
||||
break;
|
||||
|
||||
case INTERNALVAR_VALUE:
|
||||
@@ -2164,7 +2171,7 @@
|
||||
value_from_pointer (struct type *type, CORE_ADDR addr)
|
||||
{
|
||||
struct value *val = allocate_value (type);
|
||||
- store_typed_address (value_contents_raw (val), type, addr);
|
||||
+ store_typed_address (value_contents_raw (val), check_typedef (type), addr);
|
||||
return val;
|
||||
}
|
||||
|
||||
--- src/gdb/testsuite/gdb.base/gdbvars.c
|
||||
+++ src/gdb/testsuite/gdb.base/gdbvars.c 2009-08-19 15:10:47.270783000 +0000
|
||||
@@ -0,0 +1,16 @@
|
||||
+/* Simple program to help exercise gdb's convenience variables. */
|
||||
+
|
||||
+typedef void *ptr;
|
||||
+
|
||||
+ptr p = &p;
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+#ifdef usestubs
|
||||
+ set_debug_traps ();
|
||||
+ breakpoint ();
|
||||
+#endif
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
--- src/gdb/testsuite/gdb.base/gdbvars.exp 2009/01/03 05:58:03 1.6
|
||||
+++ src/gdb/testsuite/gdb.base/gdbvars.exp 2009/08/19 13:00:29 1.7
|
||||
@@ -22,6 +22,15 @@
|
||||
set prms_id 0
|
||||
set bug_id 0
|
||||
|
||||
+set testfile "gdbvars"
|
||||
+set srcfile ${testfile}.c
|
||||
+set binfile ${objdir}/${subdir}/${testfile}
|
||||
+
|
||||
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
|
||||
+ untested gdbvars.exp
|
||||
+ return -1
|
||||
+}
|
||||
+
|
||||
proc test_convenience_variables {} {
|
||||
global gdb_prompt
|
||||
|
||||
@@ -101,13 +110,23 @@
|
||||
"Use value-history element in arithmetic expression"
|
||||
}
|
||||
|
||||
+proc test_with_program {} {
|
||||
+ global hex
|
||||
+ gdb_test "set \$prog_var = p" "" \
|
||||
+ "Set a new convenience variable to a program variable"
|
||||
+ gdb_test "print /x \$prog_var" " = $hex" \
|
||||
+ "Print contents of new convenience variable of program variable"
|
||||
+}
|
||||
+
|
||||
# Start with a fresh gdb.
|
||||
|
||||
gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
+gdb_load ${binfile}
|
||||
|
||||
send_gdb "set print sevenbit-strings\n" ; gdb_expect -re ".*$gdb_prompt $"
|
||||
|
||||
test_value_history
|
||||
test_convenience_variables
|
||||
+test_with_program
|
5180
gdb-archer.patch
5180
gdb-archer.patch
File diff suppressed because it is too large
Load Diff
@ -1,245 +0,0 @@
|
||||
http://sourceware.org/ml/gdb-cvs/2009-07/msg00143.html
|
||||
|
||||
2009-07-21 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* valops.c (value_fetch_lazy): Handle bitfields explicitly.
|
||||
(value_assign): Remove unnecessary FIXME. Honor the container
|
||||
type of bitfields if possible.
|
||||
* value.c (struct value): Add parent field.
|
||||
(value_parent): New function.
|
||||
(value_free): Free the parent also.
|
||||
(value_copy): Copy the parent also.
|
||||
(value_primitive_field): Do not read the contents of a lazy
|
||||
value to create a child bitfield value. Set bitpos and offset
|
||||
according to the container type if possible.
|
||||
(unpack_bits_as_long): Rename from unpack_field_as_long. Take
|
||||
field_type, bitpos, and bitsize instead of type and fieldno.
|
||||
(unpack_field_as_long): Use unpack_bits_as_long.
|
||||
* value.h (value_parent, unpack_bits_as_long): New prototypes.
|
||||
|
||||
[ Reverted, backported for Fedora. ]
|
||||
|
||||
--- ./gdb/valops.c 2009-08-28 19:27:30.000000000 +0200
|
||||
+++ ./gdb/valops.c 2009-08-28 19:27:59.000000000 +0200
|
||||
@@ -689,25 +689,7 @@ value_fetch_lazy (struct value *val)
|
||||
{
|
||||
gdb_assert (value_lazy (val));
|
||||
allocate_value_contents (val);
|
||||
- if (value_bitsize (val))
|
||||
- {
|
||||
- /* To read a lazy bitfield, read the entire enclosing value. This
|
||||
- prevents reading the same block of (possibly volatile) memory once
|
||||
- per bitfield. It would be even better to read only the containing
|
||||
- word, but we have no way to record that just specific bits of a
|
||||
- value have been fetched. */
|
||||
- struct type *type = check_typedef (value_type (val));
|
||||
- enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
|
||||
- struct value *parent = value_parent (val);
|
||||
- LONGEST offset = value_offset (val);
|
||||
- LONGEST num = unpack_bits_as_long (value_type (val),
|
||||
- value_contents (parent) + offset,
|
||||
- value_bitpos (val),
|
||||
- value_bitsize (val));
|
||||
- int length = TYPE_LENGTH (type);
|
||||
- store_signed_integer (value_contents_raw (val), length, byte_order, num);
|
||||
- }
|
||||
- else if (VALUE_LVAL (val) == lval_memory)
|
||||
+ if (VALUE_LVAL (val) == lval_memory)
|
||||
{
|
||||
CORE_ADDR addr = value_raw_address (val);
|
||||
|
||||
@@ -883,20 +865,13 @@ value_assign (struct value *toval, struc
|
||||
|
||||
if (value_bitsize (toval))
|
||||
{
|
||||
+ /* We assume that the argument to read_memory is in units
|
||||
+ of host chars. FIXME: Is that correct? */
|
||||
changed_len = (value_bitpos (toval)
|
||||
+ value_bitsize (toval)
|
||||
+ HOST_CHAR_BIT - 1)
|
||||
/ HOST_CHAR_BIT;
|
||||
|
||||
- /* If we can read-modify-write exactly the size of the
|
||||
- containing type (e.g. short or int) then do so. This
|
||||
- is safer for volatile bitfields mapped to hardware
|
||||
- registers. */
|
||||
- if (changed_len < TYPE_LENGTH (type)
|
||||
- && TYPE_LENGTH (type) <= (int) sizeof (LONGEST)
|
||||
- && ((LONGEST) value_address (toval) % TYPE_LENGTH (type)) == 0)
|
||||
- changed_len = TYPE_LENGTH (type);
|
||||
-
|
||||
if (changed_len > (int) sizeof (LONGEST))
|
||||
error (_("Can't handle bitfields which don't fit in a %d bit word."),
|
||||
(int) sizeof (LONGEST) * HOST_CHAR_BIT);
|
||||
--- ./gdb/value.c 2009-08-28 19:27:29.000000000 +0200
|
||||
+++ ./gdb/value.c 2009-08-28 19:28:34.000000000 +0200
|
||||
@@ -110,11 +110,6 @@ struct value
|
||||
gdbarch_bits_big_endian=1 targets, it is the position of the MSB. */
|
||||
int bitpos;
|
||||
|
||||
- /* Only used for bitfields; the containing value. This allows a
|
||||
- single read from the target when displaying multiple
|
||||
- bitfields. */
|
||||
- struct value *parent;
|
||||
-
|
||||
/* Frame register value is relative to. This will be described in
|
||||
the lval enum above as "lval_register". */
|
||||
struct frame_id frame_id;
|
||||
@@ -392,12 +387,6 @@ set_value_bitsize (struct value *value,
|
||||
value->bitsize = bit;
|
||||
}
|
||||
|
||||
-struct value *
|
||||
-value_parent (struct value *value)
|
||||
-{
|
||||
- return value->parent;
|
||||
-}
|
||||
-
|
||||
gdb_byte *
|
||||
value_contents_raw (struct value *value)
|
||||
{
|
||||
@@ -617,11 +606,6 @@ value_free (struct value *val)
|
||||
if (val->reference_count > 0)
|
||||
return;
|
||||
|
||||
- /* If there's an associated parent value, drop our reference to
|
||||
- it. */
|
||||
- if (val->parent != NULL)
|
||||
- value_free (val->parent);
|
||||
-
|
||||
type_decref (val->type);
|
||||
type_decref (val->enclosing_type);
|
||||
|
||||
@@ -750,9 +734,6 @@ value_copy (struct value *arg)
|
||||
TYPE_LENGTH (value_enclosing_type (arg)));
|
||||
|
||||
}
|
||||
- val->parent = arg->parent;
|
||||
- if (val->parent)
|
||||
- value_incref (val->parent);
|
||||
if (VALUE_LVAL (val) == lval_computed)
|
||||
{
|
||||
struct lval_funcs *funcs = val->location.computed.funcs;
|
||||
@@ -1946,28 +1927,15 @@ value_primitive_field (struct value *arg
|
||||
|
||||
if (TYPE_FIELD_BITSIZE (arg_type, fieldno))
|
||||
{
|
||||
- /* Create a new value for the bitfield, with bitpos and bitsize
|
||||
- set. If possible, arrange offset and bitpos so that we can
|
||||
- do a single aligned read of the size of the containing type.
|
||||
- Otherwise, adjust offset to the byte containing the first
|
||||
- bit. Assume that the address, offset, and embedded offset
|
||||
- are sufficiently aligned. */
|
||||
- int bitpos = TYPE_FIELD_BITPOS (arg_type, fieldno);
|
||||
- int container_bitsize = TYPE_LENGTH (type) * 8;
|
||||
-
|
||||
- v = allocate_value_lazy (type);
|
||||
+ v = value_from_longest (type,
|
||||
+ unpack_field_as_long (arg_type,
|
||||
+ value_contents (arg1)
|
||||
+ + offset,
|
||||
+ fieldno));
|
||||
+ v->bitpos = TYPE_FIELD_BITPOS (arg_type, fieldno) % 8;
|
||||
v->bitsize = TYPE_FIELD_BITSIZE (arg_type, fieldno);
|
||||
- if ((bitpos % container_bitsize) + v->bitsize <= container_bitsize
|
||||
- && TYPE_LENGTH (type) <= (int) sizeof (LONGEST))
|
||||
- v->bitpos = bitpos % container_bitsize;
|
||||
- else
|
||||
- v->bitpos = bitpos % 8;
|
||||
- v->offset = value_offset (arg1) + value_embedded_offset (arg1)
|
||||
- + (bitpos - v->bitpos) / 8;
|
||||
- v->parent = arg1;
|
||||
- value_incref (v->parent);
|
||||
- if (!value_lazy (arg1))
|
||||
- value_fetch_lazy (v);
|
||||
+ v->offset = value_offset (arg1) + offset
|
||||
+ + TYPE_FIELD_BITPOS (arg_type, fieldno) / 8;
|
||||
}
|
||||
else if (fieldno < TYPE_N_BASECLASSES (arg_type))
|
||||
{
|
||||
@@ -2094,9 +2062,8 @@ value_fn_field (struct value **arg1p, st
|
||||
}
|
||||
|
||||
|
||||
-/* Unpack a bitfield of the specified FIELD_TYPE, from the anonymous
|
||||
- object at VALADDR. The bitfield starts at BITPOS bits and contains
|
||||
- BITSIZE bits.
|
||||
+/* Unpack a field FIELDNO of the specified TYPE, from the anonymous object at
|
||||
+ VALADDR.
|
||||
|
||||
Extracting bits depends on endianness of the machine. Compute the
|
||||
number of least significant bits to discard. For big endian machines,
|
||||
@@ -2110,21 +2077,24 @@ value_fn_field (struct value **arg1p, st
|
||||
If the field is signed, we also do sign extension. */
|
||||
|
||||
LONGEST
|
||||
-unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
|
||||
- int bitpos, int bitsize)
|
||||
+unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno)
|
||||
{
|
||||
- enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (field_type));
|
||||
+ enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
|
||||
ULONGEST val;
|
||||
ULONGEST valmask;
|
||||
+ int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
|
||||
+ int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
|
||||
int lsbcount;
|
||||
+ struct type *field_type;
|
||||
|
||||
val = extract_unsigned_integer (valaddr + bitpos / 8,
|
||||
sizeof (val), byte_order);
|
||||
+ field_type = TYPE_FIELD_TYPE (type, fieldno);
|
||||
CHECK_TYPEDEF (field_type);
|
||||
|
||||
/* Extract bits. See comment above. */
|
||||
|
||||
- if (gdbarch_bits_big_endian (get_type_arch (field_type)))
|
||||
+ if (gdbarch_bits_big_endian (get_type_arch (type)))
|
||||
lsbcount = (sizeof val * 8 - bitpos % 8 - bitsize);
|
||||
else
|
||||
lsbcount = (bitpos % 8);
|
||||
@@ -2148,19 +2118,6 @@ unpack_bits_as_long (struct type *field_
|
||||
return (val);
|
||||
}
|
||||
|
||||
-/* Unpack a field FIELDNO of the specified TYPE, from the anonymous object at
|
||||
- VALADDR. See unpack_bits_as_long for more details. */
|
||||
-
|
||||
-LONGEST
|
||||
-unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno)
|
||||
-{
|
||||
- int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
|
||||
- int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
|
||||
- struct type *field_type = TYPE_FIELD_TYPE (type, fieldno);
|
||||
-
|
||||
- return unpack_bits_as_long (field_type, valaddr, bitpos, bitsize);
|
||||
-}
|
||||
-
|
||||
/* Modify the value of a bitfield. ADDR points to a block of memory in
|
||||
target byte order; the bitfield starts in the byte pointed to. FIELDVAL
|
||||
is the desired value of the field, in host byte order. BITPOS and BITSIZE
|
||||
--- ./gdb/value.h 2009-08-28 19:27:29.000000000 +0200
|
||||
+++ ./gdb/value.h 2009-08-28 19:27:59.000000000 +0200
|
||||
@@ -71,12 +71,6 @@ extern void set_value_bitsize (struct va
|
||||
extern int value_bitpos (struct value *);
|
||||
extern void set_value_bitpos (struct value *, int bit);
|
||||
|
||||
-/* Only used for bitfields; the containing value. This allows a
|
||||
- single read from the target when displaying multiple
|
||||
- bitfields. */
|
||||
-
|
||||
-struct value *value_parent (struct value *);
|
||||
-
|
||||
/* Describes offset of a value within lval of a structure in bytes.
|
||||
If lval == lval_memory, this is an offset to the address. If lval
|
||||
== lval_register, this is a further offset from location.address
|
||||
@@ -330,8 +324,6 @@ extern LONGEST unpack_long (struct type
|
||||
extern DOUBLEST unpack_double (struct type *type, const gdb_byte *valaddr,
|
||||
int *invp);
|
||||
extern CORE_ADDR unpack_pointer (struct type *type, const gdb_byte *valaddr);
|
||||
-LONGEST unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
|
||||
- int bitpos, int bitsize);
|
||||
extern LONGEST unpack_field_as_long (struct type *type,
|
||||
const gdb_byte *valaddr,
|
||||
int fieldno);
|
@ -7,9 +7,11 @@ gdb/
|
||||
* config.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
|
||||
--- a/gdb/configure.ac
|
||||
+++ b/gdb/configure.ac
|
||||
@@ -536,6 +536,21 @@ if test "$with_system_readline" = yes; then
|
||||
Index: gdb-6.8.50.20090909/gdb/configure.ac
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090909.orig/gdb/configure.ac 2009-09-09 20:11:04.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/configure.ac 2009-09-09 20:11:54.000000000 +0200
|
||||
@@ -773,6 +773,21 @@ if test "$with_system_readline" = yes; t
|
||||
READLINE=-lreadline
|
||||
READLINE_DEPS=
|
||||
READLINE_CFLAGS=
|
||||
@ -31,9 +33,11 @@ gdb/
|
||||
else
|
||||
READLINE='$(READLINE_DIR)/libreadline.a'
|
||||
READLINE_DEPS='$(READLINE)'
|
||||
--- a/gdb/config.in
|
||||
+++ b/gdb/config.in
|
||||
@@ -790,6 +790,9 @@
|
||||
Index: gdb-6.8.50.20090909/gdb/config.in
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090909.orig/gdb/config.in 2009-09-09 20:11:33.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/config.in 2009-09-09 20:12:00.000000000 +0200
|
||||
@@ -815,6 +815,9 @@
|
||||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
#undef pid_t
|
||||
|
||||
@ -43,9 +47,11 @@ gdb/
|
||||
/* Define to the equivalent of the C99 'restrict' keyword, or to
|
||||
nothing if this is not supported. Do not define if restrict is
|
||||
supported directly. */
|
||||
--- a/gdb/configure
|
||||
+++ b/gdb/configure
|
||||
@@ -10763,6 +10763,69 @@ if test "$with_system_readline" = yes; then
|
||||
Index: gdb-6.8.50.20090909/gdb/configure
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090909.orig/gdb/configure 2009-09-09 20:11:07.000000000 +0200
|
||||
+++ gdb-6.8.50.20090909/gdb/configure 2009-09-09 20:11:54.000000000 +0200
|
||||
@@ -9197,6 +9197,69 @@ if test "$with_system_readline" = yes; t
|
||||
READLINE=-lreadline
|
||||
READLINE_DEPS=
|
||||
READLINE_CFLAGS=
|
||||
|
20
gdb.spec
20
gdb.spec
@ -10,11 +10,11 @@ Name: gdb%{?_with_debug:-debug}
|
||||
# Set version to contents of gdb/version.in.
|
||||
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
|
||||
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
|
||||
Version: 6.8.50.20090818
|
||||
Version: 6.8.50.20090910
|
||||
|
||||
# The release always contains a leading reserved number, start it at 1.
|
||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||
Release: 8%{?_with_upstream:.upstream}%{?dist}
|
||||
Release: 1%{?_with_upstream:.upstream}%{?dist}
|
||||
|
||||
License: GPLv3+
|
||||
Group: Development/Debuggers
|
||||
@ -218,8 +218,8 @@ Patch229: gdb-6.3-bz140532-ppc-unwinding-test.patch
|
||||
# Testcase for exec() from threaded program (BZ 202689).
|
||||
Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
|
||||
|
||||
# Backported post gdb-6.8.50.20090818 snapshot fixups.
|
||||
Patch232: gdb-6.8.50.20090818-upstream.patch
|
||||
# Backported post gdb-6.8.50.20090910 snapshot fixups.
|
||||
#Patch232: gdb-6.8.50.20090910-upstream.patch
|
||||
|
||||
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
|
||||
Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch
|
||||
@ -363,9 +363,6 @@ Patch375: gdb-readline-6.0.patch
|
||||
# Temporarily disable assertion checks crashing in qsort_cmp (BZ 515434).
|
||||
Patch378: gdb-bz515434-qsort_cmp.patch
|
||||
|
||||
# Revert bitfields regression (BZ 520129).
|
||||
Patch380: gdb-bz520129-drow-bitfields.patch
|
||||
|
||||
BuildRequires: ncurses-devel texinfo gettext flex bison expat-devel
|
||||
Requires: readline
|
||||
BuildRequires: readline-devel
|
||||
@ -450,7 +447,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
||||
|
||||
%if 0%{!?_with_upstream:1}
|
||||
|
||||
%patch232 -p1
|
||||
#patch232 -p1
|
||||
%patch349 -p1
|
||||
%patch1 -p1
|
||||
%patch3 -p1
|
||||
@ -555,7 +552,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
||||
%patch360 -p1
|
||||
%patch375 -p1
|
||||
%patch378 -p1
|
||||
%patch380 -p1
|
||||
%patch124 -p1
|
||||
|
||||
find -name "*.orig" | xargs rm -f
|
||||
@ -829,6 +825,12 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Sep 10 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090910-1
|
||||
- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090910
|
||||
- archer-jankratochvil-fedora12 commit: 941eb487a42933e442cb4d11344cda96ecb8a04d
|
||||
- [next-over-throw] Fix exceptions thrown during next (Tom Tromey).
|
||||
- [bp_location-accel] Do not (much) slow down on 500+ breakpoints (me).
|
||||
|
||||
* Thu Sep 3 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090818-8
|
||||
- archer-jankratochvil-fedora12 commit: a081d2f12945e9468edd5f4341d3e945bd0fefe9
|
||||
- [expr] Fix too slow lookups in large C++ programs (Sami Wagiaalla).
|
||||
|
Loading…
Reference in New Issue
Block a user