- 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:
Jan Kratochvil 2009-09-10 21:37:41 +00:00
parent 2164cdaf2a
commit 806f8c893c
16 changed files with 4138 additions and 3272 deletions

View File

@ -1 +1 @@
gdb-6.8.50.20090818.tar.bz2 gdb-6.8.50.20090910.tar.bz2

View File

@ -25,10 +25,10 @@
Port to GDB-6.7. 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.20090909.orig/gdb/symfile-mem.c 2009-07-02 19:21:06.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/symfile-mem.c 2009-08-03 16:03:17.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/symfile-mem.c 2009-09-09 19:06:57.000000000 +0200
@@ -56,6 +56,14 @@ @@ -56,6 +56,14 @@
#include "elf/common.h" #include "elf/common.h"
@ -53,10 +53,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile-mem.c
if (nbfd == NULL) if (nbfd == NULL)
error (_("Failed to read a valid object file image from memory.")); 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.20090909.orig/gdb/target.c 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/target.c 2009-08-03 16:03:17.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 * @@ -59,7 +59,7 @@ static int nosymbol (char *, CORE_ADDR *
static void tcomplain (void) ATTR_NORETURN; static void tcomplain (void) ATTR_NORETURN;
@ -66,7 +66,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
static int return_zero (void); 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) (); (*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, nomemory (CORE_ADDR memaddr, char *myaddr, int len, int write,
struct target_ops *t) struct target_ops *t)
{ {
@@ -670,7 +670,7 @@ update_current_target (void) @@ -711,7 +711,7 @@ update_current_target (void)
(void (*) (struct regcache *)) (void (*) (struct regcache *))
noprocess); noprocess);
de_fault (deprecated_xfer_memory, de_fault (deprecated_xfer_memory,
@ -84,7 +84,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
nomemory); nomemory);
de_fault (to_files_info, de_fault (to_files_info,
(void (*) (struct target_ops *)) (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). */ it makes no progress, and then return how much was transferred). */
int int
@ -93,7 +93,16 @@ Index: gdb-6.8.50.20090803/gdb/target.c
{ {
/* Dispatch to the topmost target, not the flattened current_target. /* Dispatch to the topmost target, not the flattened current_target.
Memory accesses check target->to_has_(all_)memory, and the 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 int
@ -102,7 +111,7 @@ Index: gdb-6.8.50.20090803/gdb/target.c
{ {
/* Dispatch to the topmost target, not the flattened current_target. /* Dispatch to the topmost target, not the flattened current_target.
Memory accesses check target->to_has_(all_)memory, and the 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"); 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, int write, struct mem_attrib *attrib,
struct target_ops *target) 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); attrib, target);
fprintf_unfiltered (gdb_stdlog, fprintf_unfiltered (gdb_stdlog,
@ -124,11 +133,11 @@ Index: gdb-6.8.50.20090803/gdb/target.c
write ? "write" : "read", retval); write ? "write" : "read", retval);
if (retval > 0) 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.20090909.orig/gdb/target.h 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/target.h 2009-08-03 16:03:17.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/target.h 2009-09-09 19:07:36.000000000 +0200
@@ -363,10 +363,10 @@ struct target_ops @@ -366,10 +366,10 @@ struct target_ops
NOTE: cagney/2004-10-01: This has been entirely superseeded by NOTE: cagney/2004-10-01: This has been entirely superseeded by
to_xfer_partial and inferior inheritance. */ 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 *); void (*to_files_info) (struct target_ops *);
int (*to_insert_breakpoint) (struct gdbarch *, struct bp_target_info *); 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_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, int len);
+extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, LONGEST 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, extern int target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
- int len); - int len);
+ LONGEST len); + LONGEST len);
/* Fetches the target's memory map. If one is found it is sorted /* Fetches the target's memory map. If one is found it is sorted
and returned, after some consistency checking. Otherwise, NULL 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.20090909.orig/gdb/dcache.c 2009-08-31 22:18:45.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/dcache.c 2009-08-03 16:03:17.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/dcache.c 2009-09-09 19:09:21.000000000 +0200
@@ -524,9 +524,9 @@ dcache_free (DCACHE *dcache) @@ -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 -int
+LONGEST +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) - int len, int should_write)
+ LONGEST len, int should_write) + LONGEST len, int should_write)
{ {
int i; int i;
int (*xfunc) (DCACHE *dcache, CORE_ADDR addr, gdb_byte *ptr); int res;
Index: gdb-6.8.50.20090803/gdb/dcache.h 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.20090909.orig/gdb/dcache.h 2009-08-31 22:18:45.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/dcache.h 2009-08-03 16:03:17.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/dcache.h 2009-09-09 19:08:54.000000000 +0200
@@ -35,7 +35,7 @@ void dcache_free (DCACHE *); @@ -35,8 +35,8 @@ void dcache_free (DCACHE *);
/* Simple to call from <remote>_xfer_memory */ /* Simple to call from <remote>_xfer_memory */
-int dcache_xfer_memory (DCACHE *cache, CORE_ADDR mem, gdb_byte *my, -int dcache_xfer_memory (struct target_ops *ops, DCACHE *cache, CORE_ADDR mem,
- int len, int should_write); - gdb_byte *my, int len, int should_write);
+LONGEST dcache_xfer_memory (DCACHE *cache, CORE_ADDR mem, gdb_byte *my, +LONGEST dcache_xfer_memory (struct target_ops *ops, DCACHE *cache, CORE_ADDR mem,
+ LONGEST len, int should_write); + gdb_byte *my, LONGEST len, int should_write);
#endif /* DCACHE_H */ void dcache_update (DCACHE *dcache, CORE_ADDR memaddr, gdb_byte *myaddr,
Index: gdb-6.8.50.20090803/gdb/exec.c 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.20090909.orig/gdb/exec.c 2009-07-02 19:21:06.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/exec.c 2009-08-03 16:03:17.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) @@ -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, section_table_xfer_memory_partial (gdb_byte *readbuf, const gdb_byte *writebuf,
ULONGEST offset, LONGEST len, ULONGEST offset, LONGEST len,
struct target_section *sections, 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.20090909.orig/gdb/linux-nat.c 2009-09-09 19:06:46.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/linux-nat.c 2009-08-03 16:03:17.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/linux-nat.c 2009-09-09 19:06:57.000000000 +0200
@@ -4516,7 +4516,7 @@ linux_xfer_partial (struct target_ops *o @@ -4622,7 +4622,7 @@ linux_xfer_partial (struct target_ops *o
#endif #endif
if (iterate_over_lwps (ia64_linux_check_stack_region, &range) != NULL) if (iterate_over_lwps (ia64_linux_check_stack_region, &range) != NULL)
{ /* This region contains ia64 rse registers, we have to re-read. */ { /* 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. */ /* Re-read register stack area. */
xxfer = super_xfer_partial (ops, object, annex, 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.20090909.orig/gdb/remote.c 2009-08-18 18:17:16.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/remote.c 2009-08-03 16:03:17.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/remote.c 2009-09-09 19:06:57.000000000 +0200
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
#include "gdb_string.h" #include "gdb_string.h"
#include <ctype.h> #include <ctype.h>
@ -224,7 +238,7 @@ Index: gdb-6.8.50.20090803/gdb/remote.c
#include "inferior.h" #include "inferior.h"
#include "bfd.h" #include "bfd.h"
#include "symfile.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 if SHOULD_WRITE is nonzero. Returns length of data written or
read; 0 for error. TARGET is unused. */ 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); 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 else
res = remote_read_bytes (mem_addr, buffer, mem_len); 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 /* 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.20090909.orig/gdb/remote-sim.c 2009-07-02 19:21:06.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/remote-sim.c 2009-08-03 16:03:17.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 @@ -752,11 +752,14 @@ gdbsim_prepare_to_store (struct regcache
Returns the number of bytes transferred. */ 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 /* If no program is running yet, then ignore the simulator for
memory. Pass the request down to the next target, hopefully memory. Pass the request down to the next target, hopefully
an exec file. */ 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.20090909.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/gdb/exec.h 2009-09-09 19:06:57.000000000 +0200
@@ -56,7 +56,7 @@ extern int resize_section_table (struct @@ -56,7 +56,7 @@ extern int resize_section_table (struct
One, and only one, of readbuf or writebuf must be non-NULL. */ One, and only one, of readbuf or writebuf must be non-NULL. */

View File

@ -26,10 +26,10 @@
Fix scan_dyntag() for binaries provided by valgrind (BZ 460319). 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.20090909.orig/gdb/amd64-tdep.c 2009-09-09 19:09:31.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/amd64-tdep.c 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/amd64-tdep.c 2009-09-09 19:24:13.000000000 +0200
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
#include "regcache.h" #include "regcache.h"
#include "regset.h" #include "regset.h"
@ -138,10 +138,10 @@ Index: gdb-6.8.50.20090811/gdb/amd64-tdep.c
return pc; 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.20090909.orig/gdb/auxv.c 2009-07-02 19:25:52.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/auxv.c 2009-08-12 06:18:15.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 @@ -78,7 +78,7 @@ procfs_xfer_auxv (struct target_ops *ops
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */
static int static int
@ -230,10 +230,10 @@ Index: gdb-6.8.50.20090811/gdb/auxv.c
break; 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.20090909.orig/gdb/auxv.h 2009-06-07 21:07:08.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/auxv.h 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/auxv.h 2009-09-09 19:24:13.000000000 +0200
@@ -31,14 +31,14 @@ @@ -31,14 +31,14 @@
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */
extern int target_auxv_parse (struct target_ops *ops, 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. */ /* 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); 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.20090909.orig/gdb/dwarf2read.c 2009-09-09 19:21:23.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/dwarf2read.c 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/dwarf2read.c 2009-09-09 19:24:13.000000000 +0200
@@ -1653,7 +1653,7 @@ dwarf2_build_psymtabs (struct objfile *o @@ -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->eh_frame);
dwarf2_read_section (objfile, &dwarf2_per_objfile->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->global_psymbols.size == 0
&& objfile->static_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.20090909.orig/gdb/elfread.c 2009-09-09 19:05:55.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/elfread.c 2009-08-12 06:18:15.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 @@ -681,7 +681,7 @@ elf_symfile_read (struct objfile *objfil
/* If we are reinitializing, or if we have never loaded syms yet, /* If we are reinitializing, or if we have never loaded syms yet,
set table to empty. MAINLINE is cleared so that *_read_psymtab 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); init_psymbol_list (objfile, 0);
mainline = 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.20090909.orig/gdb/infrun.c 2009-09-09 19:09:31.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/infrun.c 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/infrun.c 2009-09-09 19:24:13.000000000 +0200
@@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME ( @@ -3602,6 +3602,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
#endif #endif
target_terminal_inferior (); target_terminal_inferior ();
@ -292,10 +292,10 @@ Index: gdb-6.8.50.20090811/gdb/infrun.c
/* If requested, stop when the dynamic linker notifies /* If requested, stop when the dynamic linker notifies
gdb of events. This allows the user to get control gdb of events. This allows the user to get control
and place breakpoints in initializer routines for 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.20090909.orig/gdb/objfiles.c 2009-09-09 19:23:05.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/objfiles.c 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/objfiles.c 2009-09-09 19:24:13.000000000 +0200
@@ -51,6 +51,9 @@ @@ -51,6 +51,9 @@
#include "arch-utils.h" #include "arch-utils.h"
#include "exec.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 /* Before the symbol table code was redone to make it easier to
selectively load and remove information particular to a specific selectively load and remove information particular to a specific
linkage unit, gdb used to do these things whenever the monolithic 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.20090909.orig/gdb/solib-svr4.c 2009-09-09 19:09:35.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/solib-svr4.c 2009-08-12 06:36:58.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/solib-svr4.c 2009-09-09 19:24:13.000000000 +0200
@@ -47,6 +47,7 @@ @@ -47,6 +47,7 @@
#include "exec.h" #include "exec.h"
#include "auxv.h" #include "auxv.h"
@ -1000,11 +1000,11 @@ Index: gdb-6.8.50.20090811/gdb/solib-svr4.c
+ add_info ("linkmap", info_linkmap_command, + add_info ("linkmap", info_linkmap_command,
+ "Display the inferior's linkmap."); + "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.20090909.orig/gdb/solib.c 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/solib.c 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/solib.c 2009-09-09 19:25:18.000000000 +0200
@@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch, @@ -82,6 +82,8 @@ set_solib_ops (struct gdbarch *gdbarch,
/* external data declarations */ /* 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 /* FIXME: gdbarch needs to control this variable, or else every
configuration needs to call set_solib_ops. */ configuration needs to call set_solib_ops. */
struct target_so_ops *current_target_so_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); value);
} }
@ -1060,10 +1060,10 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
+ else + else
+ so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED); + so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
+ +
p_refcount = xmalloc (sizeof (*p_refcount)); free_section_addr_info (sap);
*p_refcount = 2; /* Both solib and objfile refer to this abfd. */
bfd_usrdata (so->abfd) = p_refcount; return;
@@ -600,6 +628,10 @@ update_solib_list (int from_tty, struct @@ -596,6 +624,10 @@ update_solib_list (int from_tty, struct
} }
else else
{ {
@ -1074,7 +1074,7 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
if (! strcmp (gdb->so_original_name, i->so_original_name)) if (! strcmp (gdb->so_original_name, i->so_original_name))
break; 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. */ /* Fill in the rest of each of the `struct so_list' nodes. */
for (i = inferior; i; i = i->next) 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 /* Notify any observer that the shared object has been
loaded now that we've added it to GDB's tables. */ 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, reload_shared_libraries,
show_solib_search_path, show_solib_search_path,
&setlist, &showlist); &setlist, &showlist);
@ -1140,10 +1140,10 @@ Index: gdb-6.8.50.20090811/gdb/solib.c
+ NULL, NULL, + NULL, NULL,
+ &setdebuglist, &showdebuglist); + &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.20090909.orig/gdb/solist.h 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/solist.h 2009-08-12 06:18:15.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 @@ -61,6 +61,8 @@ struct so_list
bfd *abfd; bfd *abfd;
char symbols_loaded; /* flag: symbols read in yet? */ 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; +extern int debug_solib;
+ +
#endif #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.20090909.orig/gdb/symfile-mem.c 2009-09-09 19:06:57.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/symfile-mem.c 2009-08-12 06:18:15.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 @@ -115,7 +115,7 @@ symbol_file_add_from_memory (struct bfd
++i; ++i;
} }
@ -1177,10 +1177,10 @@ Index: gdb-6.8.50.20090811/gdb/symfile-mem.c
sai, OBJF_SHARED); sai, OBJF_SHARED);
/* This might change our ideas about frames already looked at. */ /* 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.20090909.orig/gdb/symfile.c 2009-09-09 19:15:43.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/symfile.c 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/symfile.c 2009-09-09 19:24:13.000000000 +0200
@@ -49,6 +49,7 @@ @@ -49,6 +49,7 @@
#include "readline/readline.h" #include "readline/readline.h"
#include "gdb_assert.h" #include "gdb_assert.h"
@ -1189,7 +1189,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
#include "observer.h" #include "observer.h"
#include "exec.h" #include "exec.h"
#include "parser-defs.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. */ /* 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 /* We will modify the main symbol table, make sure that all its users
will be cleaned up if an error occurs during symbol reading. */ 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 We no longer warn if the lowest section is not a text segment (as
happens for the PA64 port. */ happens for the PA64 port. */
@ -1207,7 +1207,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
{ {
asection *lower_sect; asection *lower_sect;
asection *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); 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. */ /* 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 /* 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 old main symbol file. Otherwise it is sufficient to fixup all the
breakpoints that may have been redefined by this symbol file. */ 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. */ /* We're done reading the symbol file; finish off complaints. */
clear_complaints (&symfile_complaints, 0, add_flags & SYMFILE_VERBOSE); 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 /* Give user a chance to burp if we'd be
interactively wiping out any existing symbols. */ 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 ()) && (have_full_symbols () || have_partial_symbols ())
&& from_tty && from_tty
&& (have_full_symbols () || have_partial_symbols ()) && (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) symfile_objfile->name)
: !query (_("Discard symbol table? ")))) : !query (_("Discard symbol table? "))))
error (_("Not confirmed.")); error (_("Not confirmed."));
@ -1260,7 +1260,7 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c
free_all_objfiles (); 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 as symbol reading was successful. */
discard_cleanups (old_cleanups); 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 /* 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 and now, we *want* this to be out of date, so don't call stat
again now. */ 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.20090909.orig/gdb/target.h 2009-09-09 19:07:36.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/target.h 2009-08-12 06:18:15.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/target.h 2009-09-09 19:24:13.000000000 +0200
@@ -524,7 +524,7 @@ struct target_ops @@ -528,7 +528,7 @@ struct target_ops
Return -1 if there is insufficient buffer for a whole entry. Return -1 if there is insufficient buffer for a whole entry.
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */
int (*to_auxv_parse) (struct target_ops *ops, gdb_byte **readptr, 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 /* Search SEARCH_SPACE_LEN bytes beginning at START_ADDR for the
sequence of bytes in PATTERN with length PATTERN_LEN. 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.20090909.orig/gdb/symfile.h 2009-09-09 19:15:43.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/symfile.h 2009-08-12 06:18:15.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 @@ -229,7 +229,13 @@ enum symfile_add_flags
SYMFILE_MAINLINE = 1 << 2, SYMFILE_MAINLINE = 1 << 2,
@ -1301,11 +1301,11 @@ Index: gdb-6.8.50.20090811/gdb/symfile.h
}; };
extern void syms_from_objfile (struct objfile *, 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.20090909.orig/gdb/infcmd.c 2009-09-09 19:20:33.000000000 +0200
+++ gdb-6.8.50.20090811/gdb/infcmd.c 2009-08-12 06:47:58.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/infcmd.c 2009-09-09 19:24:13.000000000 +0200
@@ -2276,6 +2276,9 @@ attach_command_post_wait (char *args, in @@ -2308,6 +2308,9 @@ attach_command_post_wait (char *args, in
post_create_inferior (&current_target, from_tty); post_create_inferior (&current_target, from_tty);
@ -1315,10 +1315,10 @@ Index: gdb-6.8.50.20090811/gdb/infcmd.c
/* Install inferior's terminal modes. */ /* Install inferior's terminal modes. */
target_terminal_inferior (); 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.20090909.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/gdb/linux-tdep.c 2009-09-09 19:24:13.000000000 +0200
@@ -163,5 +163,7 @@ in this session.\n")); @@ -163,5 +163,7 @@ in this session.\n"));
void void
_initialize_linux_tdep (void) _initialize_linux_tdep (void)

View File

@ -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.20090909.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/gdb/testsuite/configure.ac 2009-09-09 19:06:01.000000000 +0200
@@ -144,6 +144,6 @@ AC_OUTPUT([Makefile \ @@ -144,6 +144,6 @@ AC_OUTPUT([Makefile \
gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile \ gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile \
gdb.fortran/Makefile gdb.server/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.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \
gdb.python/Makefile gdb.reverse/Makefile \ gdb.python/Makefile gdb.reverse/Makefile \
gdb.threads/Makefile gdb.trace/Makefile gdb.xml/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.20090909.orig/gdb/testsuite/configure 2009-08-22 18:56:43.000000000 +0200
+++ gdb-6.8.50.20090802/gdb/testsuite/configure 2009-08-03 11:11:27.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/testsuite/configure 2009-09-09 19:06:27.000000000 +0200
@@ -3239,7 +3239,7 @@ done @@ -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.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.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
cat >confcache <<\_ACEOF cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure # This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure @@ -4231,6 +4231,7 @@ do
@@ -3813,6 +3813,7 @@ do "gdb.objc/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.objc/Makefile" ;;
"gdb.objc/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.objc/Makefile" ;; "gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
"gdb.opt/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;; "gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
"gdb.pascal/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;; + "gdb.pie/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;;
+ "gdb.pie/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;; "gdb.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
"gdb.python/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;; "gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
"gdb.reverse/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;; "gdb.threads/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.threads/Makefile" ;;
"gdb.threads/Makefile" ) CONFIG_FILES="$CONFIG_FILES gdb.threads/Makefile" ;; Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/attach.c
Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.c
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-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 @@ @@ -0,0 +1,20 @@
+/* This program is intended to be started outside of gdb, and then +/* This program is intended to be started outside of gdb, and then
+ attached to by gdb. Thus, it simply spins in a loop. The loop + attached to by gdb. Thus, it simply spins in a loop. The loop
@ -56,10 +56,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach.c
+ } + }
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,24 @@
+/* This program is intended to be started outside of gdb, and then +/* This program is intended to be started outside of gdb, and then
+ attached to by gdb. Thus, it simply spins in a loop. The loop + attached to by gdb. Thus, it simply spins in a loop. The loop
@ -85,10 +85,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/attach2.c
+ } + }
+ return (0); + 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 --- /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 @@ @@ -0,0 +1,146 @@
+/* This testcase is part of GDB, the GNU debugger. +/* This testcase is part of GDB, the GNU debugger.
+ +
@ -236,10 +236,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.c
+ } + }
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,44 @@
+/* This testcase is part of GDB, the GNU debugger. +/* This testcase is part of GDB, the GNU debugger.
+ +
@ -285,10 +285,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break1.c
+void marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */ +void marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */
+void marker4 (d) long d; {} /* set breakpoint 13 here */ +void marker4 (d) long d; {} /* set breakpoint 13 here */
+#endif +#endif
Index: gdb-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 --- /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 @@ @@ -0,0 +1,142 @@
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999 +/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
+ Free Software Foundation, Inc. + Free Software Foundation, Inc.
@ -432,10 +432,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/coremaker.c
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,432 @@
+# Copyright 1997, 1999, 2002 Free Software Foundation, Inc. +# 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 +do_call_attach_tests
+ +
+return 0 +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 --- /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 @@ @@ -0,0 +1,977 @@
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, +# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2002, 2003, 2004 +# 2000, 2002, 2003, 2004
@ -1851,10 +1851,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.pie/break.exp
+ send_gdb "set args main\n" + send_gdb "set args main\n"
+ gdb_expect -re ".*$gdb_prompt $" {} + gdb_expect -re ".*$gdb_prompt $" {}
+} +}
Index: gdb-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 --- /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 @@ @@ -0,0 +1,243 @@
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 +# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Free Software Foundation, Inc. +# Free Software Foundation, Inc.
@ -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 "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\).*" "up in corefile.exp (reinit)"
+ +
+gdb_test "core" "No core file now." +gdb_test "core" "No core file now."
Index: gdb-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 --- /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 @@ @@ -0,0 +1,19 @@
+VPATH = @srcdir@ +VPATH = @srcdir@
+srcdir = @srcdir@ +srcdir = @srcdir@

File diff suppressed because it is too large Load Diff

View File

@ -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.20090909.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/gdb/corelow.c 2009-09-09 19:09:35.000000000 +0200
@@ -45,6 +45,10 @@ @@ -45,6 +45,10 @@
#include "exceptions.h" #include "exceptions.h"
#include "solib.h" #include "solib.h"
@ -89,11 +89,11 @@ Index: gdb-6.8.50.20090818/gdb/corelow.c
+ NULL, NULL, NULL, + NULL, NULL, NULL,
+ &setlist, &showlist); + &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.20090909.orig/gdb/doc/gdb.texinfo 2009-09-09 19:09:31.000000000 +0200
+++ gdb-6.8.50.20090818/gdb/doc/gdb.texinfo 2009-08-18 21:07:23.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/doc/gdb.texinfo 2009-09-09 19:09:35.000000000 +0200
@@ -13733,6 +13733,27 @@ information files. @@ -13764,6 +13764,27 @@ information files.
@end table @end table
@ -121,10 +121,10 @@ Index: gdb-6.8.50.20090818/gdb/doc/gdb.texinfo
@cindex @code{.gnu_debuglink} sections @cindex @code{.gnu_debuglink} sections
@cindex debug link sections @cindex debug link sections
A debug link is a special section of the executable file named A debug link is a special section of the executable file named
Index: gdb-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.20090909.orig/gdb/solib-svr4.c 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090818/gdb/solib-svr4.c 2009-08-18 21:07:23.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) @@ -1101,9 +1101,33 @@ svr4_current_sos (void)
safe_strerror (errcode)); safe_strerror (errcode));
else else
@ -162,10 +162,10 @@ Index: gdb-6.8.50.20090818/gdb/solib-svr4.c
} }
xfree (buffer); 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.20090909.orig/gdb/symfile.c 2009-09-09 19:09:31.000000000 +0200
+++ gdb-6.8.50.20090818/gdb/symfile.c 2009-08-18 21:08:31.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/symfile.c 2009-09-09 19:09:55.000000000 +0200
@@ -56,6 +56,7 @@ @@ -56,6 +56,7 @@
#include "elf-bfd.h" #include "elf-bfd.h"
#include "solib.h" #include "solib.h"
@ -174,7 +174,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
#include <sys/types.h> #include <sys/types.h>
#include <fcntl.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")); printf_unfiltered (_("No symbol file now.\n"));
} }
@ -242,7 +242,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
{ {
struct build_id *retval; 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; 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. */ /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
static int 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) if (abfd == NULL)
return 0; return 0;
@ -600,7 +600,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
if (found == NULL) if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"), filename); warning (_("File \"%s\" has no build-id, file skipped"), filename);
@@ -1254,8 +1646,9 @@ build_id_verify (const char *filename, s @@ -1235,8 +1627,9 @@ build_id_verify (const char *filename, s
return retval; return retval;
} }
@ -612,7 +612,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
{ {
char *link, *s, *retval = NULL; char *link, *s, *retval = NULL;
gdb_byte *data = build_id->data; 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 */ /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
link = xmalloc (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1 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); s = link + sprintf (link, "%s/.build-id/", debug_file_directory);
if (size > 0) 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++ = '/'; *s++ = '/';
while (size-- > 0) while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++); 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)) 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; retval = NULL;
} }
@ -791,7 +791,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
static char * static char *
get_debug_link_info (struct objfile *objfile, unsigned long *crc32_out) 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) find_separate_debug_file (struct objfile *objfile)
{ {
asection *sect; asection *sect;
@ -836,7 +836,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
} }
basename = get_debug_link_info (objfile, &crc32); 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) if (basename == NULL)
/* There's no separate debug info, hence there's no way we could /* There's no separate debug info, hence there's no way we could
load it => no warning. */ load it => no warning. */
@ -845,7 +845,7 @@ Index: gdb-6.8.50.20090818/gdb/symfile.c
dir = xstrdup (objfile->name); 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) if (canon_name && strlen (canon_name) > i)
i = strlen (canon_name); 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. */ /* Then try in the subdirectory named DEBUG_SUBDIRECTORY. */
strcpy (debugfile, dir); 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); strcat (debugfile, basename);
if (separate_debug_file_exists (debugfile, crc32, objfile->name)) 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. */ /* Then try in the global debugfile directory. */
strcpy (debugfile, debug_file_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); strcat (debugfile, basename);
if (separate_debug_file_exists (debugfile, crc32, objfile->name)) 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 /* If the file is in the sysroot, try using its base path in the
global debugfile directory. */ 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); strcat (debugfile, basename);
if (separate_debug_file_exists (debugfile, crc32, objfile->name)) 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 @@ -4231,4 +4756,16 @@ the global debug-file directory prepende
NULL, NULL,
NULL, show_debug_file_directory,
&setprintlist, &showprintlist); &setlist, &showlist);
+ +
+ add_setshow_zinteger_cmd ("build-id-verbose", no_class, &build_id_verbose, + add_setshow_zinteger_cmd ("build-id-verbose", no_class, &build_id_verbose,
+ _("\ + _("\
+Set debugging level of the build-id locator."), _("\ + Set debugging level of the build-id locator."), _("\
+Show 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 1 (default) enables printing the missing debug filenames,\n\
+level 2 also prints the parsing of binaries to find the identificators."), + level 2 also prints the parsing of binaries to find the identificators."),
+ NULL, + NULL,
+ show_build_id_verbose, + show_build_id_verbose,
+ &setlist, &showlist); + &setlist, &showlist);
+ +
+ observer_attach_executable_changed (debug_print_executable_changed); + 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.20090909.orig/gdb/symfile.h 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090818/gdb/symfile.h 2009-08-18 21:07:23.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/symfile.h 2009-09-09 19:09:35.000000000 +0200
@@ -388,6 +388,13 @@ extern int symfile_map_offsets_to_segmen @@ -381,6 +381,13 @@ extern int symfile_map_offsets_to_segmen
struct symfile_segment_data *get_symfile_segment_data (bfd *abfd); struct symfile_segment_data *get_symfile_segment_data (bfd *abfd);
void free_symfile_segment_data (struct symfile_segment_data *data); 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 */ /* From dwarf2read.c */
extern int dwarf2_has_info (struct objfile *); 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.20090909.orig/gdb/testsuite/lib/gdb.exp 2009-09-09 19:05:56.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/gdb/testsuite/lib/gdb.exp 2009-09-09 19:09:35.000000000 +0200
@@ -1248,6 +1248,16 @@ proc default_gdb_start { } { @@ -1248,6 +1248,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0." 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; 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.20090909.orig/gdb/testsuite/lib/mi-support.exp 2009-09-09 19:05:56.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/gdb/testsuite/lib/mi-support.exp 2009-09-09 19:09:35.000000000 +0200
@@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } { @@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } {
} }
} }

View File

@ -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.20090910.orig/bfd/elf-bfd.h 2009-09-09 23:38:57.000000000 +0200
+++ gdb-6.8.50.20090803/bfd/elf-bfd.h 2009-08-03 17:21:25.000000000 +0200 +++ gdb-6.8.50.20090910/bfd/elf-bfd.h 2009-09-10 23:01:15.000000000 +0200
@@ -2115,7 +2115,7 @@ extern Elf_Internal_Phdr * _bfd_elf_find @@ -2121,7 +2121,7 @@ extern Elf_Internal_Phdr * _bfd_elf_find
extern char *elfcore_write_note extern char *elfcore_write_note
(bfd *, char *, int *, const char *, int, const void *, int); (bfd *, char *, int *, const char *, int, const void *, int);
extern char *elfcore_write_prpsinfo extern char *elfcore_write_prpsinfo
@ -11,11 +11,11 @@ Index: gdb-6.8.50.20090803/bfd/elf-bfd.h
extern char *elfcore_write_prstatus extern char *elfcore_write_prstatus
(bfd *, char *, int *, long, int, const void *); (bfd *, char *, int *, long, int, const void *);
extern char * elfcore_write_pstatus 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.20090910.orig/bfd/elf.c 2009-09-09 23:38:57.000000000 +0200
+++ gdb-6.8.50.20090803/bfd/elf.c 2009-08-03 17:23:13.000000000 +0200 +++ gdb-6.8.50.20090910/bfd/elf.c 2009-09-10 23:04:17.000000000 +0200
@@ -8381,6 +8381,7 @@ char * @@ -8398,6 +8398,7 @@ char *
elfcore_write_prpsinfo (bfd *abfd, elfcore_write_prpsinfo (bfd *abfd,
char *buf, char *buf,
int *bufsiz, int *bufsiz,
@ -23,7 +23,7 @@ Index: gdb-6.8.50.20090803/bfd/elf.c
const char *fname, const char *fname,
const char *psargs) 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; int note_type = NT_PRPSINFO;
#endif #endif
@ -42,7 +42,7 @@ Index: gdb-6.8.50.20090803/bfd/elf.c
return elfcore_write_note (abfd, buf, bufsiz, return elfcore_write_note (abfd, buf, bufsiz,
note_name, note_type, &data, sizeof (data)); 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; int note_type = NT_PRPSINFO;
#endif #endif
@ -61,10 +61,10 @@ Index: gdb-6.8.50.20090803/bfd/elf.c
return elfcore_write_note (abfd, buf, bufsiz, return elfcore_write_note (abfd, buf, bufsiz,
note_name, note_type, &data, sizeof (data)); 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.20090910.orig/gdb/amd64-linux-nat.c 2009-09-10 23:01:07.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/gdb/amd64-linux-nat.c 2009-09-10 23:01:15.000000000 +0200
@@ -140,6 +140,7 @@ static int amd64_linux_gregset32_reg_off @@ -140,6 +140,7 @@ static int amd64_linux_gregset32_reg_off
static char * static char *
@ -98,10 +98,10 @@ Index: gdb-6.8.50.20090803/gdb/amd64-linux-nat.c
} }
static void 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.20090910.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/gdb/fbsd-nat.c 2009-09-10 23:01:15.000000000 +0200
@@ -211,6 +211,7 @@ fbsd_make_corefile_notes (bfd *obfd, int @@ -211,6 +211,7 @@ fbsd_make_corefile_notes (bfd *obfd, int
psargs = reconcat (psargs, psargs, " ", get_inferior_args (), NULL); psargs = reconcat (psargs, psargs, " ", get_inferior_args (), NULL);
@ -110,10 +110,10 @@ Index: gdb-6.8.50.20090803/gdb/fbsd-nat.c
fname, psargs); 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.20090910.orig/gdb/linux-nat.c 2009-09-10 23:01:06.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/linux-nat.c 2009-08-03 17:24:03.000000000 +0200 +++ gdb-6.8.50.20090910/gdb/linux-nat.c 2009-09-10 23:01:15.000000000 +0200
@@ -55,6 +55,7 @@ @@ -55,6 +55,7 @@
#include "xml-support.h" #include "xml-support.h"
#include "terminal.h" #include "terminal.h"
@ -131,7 +131,7 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
char *(*linux_elfcore_write_prstatus) char *(*linux_elfcore_write_prstatus)
(bfd *, char *, int *, long, int, const void *) = elfcore_write_prstatus; (bfd *, char *, int *, long, int, const void *) = elfcore_write_prstatus;
static char * 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; 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 /* Fills the "to_make_corefile_note" target vector. Builds the note
section for a corefile, and returns it in a malloc buffer. */ 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)) if (get_exec_file (0))
{ {
@ -306,7 +306,7 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
if (get_inferior_args ()) if (get_inferior_args ())
{ {
char *string_end; 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); psargs_end - string_end);
} }
} }
@ -324,11 +324,11 @@ Index: gdb-6.8.50.20090803/gdb/linux-nat.c
} }
/* Dump information for threads. */ /* 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.20090910.orig/gdb/linux-nat.h 2009-09-10 23:01:06.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/linux-nat.h 2009-08-03 17:21:25.000000000 +0200 +++ gdb-6.8.50.20090910/gdb/linux-nat.h 2009-09-10 23:01:15.000000000 +0200
@@ -148,7 +148,7 @@ struct siginfo *linux_nat_get_siginfo (p @@ -154,7 +154,7 @@ struct siginfo *linux_nat_get_siginfo (p
/* These functions make elfcore note sections. /* These functions make elfcore note sections.
They may get overriden by code adjusting data for multi-target builds. */ They may get overriden by code adjusting data for multi-target builds. */
extern char *(*linux_elfcore_write_prpsinfo) 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) extern char *(*linux_elfcore_write_prstatus)
(bfd *, char *, int *, long, int, const void *); (bfd *, char *, int *, long, int, const void *);
extern char *(*linux_elfcore_write_prfpreg) 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.20090910.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/gdb/procfs.c 2009-09-10 23:01:15.000000000 +0200
@@ -6147,6 +6147,7 @@ procfs_make_note_section (bfd *obfd, int @@ -6147,6 +6147,7 @@ procfs_make_note_section (bfd *obfd, int
note_data = (char *) elfcore_write_prpsinfo (obfd, note_data = (char *) elfcore_write_prpsinfo (obfd,
note_data, note_data,

View File

@ -5,33 +5,30 @@ gdb/
* config.in: Regenerate. * config.in: Regenerate.
* configure: 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.20090909.orig/gdb/configure.ac 2009-09-09 20:08:04.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/configure.ac 2009-08-04 06:33:51.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/configure.ac 2009-09-09 20:11:04.000000000 +0200
@@ -30,6 +30,7 @@ AC_GNU_SOURCE @@ -28,6 +28,7 @@ AM_MAINTAINER_MODE
AC_AIX AC_PROG_CC
AC_ISC_POSIX AC_USE_SYSTEM_EXTENSIONS
gl_EARLY gl_EARLY
+AC_SYS_LARGEFILE +AC_SYS_LARGEFILE
AM_PROG_CC_STDC AM_PROG_CC_STDC
AC_CONFIG_AUX_DIR(..) 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.20090909.orig/gdb/config.in 2009-09-09 20:08:04.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/config.in 2009-08-04 06:33:51.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/config.in 2009-09-09 20:11:33.000000000 +0200
@@ -744,6 +744,9 @@ @@ -751,10 +751,16 @@
# undef _ALL_SOURCE # endif
#endif #endif
+/* Number of bits in a file offset, on hosts where this is settable. */ +/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS +#undef _FILE_OFFSET_BITS
+ +
/* Enable GNU extensions on systems that have them. */ /* Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works around a
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
@@ -753,6 +756,9 @@
<sys/proc.h> problem on IRIX 5. */ <sys/proc.h> problem on IRIX 5. */
#undef _KMEMUSER #undef _KMEMUSER
@ -41,11 +38,19 @@ Index: gdb-6.8.50.20090803/gdb/config.in
/* Define to 1 if on MINIX. */ /* Define to 1 if on MINIX. */
#undef _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.20090909.orig/gdb/configure 2009-09-09 20:10:45.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/configure 2009-08-04 06:33:51.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/configure 2009-09-09 20:11:07.000000000 +0200
@@ -874,6 +874,7 @@ Optional Features: @@ -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-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-maintainer-mode enable make rules and dependencies not useful --enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer (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 --disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors --enable-dependency-tracking do not reject slow dependency extractors
--enable-targets=TARGETS --enable-targets=TARGETS
@@ -3347,6 +3348,370 @@ _ACEOF @@ -4100,6 +4102,204 @@ fi
+# Check whether --enable-largefile or --disable-largefile was given. +# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then +if test "${enable_largefile+set}" = set; then :
+ enableval="$enable_largefile" + enableval=$enable_largefile;
+fi
+ +
+fi;
+if test "$enable_largefile" != no; then +if test "$enable_largefile" != no; then
+ +
+ echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$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 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if test "${ac_cv_sys_largefile_CC+set}" = set; then +if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+ echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6
+else +else
+ ac_cv_sys_largefile_CC=no + ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then + if test "$GCC" != yes; then
+ ac_save_CC=$CC + ac_save_CC=$CC
+ while :; do + while :; do
+ # IRIX 6.2 and later do not support large files by default, + # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps. + # so use the C compiler's -n32 option if that helps.
+ cat >conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */ +/* end confdefs.h. */
+#include <sys/types.h> +#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly. + /* Check that off_t can represent 2**63 - 1 correctly.
@ -98,89 +99,34 @@ Index: gdb-6.8.50.20090803/gdb/configure
+ return 0; + return 0;
+} +}
+_ACEOF +_ACEOF
+ rm -f conftest.$ac_objext + if ac_fn_c_try_compile "$LINENO"; then :
+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 + break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi +fi
+rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32" + CC="$CC -n32"
+ rm -f conftest.$ac_objext + if ac_fn_c_try_compile "$LINENO"; then :
+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
+ ac_cv_sys_largefile_CC=' -n32'; break + ac_cv_sys_largefile_CC=' -n32'; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi +fi
+rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext
+ break + break
+ done + done
+ CC=$ac_save_CC + CC=$ac_save_CC
+ rm -f conftest.$ac_ext + rm -f conftest.$ac_ext
+ fi + fi
+fi +fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 +$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then + if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC + CC=$CC$ac_cv_sys_largefile_CC
+ fi + fi
+ +
+ echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$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 +$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 +if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+ echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6
+else +else
+ while :; do + while :; do
+ ac_cv_sys_file_offset_bits=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */ +/* end confdefs.h. */
+#include <sys/types.h> +#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly. + /* Check that off_t can represent 2**63 - 1 correctly.
@ -199,40 +145,11 @@ Index: gdb-6.8.50.20090803/gdb/configure
+ return 0; + return 0;
+} +}
+_ACEOF +_ACEOF
+rm -f conftest.$ac_objext +if ac_fn_c_try_compile "$LINENO"; then :
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + ac_cv_sys_file_offset_bits=no; break
+ (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
+
+fi +fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */ +/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64 +#define _FILE_OFFSET_BITS 64
+#include <sys/types.h> +#include <sys/types.h>
@ -252,60 +169,33 @@ Index: gdb-6.8.50.20090803/gdb/configure
+ return 0; + return 0;
+} +}
+_ACEOF +_ACEOF
+rm -f conftest.$ac_objext +if ac_fn_c_try_compile "$LINENO"; then :
+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
+ ac_cv_sys_file_offset_bits=64; break + ac_cv_sys_file_offset_bits=64; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi +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 + break
+done +done
+fi +fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+if test "$ac_cv_sys_file_offset_bits" != no; then +case $ac_cv_sys_file_offset_bits in #(
+ + no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF +_ACEOF
+ +;;
+fi +esac
+rm -f conftest* +rm -rf conftest*
+ echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 + if test $ac_cv_sys_file_offset_bits = unknown; then
+echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+if test "${ac_cv_sys_large_files+set}" = set; then +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+ echo $ECHO_N "(cached) $ECHO_C" >&6 +if test "${ac_cv_sys_large_files+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else +else
+ while :; do + while :; do
+ ac_cv_sys_large_files=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */ +/* end confdefs.h. */
+#include <sys/types.h> +#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly. + /* Check that off_t can represent 2**63 - 1 correctly.
@ -324,40 +214,11 @@ Index: gdb-6.8.50.20090803/gdb/configure
+ return 0; + return 0;
+} +}
+_ACEOF +_ACEOF
+rm -f conftest.$ac_objext +if ac_fn_c_try_compile "$LINENO"; then :
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + ac_cv_sys_large_files=no; break
+ (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
+
+fi +fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */ +/* end confdefs.h. */
+#define _LARGE_FILES 1 +#define _LARGE_FILES 1
+#include <sys/types.h> +#include <sys/types.h>
@ -377,48 +238,26 @@ Index: gdb-6.8.50.20090803/gdb/configure
+ return 0; + return 0;
+} +}
+_ACEOF +_ACEOF
+rm -f conftest.$ac_objext +if ac_fn_c_try_compile "$LINENO"; then :
+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
+ ac_cv_sys_large_files=1; break + ac_cv_sys_large_files=1; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi +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 + break
+done +done
+fi +fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+echo "${ECHO_T}$ac_cv_sys_large_files" >&6 +$as_echo "$ac_cv_sys_large_files" >&6; }
+if test "$ac_cv_sys_large_files" != no; then +case $ac_cv_sys_large_files in #(
+ + no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files +#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF +_ACEOF
+ +;;
+fi +esac
+rm -f conftest* +rm -rf conftest*
+ fi
+fi +fi
+ +

View File

@ -1,9 +1,9 @@
Fix resolving of variables at locations lists in prelinked libs (BZ 466901). 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.20090909.orig/gdb/dwarf2loc.c 2009-09-09 20:08:03.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/dwarf2loc.c 2009-08-04 06:33:35.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_ @@ -56,7 +56,9 @@ find_location_expression (struct dwarf2_
CORE_ADDR low, high; CORE_ADDR low, high;
gdb_byte *loc_ptr, *buf_end; 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); struct gdbarch *gdbarch = get_objfile_arch (objfile);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
unsigned int addr_size = dwarf2_per_cu_addr_size (baton->per_cu); 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 --- /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 @@ @@ -0,0 +1,102 @@
+# Copyright 2008 Free Software Foundation, Inc. +# 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'. +# `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()" +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 --- /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 @@ @@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 (); + func ();
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,328 @@
+/* This testcase is part of GDB, the GNU debugger. +/* This testcase is part of GDB, the GNU debugger.
+ +

View File

@ -5,10 +5,10 @@ causing: FAIL: gdb.base/unwindonsignal.exp: unwindonsignal, stack unwound
resume() -> target_resume() move of clear_inline_frame_state() is for: resume() -> target_resume() move of clear_inline_frame_state() is for:
gdb.mi/mi-nsmoribund.exp 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.20090909.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/gdb/testsuite/gdb.opt/inline-bt.c 2009-09-09 19:20:00.000000000 +0200
@@ -13,10 +13,16 @@ @@ -13,10 +13,16 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */ 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) 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.20090909.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/gdb/testsuite/gdb.opt/inline-cmds.c 2009-09-09 19:20:00.000000000 +0200
@@ -13,13 +13,19 @@ @@ -13,13 +13,19 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */ 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) inline int func1(void)
{ {
bar (); 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.20090909.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/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 @@ -230,7 +230,7 @@ set line3 [gdb_get_line_number "set brea
gdb_breakpoint $line3 gdb_breakpoint $line3
gdb_continue_to_breakpoint "consecutive func1" 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 "info frame" "inlined into frame.*" "outer_inline2 inlined"
+gdb_test "fini" "" "up from outer_inline2" +gdb_test "fini" "" "up from outer_inline2"
+gdb_test "info frame" " in main \[^\n\]*\n source language.*" "main not inlined" +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.20090909.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/gdb/testsuite/gdb.opt/inline-locals.c 2009-09-09 19:20:00.000000000 +0200
@@ -13,11 +13,16 @@ @@ -13,11 +13,16 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */ 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) 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.20090909.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/gdb/testsuite/gdb.opt/inline-locals.exp 2009-09-09 19:20:00.000000000 +0200
@@ -77,6 +77,9 @@ if { ! $no_frames } { @@ -77,6 +77,9 @@ if { ! $no_frames } {
# Make sure that locals on the stack are found. This is an array to # 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" + setup_kfail *-*-* "gcc/debug.optimization"
+} +}
gdb_test "print array\[0\]" "\\\$$decimal = 184" "print local (3)" 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.20090909.orig/gdb/frame.c 2009-09-09 19:06:46.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/frame.c 2009-08-03 16:57:40.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 @@ -276,7 +276,7 @@ fprint_frame (struct ui_file *file, stru
static struct frame_info * static struct frame_info *
skip_inlined_frames (struct frame_info *frame) 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->symtab = SYMBOL_SYMTAB (sym);
sal->line = SYMBOL_LINE (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.20090909.orig/gdb/breakpoint.c 2009-09-09 19:19:46.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/breakpoint.c 2009-08-03 17:19:24.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/breakpoint.c 2009-09-09 19:21:14.000000000 +0200
@@ -60,6 +60,7 @@ @@ -61,6 +61,7 @@
#include "wrapper.h"
#include "valprint.h" #include "valprint.h"
#include "jit.h"
#include "parser-defs.h" #include "parser-defs.h"
+#include "inline-frame.h" +#include "inline-frame.h"
/* readline include files */ /* readline include files */
#include "readline/readline.h" #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; const struct bp_location *bl = bs->breakpoint_at;
struct breakpoint *b = bl->owner; struct breakpoint *b = bl->owner;
@ -236,7 +236,7 @@ Index: gdb-6.8.50.20090803/gdb/breakpoint.c
{ {
int value_is_zero = 0; 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->print = 0;
} }
bs->commands = copy_command_lines (bs->commands); 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. */ /* 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; struct breakpoint *b;
@ -262,10 +262,10 @@ Index: gdb-6.8.50.20090803/gdb/breakpoint.c
b = set_raw_breakpoint (gdbarch, sal, type); b = set_raw_breakpoint (gdbarch, sal, type);
b->enable_state = bp_enabled; 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.20090909.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/gdb/inline-frame.c 2009-09-09 19:20:00.000000000 +0200
@@ -195,6 +195,12 @@ inline_frame_sniffer (const struct frame @@ -195,6 +195,12 @@ inline_frame_sniffer (const struct frame
if (frame_block == NULL) if (frame_block == NULL)
return 0; 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 /* Return the number of hidden functions inlined into the current
frame. */ 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.20090909.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/gdb/testsuite/gdb.opt/inline-markers.c 2009-09-09 19:20:00.000000000 +0200
@@ -15,11 +15,6 @@ @@ -15,11 +15,6 @@
extern int x, y; extern int x, y;
@ -358,11 +358,11 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/gdb.opt/inline-markers.c
void marker(void) void marker(void)
{ {
x += y; /* set breakpoint 2 here */ 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.20090909.orig/gdb/gdbthread.h 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/gdbthread.h 2009-08-03 16:57:40.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/gdbthread.h 2009-09-09 19:20:00.000000000 +0200
@@ -187,6 +187,12 @@ struct thread_info @@ -191,6 +191,12 @@ struct thread_info
/* Private data used by the target vector implementation. */ /* Private data used by the target vector implementation. */
struct private_thread_info *private; 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. */ /* 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.20090909.orig/gdb/infcmd.c 2009-09-09 19:05:56.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/infcmd.c 2009-08-03 17:17:24.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/infcmd.c 2009-09-09 19:20:33.000000000 +0200
@@ -1408,11 +1408,11 @@ finish_command_continuation (void *arg) @@ -1434,11 +1434,11 @@ finish_command_continuation (void *arg)
struct type *value_type; struct type *value_type;
value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (a->function)); 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); print_return_value (SYMBOL_TYPE (a->function), value_type);
} }
@@ -1514,6 +1514,16 @@ finish_forward (struct symbol *function, @@ -1546,6 +1546,16 @@ finish_forward (struct symbol *function,
tp->initiating_frame = get_frame_id (frame);
old_chain = make_cleanup_delete_breakpoint (breakpoint); make_cleanup (delete_longjmp_breakpoint_cleanup, &thread);
+ /* We should _always_ set CURRENT_PC_IS_NOTCURRENT here to always see the + /* We should _always_ set CURRENT_PC_IS_NOTCURRENT here to always see the
+ calling line with the message `Value returned is ...'. Currently it is + 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... */ tp->proceed_to_finish = 1; /* We want stop_registers, please... */
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 0); 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 static void
finish_command (char *arg, int from_tty) finish_command (char *arg, int from_tty)
{ {
@ -421,7 +421,7 @@ Index: gdb-6.8.50.20090803/gdb/infcmd.c
struct symbol *function; struct symbol *function;
int async_exec = 0; 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) if (!target_has_execution)
error (_("The program is not running.")); 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 /* Print info on the selected frame, including level number but not
source. */ 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); 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.20090909.orig/gdb/target.c 2009-09-09 19:09:31.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/target.c 2009-08-03 16:57:40.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/target.c 2009-09-09 19:21:00.000000000 +0200
@@ -2079,6 +2079,7 @@ target_resume (ptid_t ptid, int step, en @@ -2182,6 +2182,7 @@ target_resume (ptid_t ptid, int step, en
{ {
struct target_ops *t; struct target_ops *t;
+ clear_inline_frame_state (ptid); + clear_inline_frame_state (ptid);
dcache_invalidate (target_dcache); target_dcache_invalidate ();
for (t = current_target.beneath; t != NULL; t = t->beneath) 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.20090909.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/gdb/inline-frame.h 2009-09-09 19:20:00.000000000 +0200
@@ -43,6 +43,10 @@ void clear_inline_frame_state (ptid_t pt @@ -43,6 +43,10 @@ void clear_inline_frame_state (ptid_t pt
void step_into_inline_frame (ptid_t ptid); 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 /* Return the number of hidden functions inlined into the current
frame. */ 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.20090909.orig/gdb/dwarf2read.c 2009-09-09 19:19:46.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/dwarf2read.c 2009-08-03 16:57:40.000000000 +0200 +++ gdb-6.8.50.20090909/gdb/dwarf2read.c 2009-09-09 19:20:00.000000000 +0200
@@ -4107,6 +4107,7 @@ read_func_scope (struct die_info *die, s @@ -4130,6 +4130,7 @@ read_func_scope (struct die_info *die, s
struct block *block; struct block *block;
unsigned die_children = 0; unsigned die_children = 0;
int inlined_func = (die->tag == DW_TAG_inlined_subroutine); 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) 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); add_to_cu_func_list (name, lowpc, highpc, cu);
new = push_context (0, lowpc); new = push_context (0, lowpc);

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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);

View File

@ -7,9 +7,11 @@ gdb/
* config.in: Regenerate. * config.in: Regenerate.
* configure: Regenerate. * configure: Regenerate.
--- a/gdb/configure.ac Index: gdb-6.8.50.20090909/gdb/configure.ac
+++ b/gdb/configure.ac ===================================================================
@@ -536,6 +536,21 @@ if test "$with_system_readline" = yes; then --- 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=-lreadline
READLINE_DEPS= READLINE_DEPS=
READLINE_CFLAGS= READLINE_CFLAGS=
@ -31,9 +33,11 @@ gdb/
else else
READLINE='$(READLINE_DIR)/libreadline.a' READLINE='$(READLINE_DIR)/libreadline.a'
READLINE_DEPS='$(READLINE)' READLINE_DEPS='$(READLINE)'
--- a/gdb/config.in Index: gdb-6.8.50.20090909/gdb/config.in
+++ b/gdb/config.in ===================================================================
@@ -790,6 +790,9 @@ --- 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. */ /* Define to `int' if <sys/types.h> does not define. */
#undef pid_t #undef pid_t
@ -43,9 +47,11 @@ gdb/
/* Define to the equivalent of the C99 'restrict' keyword, or to /* Define to the equivalent of the C99 'restrict' keyword, or to
nothing if this is not supported. Do not define if restrict is nothing if this is not supported. Do not define if restrict is
supported directly. */ supported directly. */
--- a/gdb/configure Index: gdb-6.8.50.20090909/gdb/configure
+++ b/gdb/configure ===================================================================
@@ -10763,6 +10763,69 @@ if test "$with_system_readline" = yes; then --- 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=-lreadline
READLINE_DEPS= READLINE_DEPS=
READLINE_CFLAGS= READLINE_CFLAGS=

View File

@ -10,11 +10,11 @@ Name: gdb%{?_with_debug:-debug}
# Set version to contents of gdb/version.in. # Set version to contents of gdb/version.in.
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 # 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). # 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. # The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 8%{?_with_upstream:.upstream}%{?dist} Release: 1%{?_with_upstream:.upstream}%{?dist}
License: GPLv3+ License: GPLv3+
Group: Development/Debuggers Group: Development/Debuggers
@ -218,8 +218,8 @@ Patch229: gdb-6.3-bz140532-ppc-unwinding-test.patch
# Testcase for exec() from threaded program (BZ 202689). # Testcase for exec() from threaded program (BZ 202689).
Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
# Backported post gdb-6.8.50.20090818 snapshot fixups. # Backported post gdb-6.8.50.20090910 snapshot fixups.
Patch232: gdb-6.8.50.20090818-upstream.patch #Patch232: gdb-6.8.50.20090910-upstream.patch
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch 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). # Temporarily disable assertion checks crashing in qsort_cmp (BZ 515434).
Patch378: gdb-bz515434-qsort_cmp.patch 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 BuildRequires: ncurses-devel texinfo gettext flex bison expat-devel
Requires: readline Requires: readline
BuildRequires: readline-devel 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} %if 0%{!?_with_upstream:1}
%patch232 -p1 #patch232 -p1
%patch349 -p1 %patch349 -p1
%patch1 -p1 %patch1 -p1
%patch3 -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 %patch360 -p1
%patch375 -p1 %patch375 -p1
%patch378 -p1 %patch378 -p1
%patch380 -p1
%patch124 -p1 %patch124 -p1
find -name "*.orig" | xargs rm -f find -name "*.orig" | xargs rm -f
@ -829,6 +825,12 @@ fi
%endif %endif
%changelog %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 * Thu Sep 3 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090818-8
- archer-jankratochvil-fedora12 commit: a081d2f12945e9468edd5f4341d3e945bd0fefe9 - archer-jankratochvil-fedora12 commit: a081d2f12945e9468edd5f4341d3e945bd0fefe9
- [expr] Fix too slow lookups in large C++ programs (Sami Wagiaalla). - [expr] Fix too slow lookups in large C++ programs (Sami Wagiaalla).

View File

@ -1 +1 @@
63d848cfdd9a43a9b2b412a220d00366 gdb-6.8.50.20090818.tar.bz2 476e005b8bb33c5c3b3f0b7bd93988bc gdb-6.8.50.20090910.tar.bz2