From c8a4544144b54e1e58bc93b51510e76b3b8b2758 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: May 25 2011 19:25:26 +0000 Subject: Rebase to FSF GDB 7.2.90.20110525 (which is a 7.3 pre-release). [stap] Fix double free (Sergio Durigan Junior). --- diff --git a/.gitignore b/.gitignore index 76fd2dc..c263c7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /libstdc++-v3-python-r155978.tar.bz2 -/gdb-7.2.90.20110429.tar.bz2 +/gdb-7.2.90.20110525.tar.bz2 diff --git a/gdb-archer-pie-addons.patch b/gdb-archer-pie-addons.patch index 0a47866..a56870b 100644 --- a/gdb-archer-pie-addons.patch +++ b/gdb-archer-pie-addons.patch @@ -1,8 +1,8 @@ -Index: gdb-7.2.50.20110117/gdb/dwarf2read.c +Index: gdb-7.2.90.20110525/gdb/dwarf2read.c =================================================================== ---- gdb-7.2.50.20110117.orig/gdb/dwarf2read.c 2011-01-17 15:56:23.000000000 +0100 -+++ gdb-7.2.50.20110117/gdb/dwarf2read.c 2011-01-17 16:00:14.000000000 +0100 -@@ -7475,7 +7475,12 @@ read_common_block (struct die_info *die, +--- gdb-7.2.90.20110525.orig/gdb/dwarf2read.c 2011-05-25 17:10:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/dwarf2read.c 2011-05-25 17:12:35.000000000 +0200 +@@ -7675,7 +7675,12 @@ read_common_block (struct die_info *die, { struct attribute *attr; struct symbol *sym; @@ -16,7 +16,7 @@ Index: gdb-7.2.50.20110117/gdb/dwarf2read.c attr = dwarf2_attr (die, DW_AT_location, cu); if (attr) -@@ -7484,6 +7489,7 @@ read_common_block (struct die_info *die, +@@ -7684,6 +7689,7 @@ read_common_block (struct die_info *die, if (attr_form_is_block (attr)) { base = decode_locdesc (DW_BLOCK (attr), cu); @@ -24,15 +24,15 @@ Index: gdb-7.2.50.20110117/gdb/dwarf2read.c } else if (attr_form_is_section_offset (attr)) { -@@ -7545,12 +7551,15 @@ read_common_block (struct die_info *die, - else - dwarf2_complex_location_expr_complaint (); - -- SYMBOL_VALUE_ADDRESS (sym) = base + byte_offset; +@@ -7736,12 +7742,15 @@ read_common_block (struct die_info *die, + if (sym != NULL + && handle_data_member_location (child_die, cu, &offset)) + { +- SYMBOL_VALUE_ADDRESS (sym) = base + offset; + if (!base_p) + dwarf2_invalid_attrib_class_complaint + ("DW_AT_data_member_location", "common block member"); -+ SYMBOL_VALUE_ADDRESS (sym) = base + byte_offset + baseaddr; ++ SYMBOL_VALUE_ADDRESS (sym) = base + offset + baseaddr; add_symbol_to_list (sym, &global_symbols); } @@ -42,7 +42,7 @@ Index: gdb-7.2.50.20110117/gdb/dwarf2read.c else SET_FIELD_PHYSNAME (*field, SYMBOL_LINKAGE_NAME (sym)); FIELD_TYPE (*field) = SYMBOL_TYPE (sym); -@@ -7564,7 +7573,7 @@ read_common_block (struct die_info *die, +@@ -7755,7 +7764,7 @@ read_common_block (struct die_info *die, sym = new_symbol (die, type, cu); /* SYMBOL_VALUE_ADDRESS never gets used as all its fields are static. */ @@ -51,11 +51,11 @@ Index: gdb-7.2.50.20110117/gdb/dwarf2read.c set_die_type (die, type, cu); } -Index: gdb-7.2.50.20110117/gdb/gdbtypes.h +Index: gdb-7.2.90.20110525/gdb/gdbtypes.h =================================================================== ---- gdb-7.2.50.20110117.orig/gdb/gdbtypes.h 2011-01-17 15:51:03.000000000 +0100 -+++ gdb-7.2.50.20110117/gdb/gdbtypes.h 2011-01-17 16:00:32.000000000 +0100 -@@ -394,6 +394,7 @@ enum type_instance_flag_value +--- gdb-7.2.90.20110525.orig/gdb/gdbtypes.h 2011-05-25 17:05:21.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/gdbtypes.h 2011-05-25 17:11:10.000000000 +0200 +@@ -396,6 +396,7 @@ enum type_instance_flag_value enum field_loc_kind { FIELD_LOC_KIND_BITPOS, /* bitpos */ @@ -63,7 +63,7 @@ Index: gdb-7.2.50.20110117/gdb/gdbtypes.h FIELD_LOC_KIND_PHYSADDR, /* physaddr */ FIELD_LOC_KIND_PHYSNAME /* physname */ }; -@@ -576,6 +577,7 @@ struct main_type +@@ -580,6 +581,7 @@ struct main_type is the location (in the target) of the static field. Otherwise, physname is the mangled label of the static field. */ @@ -71,7 +71,7 @@ Index: gdb-7.2.50.20110117/gdb/gdbtypes.h CORE_ADDR physaddr; char *physname; } -@@ -1102,6 +1104,7 @@ extern void allocate_gnat_aux_type (stru +@@ -1106,6 +1108,7 @@ extern void allocate_gnat_aux_type (stru #define FIELD_LOC_KIND(thisfld) ((thisfld).loc_kind) #define FIELD_BITPOS(thisfld) ((thisfld).loc.bitpos) #define FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc.physname) @@ -79,7 +79,7 @@ Index: gdb-7.2.50.20110117/gdb/gdbtypes.h #define FIELD_STATIC_PHYSADDR(thisfld) ((thisfld).loc.physaddr) #define SET_FIELD_BITPOS(thisfld, bitpos) \ (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_BITPOS, \ -@@ -1109,6 +1112,7 @@ extern void allocate_gnat_aux_type (stru +@@ -1113,6 +1116,7 @@ extern void allocate_gnat_aux_type (stru #define SET_FIELD_PHYSNAME(thisfld, name) \ (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSNAME, \ FIELD_STATIC_PHYSNAME (thisfld) = (name)) @@ -87,7 +87,7 @@ Index: gdb-7.2.50.20110117/gdb/gdbtypes.h #define SET_FIELD_PHYSADDR(thisfld, addr) \ (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSADDR, \ FIELD_STATIC_PHYSADDR (thisfld) = (addr)) -@@ -1121,6 +1125,7 @@ extern void allocate_gnat_aux_type (stru +@@ -1125,6 +1129,7 @@ extern void allocate_gnat_aux_type (stru #define TYPE_FIELD_LOC_KIND(thistype, n) FIELD_LOC_KIND (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n)) @@ -95,10 +95,10 @@ Index: gdb-7.2.50.20110117/gdb/gdbtypes.h #define TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n)) #define TYPE_FIELD_BITSIZE(thistype, n) FIELD_BITSIZE(TYPE_FIELD(thistype,n)) -Index: gdb-7.2.50.20110117/gdb/jv-lang.c +Index: gdb-7.2.90.20110525/gdb/jv-lang.c =================================================================== ---- gdb-7.2.50.20110117.orig/gdb/jv-lang.c 2011-01-09 04:08:57.000000000 +0100 -+++ gdb-7.2.50.20110117/gdb/jv-lang.c 2011-01-17 16:00:59.000000000 +0100 +--- gdb-7.2.90.20110525.orig/gdb/jv-lang.c 2011-03-02 01:42:53.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/jv-lang.c 2011-05-25 17:11:10.000000000 +0200 @@ -414,7 +414,8 @@ java_link_class_type (struct gdbarch *gd fields = NULL; @@ -119,11 +119,11 @@ Index: gdb-7.2.50.20110117/gdb/jv-lang.c else TYPE_FIELD_BITPOS (type, i) = 8 * boffset; if (accflags & 0x8000) /* FIELD_UNRESOLVED_FLAG */ -Index: gdb-7.2.50.20110117/gdb/value.c +Index: gdb-7.2.90.20110525/gdb/value.c =================================================================== ---- gdb-7.2.50.20110117.orig/gdb/value.c 2011-01-17 15:47:37.000000000 +0100 -+++ gdb-7.2.50.20110117/gdb/value.c 2011-01-17 16:00:14.000000000 +0100 -@@ -1997,7 +1997,8 @@ value_static_field (struct type *type, i +--- gdb-7.2.90.20110525.orig/gdb/value.c 2011-05-25 17:05:21.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/value.c 2011-05-25 17:11:10.000000000 +0200 +@@ -2492,7 +2492,8 @@ value_static_field (struct type *type, i { case FIELD_LOC_KIND_PHYSADDR: retval = value_at_lazy (TYPE_FIELD_TYPE (type, fieldno), diff --git a/gdb-archer.patch b/gdb-archer.patch index bfbec9b..6bf9168 100644 --- a/gdb-archer.patch +++ b/gdb-archer.patch @@ -11,10 +11,10 @@ archer-tromey-python archer-sergiodj-stap-fedora15jk -Index: gdb-7.2.90.20110429/bfd/elf-bfd.h +Index: gdb-7.2.90.20110525/bfd/elf-bfd.h =================================================================== ---- gdb-7.2.90.20110429.orig/bfd/elf-bfd.h 2011-03-14 16:54:57.000000000 +0100 -+++ gdb-7.2.90.20110429/bfd/elf-bfd.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/bfd/elf-bfd.h 2011-03-14 16:54:57.000000000 +0100 ++++ gdb-7.2.90.20110525/bfd/elf-bfd.h 2011-05-25 17:05:21.000000000 +0200 @@ -1476,6 +1476,15 @@ enum Tag_compatibility = 32 }; @@ -43,10 +43,10 @@ Index: gdb-7.2.90.20110429/bfd/elf-bfd.h /* True if the bfd contains symbols that have the STT_GNU_IFUNC symbol type. Used to set the osabi field in the ELF header structure. */ -Index: gdb-7.2.90.20110429/bfd/elf.c +Index: gdb-7.2.90.20110525/bfd/elf.c =================================================================== ---- gdb-7.2.90.20110429.orig/bfd/elf.c 2011-03-14 16:54:58.000000000 +0100 -+++ gdb-7.2.90.20110429/bfd/elf.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/bfd/elf.c 2011-03-14 16:54:58.000000000 +0100 ++++ gdb-7.2.90.20110525/bfd/elf.c 2011-05-25 17:05:21.000000000 +0200 @@ -8416,6 +8416,37 @@ elfobj_grok_gnu_note (bfd *abfd, Elf_Int } } @@ -98,10 +98,10 @@ Index: gdb-7.2.90.20110429/bfd/elf.c break; } -Index: gdb-7.2.90.20110429/gdb/Makefile.in +Index: gdb-7.2.90.20110525/gdb/Makefile.in =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/Makefile.in 2011-03-30 08:55:39.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/Makefile.in 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/Makefile.in 2011-03-30 08:55:39.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/Makefile.in 2011-05-25 17:05:21.000000000 +0200 @@ -721,8 +721,8 @@ SFILES = ada-exp.y ada-lang.c ada-typepr sentinel-frame.c \ serial.c ser-base.c ser-unix.c \ @@ -144,10 +144,10 @@ Index: gdb-7.2.90.20110429/gdb/Makefile.in config.status: $(srcdir)/configure configure.tgt configure.host $(SHELL) config.status --recheck -Index: gdb-7.2.90.20110429/gdb/NEWS +Index: gdb-7.2.90.20110525/gdb/NEWS =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/NEWS 2011-03-31 16:32:48.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/NEWS 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/NEWS 2011-03-31 16:32:48.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/NEWS 2011-05-25 17:05:21.000000000 +0200 @@ -36,6 +36,10 @@ Initial support for the OpenCL C language (http://www.khronos.org/opencl) has been integrated into GDB. @@ -159,11 +159,11 @@ Index: gdb-7.2.90.20110429/gdb/NEWS * Python scripting ** The function gdb.Write now accepts an optional keyword 'stream'. -Index: gdb-7.2.90.20110429/gdb/ada-lang.c +Index: gdb-7.2.90.20110525/gdb/ada-lang.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/ada-lang.c 2011-04-20 22:10:29.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/ada-lang.c 2011-04-29 09:40:46.000000000 +0200 -@@ -11393,6 +11393,7 @@ ada_operator_length (const struct expres +--- gdb-7.2.90.20110525.orig/gdb/ada-lang.c 2011-05-17 23:26:08.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/ada-lang.c 2011-05-25 17:05:21.000000000 +0200 +@@ -11421,6 +11421,7 @@ ada_operator_length (const struct expres static int ada_operator_check (struct expression *exp, int pos, @@ -171,7 +171,7 @@ Index: gdb-7.2.90.20110429/gdb/ada-lang.c int (*objfile_func) (struct objfile *objfile, void *data), void *data) { -@@ -11407,12 +11408,15 @@ ada_operator_check (struct expression *e +@@ -11435,12 +11436,15 @@ ada_operator_check (struct expression *e break; default: @@ -189,10 +189,10 @@ Index: gdb-7.2.90.20110429/gdb/ada-lang.c && (*objfile_func) (TYPE_OBJFILE (type), data)) return 1; -Index: gdb-7.2.90.20110429/gdb/amd64-linux-nat.c +Index: gdb-7.2.90.20110525/gdb/amd64-linux-nat.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/amd64-linux-nat.c 2011-01-07 20:36:15.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/amd64-linux-nat.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/amd64-linux-nat.c 2011-01-07 20:36:15.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/amd64-linux-nat.c 2011-05-25 17:05:21.000000000 +0200 @@ -265,18 +265,11 @@ amd64_linux_store_inferior_registers (st /* Support for debug registers. */ @@ -411,10 +411,10 @@ Index: gdb-7.2.90.20110429/gdb/amd64-linux-nat.c } -Index: gdb-7.2.90.20110429/gdb/ax-gdb.c +Index: gdb-7.2.90.20110525/gdb/ax-gdb.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/ax-gdb.c 2011-02-24 08:39:47.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/ax-gdb.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/ax-gdb.c 2011-02-24 08:39:47.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/ax-gdb.c 2011-05-25 17:05:21.000000000 +0200 @@ -2001,7 +2001,8 @@ gen_expr (struct expression *exp, union case OP_INTERNALVAR: @@ -434,10 +434,10 @@ Index: gdb-7.2.90.20110429/gdb/ax-gdb.c error (_("$%s is not a trace state variable; GDB agent " "expressions cannot use convenience variables."), name); } -Index: gdb-7.2.90.20110429/gdb/block.c +Index: gdb-7.2.90.20110525/gdb/block.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/block.c 2011-01-01 16:32:57.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/block.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/block.c 2011-01-01 16:32:57.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/block.c 2011-05-25 17:05:21.000000000 +0200 @@ -322,3 +322,21 @@ allocate_block (struct obstack *obstack) return bl; @@ -460,10 +460,10 @@ Index: gdb-7.2.90.20110429/gdb/block.c + + return SYMBOL_SYMTAB (func)->objfile; +} -Index: gdb-7.2.90.20110429/gdb/block.h +Index: gdb-7.2.90.20110525/gdb/block.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/block.h 2011-01-01 16:32:57.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/block.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/block.h 2011-01-01 16:32:57.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/block.h 2011-05-25 17:05:21.000000000 +0200 @@ -167,4 +167,6 @@ extern const struct block *block_global_ extern struct block *allocate_block (struct obstack *obstack); @@ -471,10 +471,10 @@ Index: gdb-7.2.90.20110429/gdb/block.h +extern struct objfile *block_objfile (const struct block *block); + #endif /* BLOCK_H */ -Index: gdb-7.2.90.20110429/gdb/breakpoint.c +Index: gdb-7.2.90.20110525/gdb/breakpoint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/breakpoint.c 2011-04-15 06:18:34.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/breakpoint.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/breakpoint.c 2011-05-17 23:25:56.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/breakpoint.c 2011-05-25 17:05:21.000000000 +0200 @@ -63,6 +63,8 @@ #include "jit.h" #include "xml-syscall.h" @@ -887,10 +887,10 @@ Index: gdb-7.2.90.20110429/gdb/breakpoint.c + observer_attach_mark_used (breakpoint_types_mark_used); +#endif } -Index: gdb-7.2.90.20110429/gdb/breakpoint.h +Index: gdb-7.2.90.20110525/gdb/breakpoint.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/breakpoint.h 2011-03-31 16:32:48.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/breakpoint.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/breakpoint.h 2011-05-17 23:25:56.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/breakpoint.h 2011-05-25 17:05:21.000000000 +0200 @@ -363,6 +363,11 @@ struct bp_location processor's architectual constraints. */ CORE_ADDR requested_address; @@ -903,7 +903,7 @@ Index: gdb-7.2.90.20110429/gdb/breakpoint.h char *function_name; /* Details of the placed breakpoint, when inserted. */ -@@ -1233,4 +1238,11 @@ extern struct breakpoint *iterate_over_b +@@ -1237,4 +1242,11 @@ extern struct breakpoint *iterate_over_b extern int user_breakpoint_p (struct breakpoint *); @@ -915,10 +915,10 @@ Index: gdb-7.2.90.20110429/gdb/breakpoint.h +extern void modify_semaphore (struct bp_location *location, int set); + #endif /* !defined (BREAKPOINT_H) */ -Index: gdb-7.2.90.20110429/gdb/c-typeprint.c +Index: gdb-7.2.90.20110525/gdb/c-typeprint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/c-typeprint.c 2011-03-22 18:35:22.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/c-typeprint.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/c-typeprint.c 2011-03-22 18:35:22.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/c-typeprint.c 2011-05-25 17:05:21.000000000 +0200 @@ -625,9 +625,14 @@ c_type_print_varspec_suffix (struct type fprintf_filtered (stream, ")"); @@ -937,10 +937,10 @@ Index: gdb-7.2.90.20110429/gdb/c-typeprint.c fprintf_filtered (stream, "]"); c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, -Index: gdb-7.2.90.20110429/gdb/cli/cli-utils.c +Index: gdb-7.2.90.20110525/gdb/cli/cli-utils.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/cli/cli-utils.c 2011-03-16 22:12:12.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/cli/cli-utils.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/cli/cli-utils.c 2011-03-16 22:12:12.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/cli/cli-utils.c 2011-05-25 17:05:21.000000000 +0200 @@ -245,3 +245,32 @@ remove_trailing_whitespace (const char * return s; @@ -974,10 +974,10 @@ Index: gdb-7.2.90.20110429/gdb/cli/cli-utils.c + + return copy; +} -Index: gdb-7.2.90.20110429/gdb/cli/cli-utils.h +Index: gdb-7.2.90.20110525/gdb/cli/cli-utils.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/cli/cli-utils.h 2011-03-16 22:12:12.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/cli/cli-utils.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/cli/cli-utils.h 2011-03-16 22:12:12.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/cli/cli-utils.h 2011-05-25 17:05:21.000000000 +0200 @@ -103,4 +103,11 @@ extern char *skip_to_space (char *inp); START. */ @@ -990,10 +990,10 @@ Index: gdb-7.2.90.20110429/gdb/cli/cli-utils.h +extern char *extract_arg (char **arg); + #endif /* CLI_UTILS_H */ -Index: gdb-7.2.90.20110429/gdb/coffread.c +Index: gdb-7.2.90.20110525/gdb/coffread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/coffread.c 2011-03-17 14:19:23.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/coffread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/coffread.c 2011-03-17 14:19:23.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/coffread.c 2011-05-25 17:05:21.000000000 +0200 @@ -2193,6 +2193,7 @@ static const struct sym_fns coff_sym_fns default_symfile_relocate, /* sym_relocate: Relocate a debug @@ -1002,10 +1002,10 @@ Index: gdb-7.2.90.20110429/gdb/coffread.c &psym_functions }; -Index: gdb-7.2.90.20110429/gdb/data-directory/Makefile.in +Index: gdb-7.2.90.20110525/gdb/data-directory/Makefile.in =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/data-directory/Makefile.in 2011-02-04 19:34:41.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/data-directory/Makefile.in 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/data-directory/Makefile.in 2011-02-04 19:34:41.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/data-directory/Makefile.in 2011-05-25 17:05:21.000000000 +0200 @@ -52,11 +52,23 @@ SYSCALLS_FILES = \ PYTHON_DIR = python PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) @@ -1033,10 +1033,10 @@ Index: gdb-7.2.90.20110429/gdb/data-directory/Makefile.in FLAGS_TO_PASS = \ "prefix=$(prefix)" \ -Index: gdb-7.2.90.20110429/gdb/dbxread.c +Index: gdb-7.2.90.20110525/gdb/dbxread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dbxread.c 2011-03-23 19:23:54.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/dbxread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/dbxread.c 2011-03-23 19:23:54.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/dbxread.c 2011-05-25 17:05:21.000000000 +0200 @@ -1,6 +1,6 @@ /* Read dbx symbol tables and convert to internal format, for GDB. Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, @@ -1053,10 +1053,10 @@ Index: gdb-7.2.90.20110429/gdb/dbxread.c &psym_functions }; -Index: gdb-7.2.90.20110429/gdb/defs.h +Index: gdb-7.2.90.20110525/gdb/defs.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/defs.h 2011-03-31 16:32:48.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/defs.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/defs.h 2011-03-31 16:32:48.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/defs.h 2011-05-25 17:05:21.000000000 +0200 @@ -398,6 +398,8 @@ extern struct cleanup *make_cleanup_rest extern struct cleanup * set_batch_flag_and_make_cleanup_restore_page_info (void); @@ -1066,10 +1066,10 @@ Index: gdb-7.2.90.20110429/gdb/defs.h extern char *gdb_realpath (const char *); extern char *xfullpath (const char *); -Index: gdb-7.2.90.20110429/gdb/doc/gdb.texinfo +Index: gdb-7.2.90.20110525/gdb/doc/gdb.texinfo =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/doc/gdb.texinfo 2011-04-20 19:26:42.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/doc/gdb.texinfo 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/doc/gdb.texinfo 2011-05-17 23:27:48.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/doc/gdb.texinfo 2011-05-25 17:05:21.000000000 +0200 @@ -1177,6 +1177,16 @@ for remote debugging. Run using @var{device} for your program's standard input and output. @c FIXME: kingdon thinks there is more to -tty. Investigate. @@ -1243,10 +1243,10 @@ Index: gdb-7.2.90.20110429/gdb/doc/gdb.texinfo @cindex python stdout @cindex python pagination At startup, @value{GDBN} overrides Python's @code{sys.stdout} and -Index: gdb-7.2.90.20110429/gdb/doc/gdbint.texinfo +Index: gdb-7.2.90.20110525/gdb/doc/gdbint.texinfo =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/doc/gdbint.texinfo 2011-02-04 20:10:12.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/doc/gdbint.texinfo 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/doc/gdbint.texinfo 2011-02-04 20:10:12.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/doc/gdbint.texinfo 2011-05-25 17:05:21.000000000 +0200 @@ -2104,6 +2104,18 @@ time, and so we attempt to handle symbol we create @dfn{partial symbol tables} consisting of only selected symbols, and only expand them to full symbol tables when necessary. @@ -1372,10 +1372,10 @@ Index: gdb-7.2.90.20110429/gdb/doc/gdbint.texinfo @node Language Support -Index: gdb-7.2.90.20110429/gdb/doc/observer.texi +Index: gdb-7.2.90.20110525/gdb/doc/observer.texi =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/doc/observer.texi 2011-01-05 06:09:54.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/doc/observer.texi 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/doc/observer.texi 2011-01-05 06:09:54.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/doc/observer.texi 2011-05-25 17:05:21.000000000 +0200 @@ -223,6 +223,11 @@ Bytes from @var{data} to @var{data} + @v to the current inferior at @var{addr}. @end deftypefun @@ -1388,10 +1388,10 @@ Index: gdb-7.2.90.20110429/gdb/doc/observer.texi @deftypefun void test_notification (int @var{somearg}) This observer is used for internal testing. Do not use. See testsuite/gdb.gdb/observer.exp. -Index: gdb-7.2.90.20110429/gdb/dwarf2expr.c +Index: gdb-7.2.90.20110525/gdb/dwarf2expr.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dwarf2expr.c 2011-03-22 22:06:32.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/dwarf2expr.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/dwarf2expr.c 2011-05-13 20:54:47.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/dwarf2expr.c 2011-05-25 17:05:21.000000000 +0200 @@ -912,6 +912,13 @@ execute_stack_op (struct dwarf_expr_cont ctx->num_pieces = 0; goto abort_expression; @@ -1406,10 +1406,10 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2expr.c default: error (_("Unhandled dwarf expression opcode 0x%x"), op); } -Index: gdb-7.2.90.20110429/gdb/dwarf2expr.h +Index: gdb-7.2.90.20110525/gdb/dwarf2expr.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dwarf2expr.h 2011-02-27 17:25:37.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/dwarf2expr.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/dwarf2expr.h 2011-02-27 17:25:37.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/dwarf2expr.h 2011-05-25 17:05:21.000000000 +0200 @@ -114,9 +114,15 @@ struct dwarf_expr_context #if 0 /* Not yet implemented. */ @@ -1427,10 +1427,10 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2expr.h /* The current depth of dwarf expression recursion, via DW_OP_call*, DW_OP_fbreg, DW_OP_push_object_address, etc., and the maximum -Index: gdb-7.2.90.20110429/gdb/dwarf2loc.c +Index: gdb-7.2.90.20110525/gdb/dwarf2loc.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dwarf2loc.c 2011-03-22 22:06:33.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/dwarf2loc.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/dwarf2loc.c 2011-03-22 22:06:33.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/dwarf2loc.c 2011-05-25 17:05:21.000000000 +0200 @@ -134,6 +134,9 @@ struct dwarf_expr_baton { struct frame_info *frame; @@ -1784,10 +1784,10 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2loc.c + missing_describe_location, + missing_tracepoint_var_ref +}; -Index: gdb-7.2.90.20110429/gdb/dwarf2loc.h +Index: gdb-7.2.90.20110525/gdb/dwarf2loc.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dwarf2loc.h 2011-02-17 17:20:44.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/dwarf2loc.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/dwarf2loc.h 2011-02-17 17:20:44.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/dwarf2loc.h 2011-05-25 17:05:21.000000000 +0200 @@ -107,6 +107,15 @@ struct dwarf2_loclist_baton extern const struct symbol_computed_ops dwarf2_locexpr_funcs; @@ -1804,11 +1804,11 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2loc.h /* Compile a DWARF location expression to an agent expression. -Index: gdb-7.2.90.20110429/gdb/dwarf2read.c +Index: gdb-7.2.90.20110525/gdb/dwarf2read.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dwarf2read.c 2011-04-20 22:10:29.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/dwarf2read.c 2011-04-29 09:40:46.000000000 +0200 -@@ -1212,6 +1212,9 @@ static void fill_in_loclist_baton (struc +--- gdb-7.2.90.20110525.orig/gdb/dwarf2read.c 2011-05-17 23:26:39.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/dwarf2read.c 2011-05-25 17:06:06.000000000 +0200 +@@ -1219,6 +1219,9 @@ static void fill_in_loclist_baton (struc struct dwarf2_loclist_baton *baton, struct attribute *attr); @@ -1818,7 +1818,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c static void dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym, struct dwarf2_cu *cu); -@@ -1246,6 +1249,9 @@ static void age_cached_comp_units (void) +@@ -1253,6 +1256,9 @@ static void age_cached_comp_units (void) static void free_one_cached_comp_unit (void *); @@ -1828,7 +1828,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c static struct type *set_die_type (struct die_info *, struct type *, struct dwarf2_cu *); -@@ -1270,6 +1276,9 @@ static struct type *get_die_type_at_offs +@@ -1277,6 +1283,9 @@ static struct type *get_die_type_at_offs static struct type *get_die_type (struct die_info *die, struct dwarf2_cu *cu); @@ -1838,7 +1838,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c static void dwarf2_release_queue (void *dummy); static void queue_comp_unit (struct dwarf2_per_cu_data *per_cu, -@@ -7359,6 +7368,29 @@ process_enumeration_scope (struct die_in +@@ -7455,6 +7464,29 @@ process_enumeration_scope (struct die_in new_symbol (die, this_type, cu); } @@ -1868,7 +1868,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c /* Extract all information from a DW_TAG_array_type DIE and put it in the DIE's type field. For now, this only handles one dimensional arrays. */ -@@ -7372,7 +7404,7 @@ read_array_type (struct die_info *die, s +@@ -7468,7 +7500,7 @@ read_array_type (struct die_info *die, s struct type *element_type, *range_type, *index_type; struct type **range_types = NULL; struct attribute *attr; @@ -1877,7 +1877,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c struct cleanup *back_to; char *name; -@@ -7425,17 +7457,19 @@ read_array_type (struct die_info *die, s +@@ -7521,17 +7553,19 @@ read_array_type (struct die_info *die, s type = element_type; if (read_array_order (die, cu) == DW_ORD_col_major) @@ -1908,7 +1908,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c /* Understand Dwarf2 support for vector types (like they occur on the PowerPC w/ AltiVec). Gcc just adds another attribute to the -@@ -7928,29 +7962,114 @@ read_tag_string_type (struct die_info *d +@@ -8015,29 +8049,114 @@ read_tag_string_type (struct die_info *d struct gdbarch *gdbarch = get_objfile_arch (objfile); struct type *type, *range_type, *index_type, *char_type; struct attribute *attr; @@ -2036,7 +2036,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c char_type = language_string_char_type (cu->language_defn, gdbarch); type = create_string_type (NULL, char_type, range_type); -@@ -8235,8 +8354,7 @@ read_subrange_type (struct die_info *die +@@ -8322,8 +8441,7 @@ read_subrange_type (struct die_info *die struct type *base_type; struct type *range_type; struct attribute *attr; @@ -2046,7 +2046,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c char *name; LONGEST negative_mask; -@@ -8249,53 +8367,126 @@ read_subrange_type (struct die_info *die +@@ -8336,53 +8454,126 @@ read_subrange_type (struct die_info *die if (range_type) return range_type; @@ -2208,7 +2208,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c } /* Dwarf-2 specifications explicitly allows to create subrange types -@@ -8336,24 +8527,41 @@ read_subrange_type (struct die_info *die +@@ -8423,24 +8614,41 @@ read_subrange_type (struct die_info *die } } @@ -2268,7 +2268,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c name = dwarf2_name (die, cu); if (name) -@@ -10898,10 +11106,12 @@ var_decode_location (struct attribute *a +@@ -10985,10 +11193,12 @@ var_decode_location (struct attribute *a (i.e. when the value of a register or memory location is referenced, or a thread-local block, etc.). Then again, it might not be worthwhile. I'm assuming that it isn't unless performance @@ -2280,10 +2280,10 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c - dwarf2_symbol_mark_computed (attr, sym, cu); SYMBOL_CLASS (sym) = LOC_COMPUTED; + dwarf2_symbol_mark_computed (attr, sym, cu); - } - /* Given a pointer to a DWARF information entry, figure out if we need -@@ -10939,6 +11149,8 @@ new_symbol_full (struct die_info *die, s + if (SYMBOL_COMPUTED_OPS (sym) == &dwarf2_loclist_funcs) + cu->has_loclist = 1; +@@ -11029,6 +11239,8 @@ new_symbol_full (struct die_info *die, s else sym = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct symbol); OBJSTAT (objfile, n_syms++); @@ -2292,7 +2292,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c /* Cache this symbol's name and the name's demangled form (if any). */ SYMBOL_SET_LANGUAGE (sym, cu->language); -@@ -11711,6 +11923,9 @@ read_type_die_1 (struct die_info *die, s +@@ -11801,6 +12013,9 @@ read_type_die_1 (struct die_info *die, s break; } @@ -2302,7 +2302,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c return this_type; } -@@ -14565,61 +14780,99 @@ fill_in_loclist_baton (struct dwarf2_cu +@@ -14655,61 +14870,99 @@ fill_in_loclist_baton (struct dwarf2_cu baton->base_address = cu->base_address; } @@ -2445,7 +2445,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c } } -@@ -14968,6 +15221,25 @@ offset_and_type_eq (const void *item_lhs +@@ -15058,6 +15311,25 @@ offset_and_type_eq (const void *item_lhs return ofs_lhs->offset == ofs_rhs->offset; } @@ -2471,7 +2471,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c /* Set the type associated with DIE to TYPE. Save it in CU's hash table if necessary. For convenience, return TYPE. -@@ -14993,6 +15265,8 @@ set_die_type (struct die_info *die, stru +@@ -15083,6 +15355,8 @@ set_die_type (struct die_info *die, stru struct objfile *objfile = cu->objfile; htab_t *type_hash_ptr; @@ -2480,10 +2480,10 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c /* For Ada types, make sure that the gnat-specific data is always initialized (if not already set). There are a few types where we should not be doing so, because the type-specific area is -Index: gdb-7.2.90.20110429/gdb/elfread.c +Index: gdb-7.2.90.20110525/gdb/elfread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/elfread.c 2011-04-25 23:25:18.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/elfread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/elfread.c 2011-05-03 18:25:20.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/elfread.c 2011-05-25 17:05:21.000000000 +0200 @@ -43,6 +43,12 @@ #include "infcall.h" #include "gdbthread.h" @@ -2519,7 +2519,7 @@ Index: gdb-7.2.90.20110429/gdb/elfread.c static void free_elfinfo (void *); /* Minimal symbols located at the GOT entries for .plt - that is the real -@@ -1556,7 +1577,266 @@ elfstab_offset_sections (struct objfile +@@ -1553,7 +1574,266 @@ elfstab_offset_sections (struct objfile complaint (&symfile_complaints, _("elf/stab section information missing for %s"), filename); } @@ -2786,7 +2786,7 @@ Index: gdb-7.2.90.20110429/gdb/elfread.c /* Register that we are able to handle ELF object file formats. */ static const struct sym_fns elf_sym_fns = -@@ -1571,6 +1851,7 @@ static const struct sym_fns elf_sym_fns +@@ -1568,6 +1848,7 @@ static const struct sym_fns elf_sym_fns elf_symfile_segments, /* Get segment information from a file. */ NULL, default_symfile_relocate, /* Relocate a debug section. */ @@ -2794,7 +2794,7 @@ Index: gdb-7.2.90.20110429/gdb/elfread.c &psym_functions }; -@@ -1589,6 +1870,7 @@ static const struct sym_fns elf_sym_fns_ +@@ -1586,6 +1867,7 @@ static const struct sym_fns elf_sym_fns_ elf_symfile_segments, /* Get segment information from a file. */ NULL, default_symfile_relocate, /* Relocate a debug section. */ @@ -2802,7 +2802,7 @@ Index: gdb-7.2.90.20110429/gdb/elfread.c &psym_functions }; -@@ -1606,6 +1888,7 @@ static const struct sym_fns elf_sym_fns_ +@@ -1603,6 +1885,7 @@ static const struct sym_fns elf_sym_fns_ elf_symfile_segments, /* Get segment information from a file. */ NULL, default_symfile_relocate, /* Relocate a debug section. */ @@ -2810,7 +2810,7 @@ Index: gdb-7.2.90.20110429/gdb/elfread.c &dwarf2_gdb_index_functions }; -@@ -1622,6 +1905,8 @@ static const struct gnu_ifunc_fns elf_gn +@@ -1619,6 +1902,8 @@ static const struct gnu_ifunc_fns elf_gn void _initialize_elfread (void) { @@ -2819,10 +2819,10 @@ Index: gdb-7.2.90.20110429/gdb/elfread.c add_symtab_fns (&elf_sym_fns); elf_objfile_gnu_ifunc_cache_data = register_objfile_data (); -Index: gdb-7.2.90.20110429/gdb/eval.c +Index: gdb-7.2.90.20110525/gdb/eval.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/eval.c 2011-03-28 22:21:03.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/eval.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/eval.c 2011-03-28 22:21:03.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/eval.c 2011-05-25 17:05:21.000000000 +0200 @@ -44,6 +44,7 @@ #include "objfiles.h" #include "python/python.h" @@ -3307,10 +3307,10 @@ Index: gdb-7.2.90.20110429/gdb/eval.c - return ndimen; + } -Index: gdb-7.2.90.20110429/gdb/f-exp.y +Index: gdb-7.2.90.20110525/gdb/f-exp.y =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/f-exp.y 2011-03-18 14:51:41.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/f-exp.y 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/f-exp.y 2011-03-18 14:51:41.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/f-exp.y 2011-05-25 17:05:21.000000000 +0200 @@ -293,7 +293,9 @@ arglist : subrange { arglist_len = 1; } ; @@ -3322,10 +3322,10 @@ Index: gdb-7.2.90.20110429/gdb/f-exp.y { arglist_len++; } ; -Index: gdb-7.2.90.20110429/gdb/f-lang.h +Index: gdb-7.2.90.20110525/gdb/f-lang.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/f-lang.h 2011-01-07 20:36:16.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/f-lang.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/f-lang.h 2011-01-07 20:36:16.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/f-lang.h 2011-05-25 17:05:21.000000000 +0200 @@ -28,6 +28,10 @@ extern void f_error (char *); /* Defined extern void f_print_type (struct type *, const char *, struct ui_file *, int, int); @@ -3337,10 +3337,10 @@ Index: gdb-7.2.90.20110429/gdb/f-lang.h extern int f_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, struct ui_file *, int, const struct value *, -Index: gdb-7.2.90.20110429/gdb/f-typeprint.c +Index: gdb-7.2.90.20110525/gdb/f-typeprint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/f-typeprint.c 2011-01-07 20:36:16.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/f-typeprint.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/f-typeprint.c 2011-01-07 20:36:16.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/f-typeprint.c 2011-05-25 17:05:21.000000000 +0200 @@ -32,7 +32,7 @@ #include "gdbcore.h" #include "target.h" @@ -3405,10 +3405,10 @@ Index: gdb-7.2.90.20110429/gdb/f-typeprint.c switch (TYPE_CODE (type)) { case TYPE_CODE_ARRAY: -Index: gdb-7.2.90.20110429/gdb/f-valprint.c +Index: gdb-7.2.90.20110525/gdb/f-valprint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/f-valprint.c 2011-02-07 18:49:32.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/f-valprint.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/f-valprint.c 2011-02-07 18:49:32.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/f-valprint.c 2011-05-25 17:05:21.000000000 +0200 @@ -54,15 +54,17 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIM /* The following macro gives us the size of the nth dimension, Where n is 1 based. */ @@ -3544,10 +3544,10 @@ Index: gdb-7.2.90.20110429/gdb/f-valprint.c CHECK_TYPEDEF (type); switch (TYPE_CODE (type)) { -Index: gdb-7.2.90.20110429/gdb/findvar.c +Index: gdb-7.2.90.20110525/gdb/findvar.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/findvar.c 2011-03-18 19:42:41.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/findvar.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/findvar.c 2011-03-18 19:42:41.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/findvar.c 2011-05-25 17:05:21.000000000 +0200 @@ -35,6 +35,7 @@ #include "user-regs.h" #include "block.h" @@ -3693,10 +3693,10 @@ Index: gdb-7.2.90.20110429/gdb/findvar.c value_contents_raw (v), &optim, &unavail); } -Index: gdb-7.2.90.20110429/gdb/gdbinit.in +Index: gdb-7.2.90.20110525/gdb/gdbinit.in =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/gdbinit.in 2009-10-05 15:46:52.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/gdbinit.in 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/gdbinit.in 2009-10-05 15:46:52.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/gdbinit.in 2011-05-25 17:05:21.000000000 +0200 @@ -1,5 +1,15 @@ echo Setting up the environment for debugging gdb.\n @@ -3713,10 +3713,10 @@ Index: gdb-7.2.90.20110429/gdb/gdbinit.in set complaints 1 b internal_error -Index: gdb-7.2.90.20110429/gdb/gdbtypes.c +Index: gdb-7.2.90.20110525/gdb/gdbtypes.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/gdbtypes.c 2011-03-28 22:21:03.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/gdbtypes.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/gdbtypes.c 2011-03-28 22:21:03.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/gdbtypes.c 2011-05-25 17:05:21.000000000 +0200 @@ -39,6 +39,9 @@ #include "cp-abi.h" #include "gdb_assert.h" @@ -4627,10 +4627,10 @@ Index: gdb-7.2.90.20110429/gdb/gdbtypes.c objfile_type_data = register_objfile_data (); add_setshow_zinteger_cmd ("overload", no_class, &overload_debug, -Index: gdb-7.2.90.20110429/gdb/gdbtypes.h +Index: gdb-7.2.90.20110525/gdb/gdbtypes.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/gdbtypes.h 2011-03-28 22:21:03.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/gdbtypes.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/gdbtypes.h 2011-03-28 22:21:03.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/gdbtypes.h 2011-05-25 17:05:21.000000000 +0200 @@ -215,6 +215,11 @@ enum type_instance_flag_value #define TYPE_TARGET_STUB(t) (TYPE_MAIN_TYPE (t)->flag_target_stub) @@ -4865,10 +4865,10 @@ Index: gdb-7.2.90.20110429/gdb/gdbtypes.h +#endif + #endif /* GDBTYPES_H */ -Index: gdb-7.2.90.20110429/gdb/i386-linux-nat.c +Index: gdb-7.2.90.20110525/gdb/i386-linux-nat.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/i386-linux-nat.c 2011-02-27 17:25:37.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/i386-linux-nat.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/i386-linux-nat.c 2011-02-27 17:25:37.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/i386-linux-nat.c 2011-05-25 17:05:21.000000000 +0200 @@ -649,22 +649,13 @@ i386_linux_store_inferior_registers (str } @@ -5073,10 +5073,10 @@ Index: gdb-7.2.90.20110429/gdb/i386-linux-nat.c } -Index: gdb-7.2.90.20110429/gdb/i386-nat.c +Index: gdb-7.2.90.20110525/gdb/i386-nat.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/i386-nat.c 2011-02-26 23:04:51.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/i386-nat.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/i386-nat.c 2011-02-26 23:04:51.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/i386-nat.c 2011-05-25 17:05:21.000000000 +0200 @@ -25,6 +25,7 @@ #include "gdbcmd.h" #include "target.h" @@ -5428,10 +5428,10 @@ Index: gdb-7.2.90.20110429/gdb/i386-nat.c } void -Index: gdb-7.2.90.20110429/gdb/i386-nat.h +Index: gdb-7.2.90.20110525/gdb/i386-nat.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/i386-nat.h 2011-01-09 04:08:56.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/i386-nat.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/i386-nat.h 2011-01-09 04:08:56.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/i386-nat.h 2011-05-25 17:05:21.000000000 +0200 @@ -78,6 +78,28 @@ struct i386_dr_low_type extern struct i386_dr_low_type i386_dr_low; @@ -5461,10 +5461,10 @@ Index: gdb-7.2.90.20110429/gdb/i386-nat.h /* Use this function to set i386_dr_low debug_register_length field rather than setting it directly to check that the length is only set once. It also enables the 'maint set/show show-debug-regs' -Index: gdb-7.2.90.20110429/gdb/infrun.c +Index: gdb-7.2.90.20110525/gdb/infrun.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/infrun.c 2011-04-20 19:04:32.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/infrun.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/infrun.c 2011-04-20 19:04:32.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/infrun.c 2011-05-25 17:05:21.000000000 +0200 @@ -54,6 +54,8 @@ #include "inline-frame.h" #include "jit.h" @@ -5620,10 +5620,10 @@ Index: gdb-7.2.90.20110429/gdb/infrun.c add_setshow_boolean_cmd ("observer", no_class, &observer_mode_1, _("\ -Index: gdb-7.2.90.20110429/gdb/linespec.c +Index: gdb-7.2.90.20110525/gdb/linespec.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/linespec.c 2011-03-25 18:13:12.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/linespec.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/linespec.c 2011-03-25 18:13:12.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/linespec.c 2011-05-25 17:05:21.000000000 +0200 @@ -43,6 +43,7 @@ #include "arch-utils.h" #include @@ -5650,10 +5650,10 @@ Index: gdb-7.2.90.20110429/gdb/linespec.c is_quoted = (strchr (get_gdb_completer_quote_characters (), **argptr) != NULL); -Index: gdb-7.2.90.20110429/gdb/linespec.h +Index: gdb-7.2.90.20110525/gdb/linespec.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/linespec.h 2011-03-24 20:47:17.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/linespec.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/linespec.h 2011-03-24 20:47:17.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/linespec.h 2011-05-25 17:05:21.000000000 +0200 @@ -30,6 +30,10 @@ struct linespec_result display mechanism would do the wrong thing. */ int special_display; @@ -5665,11 +5665,11 @@ Index: gdb-7.2.90.20110429/gdb/linespec.h /* If non-NULL, an array of canonical names for returned symtab_and_line objects. The array has as many elements as the `nelts' field in the symtabs_and_line returned by decode_line_1. -Index: gdb-7.2.90.20110429/gdb/linux-nat.c +Index: gdb-7.2.90.20110525/gdb/linux-nat.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/linux-nat.c 2011-03-09 13:48:55.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/linux-nat.c 2011-04-29 09:40:46.000000000 +0200 -@@ -1254,6 +1254,64 @@ iterate_over_lwps (ptid_t filter, +--- gdb-7.2.90.20110525.orig/gdb/linux-nat.c 2011-04-29 18:02:10.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/linux-nat.c 2011-05-25 17:05:21.000000000 +0200 +@@ -1272,6 +1272,64 @@ iterate_over_lwps (ptid_t filter, return NULL; } @@ -5734,10 +5734,10 @@ Index: gdb-7.2.90.20110429/gdb/linux-nat.c /* Update our internal state when changing from one checkpoint to another indicated by NEW_PTID. We can only switch single-threaded applications, so we only create one new LWP, and the previous list -Index: gdb-7.2.90.20110429/gdb/linux-nat.h +Index: gdb-7.2.90.20110525/gdb/linux-nat.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/linux-nat.h 2011-01-05 23:22:49.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/linux-nat.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/linux-nat.h 2011-01-05 23:22:49.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/linux-nat.h 2011-05-25 17:05:21.000000000 +0200 @@ -140,6 +140,11 @@ struct lwp_info *iterate_over_lwps (ptid void *), void *data); @@ -5750,10 +5750,10 @@ Index: gdb-7.2.90.20110429/gdb/linux-nat.h /* Create a prototype generic GNU/Linux target. The client can override it with local methods. */ struct target_ops * linux_target (void); -Index: gdb-7.2.90.20110429/gdb/machoread.c +Index: gdb-7.2.90.20110525/gdb/machoread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/machoread.c 2011-03-07 17:17:29.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/machoread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/machoread.c 2011-03-07 17:17:29.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/machoread.c 2011-05-25 17:05:21.000000000 +0200 @@ -849,6 +849,7 @@ static const struct sym_fns macho_sym_fn default_symfile_segments, /* Get segment information from a file. */ NULL, @@ -5762,10 +5762,10 @@ Index: gdb-7.2.90.20110429/gdb/machoread.c &psym_functions }; -Index: gdb-7.2.90.20110429/gdb/main.c +Index: gdb-7.2.90.20110525/gdb/main.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/main.c 2011-03-07 19:34:31.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/main.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/main.c 2011-03-07 19:34:31.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/main.c 2011-05-25 17:05:21.000000000 +0200 @@ -39,6 +39,7 @@ #include "interps.h" @@ -5913,10 +5913,10 @@ Index: gdb-7.2.90.20110429/gdb/main.c --quiet Do not print version number on startup.\n\ --readnow Fully read symbol files on first access.\n\ "), stream); -Index: gdb-7.2.90.20110429/gdb/mi/mi-cmd-var.c +Index: gdb-7.2.90.20110525/gdb/mi/mi-cmd-var.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/mi/mi-cmd-var.c 2011-01-12 22:09:39.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/mi/mi-cmd-var.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/mi/mi-cmd-var.c 2011-01-12 22:09:39.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/mi/mi-cmd-var.c 2011-05-25 17:05:21.000000000 +0200 @@ -707,7 +707,6 @@ mi_cmd_var_update (char *command, char * } else @@ -5925,10 +5925,10 @@ Index: gdb-7.2.90.20110429/gdb/mi/mi-cmd-var.c struct varobj *var = varobj_get_handle (name); varobj_update_one (var, print_values, 1 /* explicit */); -Index: gdb-7.2.90.20110429/gdb/mipsread.c +Index: gdb-7.2.90.20110525/gdb/mipsread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/mipsread.c 2011-03-07 17:17:29.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/mipsread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/mipsread.c 2011-03-07 17:17:29.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/mipsread.c 2011-05-25 17:05:21.000000000 +0200 @@ -402,6 +402,7 @@ static const struct sym_fns ecoff_sym_fn default_symfile_segments, /* Get segment information from a file. */ NULL, @@ -5937,10 +5937,10 @@ Index: gdb-7.2.90.20110429/gdb/mipsread.c &psym_functions }; -Index: gdb-7.2.90.20110429/gdb/objfiles.c +Index: gdb-7.2.90.20110525/gdb/objfiles.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/objfiles.c 2011-04-25 23:25:18.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/objfiles.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/objfiles.c 2011-04-25 23:25:18.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/objfiles.c 2011-05-25 17:05:21.000000000 +0200 @@ -846,6 +846,11 @@ objfile_relocate1 (struct objfile *objfi obj_section_addr (s)); } @@ -5953,10 +5953,10 @@ Index: gdb-7.2.90.20110429/gdb/objfiles.c /* Data changed. */ return 1; } -Index: gdb-7.2.90.20110429/gdb/p-valprint.c +Index: gdb-7.2.90.20110525/gdb/p-valprint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/p-valprint.c 2011-03-15 17:00:56.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/p-valprint.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/p-valprint.c 2011-03-15 17:00:56.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/p-valprint.c 2011-05-25 17:05:21.000000000 +0200 @@ -39,6 +39,7 @@ #include "cp-abi.h" #include "cp-support.h" @@ -6033,10 +6033,10 @@ Index: gdb-7.2.90.20110429/gdb/p-valprint.c return (0); } -Index: gdb-7.2.90.20110429/gdb/parse.c +Index: gdb-7.2.90.20110525/gdb/parse.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/parse.c 2011-03-28 22:21:03.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/parse.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/parse.c 2011-03-28 22:21:03.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/parse.c 2011-05-25 17:05:21.000000000 +0200 @@ -1502,6 +1502,7 @@ parser_fprintf (FILE *x, const char *y, int @@ -6142,10 +6142,10 @@ Index: gdb-7.2.90.20110429/gdb/parse.c void _initialize_parse (void) -Index: gdb-7.2.90.20110429/gdb/parser-defs.h +Index: gdb-7.2.90.20110525/gdb/parser-defs.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/parser-defs.h 2011-01-10 21:38:49.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/parser-defs.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/parser-defs.h 2011-01-10 21:38:49.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/parser-defs.h 2011-05-25 17:05:21.000000000 +0200 @@ -194,6 +194,8 @@ extern void operator_length_standard (co int *); @@ -6174,10 +6174,10 @@ Index: gdb-7.2.90.20110429/gdb/parser-defs.h +#endif + #endif /* PARSER_DEFS_H */ -Index: gdb-7.2.90.20110429/gdb/ppc-linux-nat.c +Index: gdb-7.2.90.20110525/gdb/ppc-linux-nat.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/ppc-linux-nat.c 2011-04-18 23:29:18.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/ppc-linux-nat.c 2011-04-29 09:41:06.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/ppc-linux-nat.c 2011-04-18 23:29:18.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/ppc-linux-nat.c 2011-05-25 17:05:21.000000000 +0200 @@ -1637,6 +1637,14 @@ booke_remove_point (struct ppc_hw_breakp hw_breaks[i].hw_break = NULL; } @@ -6321,10 +6321,10 @@ Index: gdb-7.2.90.20110429/gdb/ppc-linux-nat.c } return ret; -Index: gdb-7.2.90.20110429/gdb/printcmd.c +Index: gdb-7.2.90.20110525/gdb/printcmd.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/printcmd.c 2011-03-22 15:39:40.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/printcmd.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/printcmd.c 2011-03-22 15:39:40.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/printcmd.c 2011-05-25 17:05:21.000000000 +0200 @@ -975,6 +975,11 @@ print_command_1 (char *exp, int inspect, else val = access_value_history (0); @@ -6371,10 +6371,10 @@ Index: gdb-7.2.90.20110429/gdb/printcmd.c + observer_attach_mark_used (print_types_mark_used); +#endif } -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/FrameIterator.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/FrameIterator.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/FrameIterator.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/FrameIterator.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,33 @@ +# Iterator over frames. + @@ -6409,10 +6409,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/FrameIterator.py + raise StopIteration + self.frame = result.older () + return result -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/FrameWrapper.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/FrameWrapper.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/FrameWrapper.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/FrameWrapper.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,112 @@ +# Wrapper API for frames. + @@ -6526,10 +6526,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/FrameWrapper.py + + def __getattr__ (self, name): + return getattr (self.frame, name) -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/backtrace.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/backtrace.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/backtrace.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/backtrace.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,42 @@ +# Filtering backtrace. + @@ -6573,10 +6573,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/backtrace.py + return iter + return frame_filter (iter) + -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/alias.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/command/alias.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/command/alias.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/command/alias.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,59 @@ +# Alias command. + @@ -6637,10 +6637,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/alias.py + "This command is an alias for '%s'." % target) + +AliasCommand() -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/backtrace.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/command/backtrace.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/command/backtrace.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/command/backtrace.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,106 @@ +# New backtrace command. + @@ -6748,10 +6748,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/backtrace.py + pair[1].describe (sys.stdout, full) + +FilteringBacktrace() -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/ignore_errors.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/command/ignore_errors.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/command/ignore_errors.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/command/ignore_errors.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,37 @@ +# Ignore errors in user commands. + @@ -6790,10 +6790,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/ignore_errors.py + pass + +IgnoreErrorsCommand () -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/pahole.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/command/pahole.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/command/pahole.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/command/pahole.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,75 @@ +# pahole command for gdb + @@ -6870,10 +6870,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/pahole.py + self.pahole (type, 0, '') + +Pahole() -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/require.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/command/require.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/command/require.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/command/require.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,57 @@ +# Demand-loading commands. + @@ -6932,10 +6932,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/require.py +RequireCommand() +RequireSubcommand("command") +RequireSubcommand("function") -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/upto.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/command/upto.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/command/upto.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/command/upto.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,129 @@ +# upto command. + @@ -7066,16 +7066,16 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/command/upto.py +UptoSourceCommand () +UptoObjectCommand () +UptoWhereCommand () -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/function/__init__.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/function/__init__.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/function/__init__.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/function/__init__.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1 @@ + -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/function/caller_is.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/function/caller_is.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/function/caller_is.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/function/caller_is.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,58 @@ +# Caller-is functions. + @@ -7135,10 +7135,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/function/caller_is.py + +CallerIs() +CallerMatches() -Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/function/in_scope.py +Index: gdb-7.2.90.20110525/gdb/python/lib/gdb/function/in_scope.py =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/python/lib/gdb/function/in_scope.py 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/python/lib/gdb/function/in_scope.py 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,47 @@ +# In-scope function. + @@ -7187,10 +7187,10 @@ Index: gdb-7.2.90.20110429/gdb/python/lib/gdb/function/in_scope.py + return wanted == found + +InScope () -Index: gdb-7.2.90.20110429/gdb/python/py-type.c +Index: gdb-7.2.90.20110525/gdb/python/py-type.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/python/py-type.c 2011-01-26 21:53:45.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/python/py-type.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/python/py-type.c 2011-01-26 21:53:45.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/python/py-type.c 2011-05-25 17:05:21.000000000 +0200 @@ -29,6 +29,8 @@ #include "language.h" #include "vec.h" @@ -7385,10 +7385,10 @@ Index: gdb-7.2.90.20110429/gdb/python/py-type.c } -Index: gdb-7.2.90.20110429/gdb/python/py-value.c +Index: gdb-7.2.90.20110525/gdb/python/py-value.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/python/py-value.c 2011-03-18 17:09:57.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/python/py-value.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/python/py-value.c 2011-03-18 17:09:57.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/python/py-value.c 2011-05-25 17:05:21.000000000 +0200 @@ -28,6 +28,7 @@ #include "infcall.h" #include "expression.h" @@ -7428,10 +7428,10 @@ Index: gdb-7.2.90.20110429/gdb/python/py-value.c } -Index: gdb-7.2.90.20110429/gdb/python/python.c +Index: gdb-7.2.90.20110525/gdb/python/python.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/python/python.c 2011-03-18 09:44:47.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/python/python.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/python/python.c 2011-03-18 09:44:47.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/python/python.c 2011-05-25 17:05:21.000000000 +0200 @@ -49,8 +49,11 @@ static int gdbpy_should_print_stack = 1; #include "linespec.h" #include "source.h" @@ -7507,10 +7507,10 @@ Index: gdb-7.2.90.20110429/gdb/python/python.c { "parameter", gdbpy_parameter, METH_VARARGS, "Return a gdb parameter's value" }, -Index: gdb-7.2.90.20110429/gdb/python/python.h +Index: gdb-7.2.90.20110525/gdb/python/python.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/python/python.h 2011-03-14 17:09:54.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/python/python.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/python/python.h 2011-03-14 17:09:54.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/python/python.h 2011-05-25 17:05:21.000000000 +0200 @@ -32,6 +32,8 @@ void eval_python_from_control_command (s void source_python_script (FILE *stream, const char *file); @@ -7520,10 +7520,10 @@ Index: gdb-7.2.90.20110429/gdb/python/python.h int apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, -Index: gdb-7.2.90.20110429/gdb/somread.c +Index: gdb-7.2.90.20110525/gdb/somread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/somread.c 2011-03-07 17:17:29.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/somread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/somread.c 2011-03-07 17:17:29.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/somread.c 2011-05-25 17:05:21.000000000 +0200 @@ -439,6 +439,7 @@ static const struct sym_fns som_sym_fns default_symfile_segments, /* Get segment information from a file. */ NULL, @@ -7532,10 +7532,10 @@ Index: gdb-7.2.90.20110429/gdb/somread.c &psym_functions }; -Index: gdb-7.2.90.20110429/gdb/stack.c +Index: gdb-7.2.90.20110525/gdb/stack.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/stack.c 2011-03-18 19:48:56.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/stack.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/stack.c 2011-03-18 19:48:56.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/stack.c 2011-05-25 17:05:21.000000000 +0200 @@ -366,6 +366,7 @@ print_frame_args (struct symbol *func, s { const struct language_defn *language; @@ -7558,10 +7558,10 @@ Index: gdb-7.2.90.20110429/gdb/stack.c ui_out_field_stream (uiout, "value", stb); } else -Index: gdb-7.2.90.20110429/gdb/stap-probe.c +Index: gdb-7.2.90.20110525/gdb/stap-probe.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/stap-probe.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/stap-probe.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,2041 @@ +/* SystemTap probe support for GDB. + @@ -9604,10 +9604,10 @@ Index: gdb-7.2.90.20110429/gdb/stap-probe.c + create_internalvar_type_lazy ("_probe_arg9", &probe_funcs, + (void *) (uintptr_t) 9); +} -Index: gdb-7.2.90.20110429/gdb/stap-probe.h +Index: gdb-7.2.90.20110525/gdb/stap-probe.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/stap-probe.h 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/stap-probe.h 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,109 @@ +/* SystemTap probe support for GDB. + @@ -9718,10 +9718,10 @@ Index: gdb-7.2.90.20110429/gdb/stap-probe.h + int n); + +#endif /* !defined (STAP_PROBE_H) */ -Index: gdb-7.2.90.20110429/gdb/symfile.h +Index: gdb-7.2.90.20110525/gdb/symfile.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/symfile.h 2011-04-25 23:25:18.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/symfile.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/symfile.h 2011-04-25 23:25:18.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/symfile.h 2011-05-25 17:05:21.000000000 +0200 @@ -31,6 +31,11 @@ struct objfile; struct obj_section; struct obstack; @@ -9798,10 +9798,10 @@ Index: gdb-7.2.90.20110429/gdb/symfile.h /* The "quick" (aka partial) symbol functions for this symbol reader. */ const struct quick_symbol_functions *qf; -Index: gdb-7.2.90.20110429/gdb/symtab.c +Index: gdb-7.2.90.20110525/gdb/symtab.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/symtab.c 2011-04-20 22:10:29.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/symtab.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/symtab.c 2011-05-06 17:13:37.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/symtab.c 2011-05-25 17:05:21.000000000 +0200 @@ -770,6 +770,7 @@ init_sal (struct symtab_and_line *sal) sal->end = 0; sal->explicit_pc = 0; @@ -9810,11 +9810,11 @@ Index: gdb-7.2.90.20110429/gdb/symtab.c } -Index: gdb-7.2.90.20110429/gdb/symtab.h +Index: gdb-7.2.90.20110525/gdb/symtab.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/symtab.h 2011-04-20 22:10:29.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/symtab.h 2011-04-29 09:40:46.000000000 +0200 -@@ -1112,6 +1112,10 @@ struct symtab_and_line +--- gdb-7.2.90.20110525.orig/gdb/symtab.h 2011-05-06 17:13:37.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/symtab.h 2011-05-25 17:05:21.000000000 +0200 +@@ -1118,6 +1118,10 @@ struct symtab_and_line CORE_ADDR end; int explicit_pc; int explicit_line; @@ -9825,10 +9825,10 @@ Index: gdb-7.2.90.20110429/gdb/symtab.h }; extern void init_sal (struct symtab_and_line *sal); -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,457 @@ + .file "x86_64-vla-pointer.c" + .section .debug_abbrev,"",@progbits @@ -10287,10 +10287,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S + .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)" + .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)" + .section .note.GNU-stack,"",@progbits -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,43 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -10335,10 +10335,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c +} + +#endif -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,66 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -10406,10 +10406,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp + +gdb_test "whatis *array" "type = char \\\[78\\\]" "second: whatis *array" +gdb_test "ptype *array" "type = char \\\[78\\\]" "second: ptype *array" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,455 @@ + .file "x86_64-vla-typedef.c" + .section .debug_abbrev,"",@progbits @@ -10866,10 +10866,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S + .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)" + .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)" + .section .note.GNU-stack,"",@progbits -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,43 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -10914,10 +10914,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c +} + +#endif -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,64 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -10983,10 +10983,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp +gdb_test "whatis array" "type = array_t" "second: whatis array" + +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/arrayidx.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/arrayidx.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/gdb.base/arrayidx.c 2011-01-01 16:33:40.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/arrayidx.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/gdb.base/arrayidx.c 2011-01-01 16:33:40.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/arrayidx.c 2011-05-25 17:05:21.000000000 +0200 @@ -17,6 +17,13 @@ int array[] = {1, 2, 3, 4}; @@ -11001,10 +11001,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/arrayidx.c int main (void) { -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/arrayidx.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/arrayidx.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/gdb.base/arrayidx.exp 2011-01-01 16:33:40.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/arrayidx.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/gdb.base/arrayidx.exp 2011-01-01 16:33:40.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/arrayidx.exp 2011-05-25 17:05:21.000000000 +0200 @@ -57,4 +57,12 @@ gdb_test "print array" \ "\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \ "Print array with array-indexes on" @@ -11019,10 +11019,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/arrayidx.exp + unsupported "$test (no GCC)" + } +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/default.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/default.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/gdb.base/default.exp 2011-02-15 22:17:52.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/default.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/gdb.base/default.exp 2011-02-15 22:17:52.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/default.exp 2011-05-25 17:05:21.000000000 +0200 @@ -607,6 +607,17 @@ gdb_test_list_exact "show convenience" " {$_sdata = void} \ {$_siginfo = void} \ @@ -11041,10 +11041,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/default.exp } #test show directories -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/internal-var-field-address.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/internal-var-field-address.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/internal-var-field-address.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/internal-var-field-address.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,20 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -11066,10 +11066,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/internal-var-field-address.c +struct { + int field; +} staticstruct = { 1 }; -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/internal-var-field-address.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/internal-var-field-address.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/internal-var-field-address.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/internal-var-field-address.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,26 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -11097,10 +11097,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/internal-var-field-address.exp + +gdb_test {set $varstruct = staticstruct} +gdb_test {p $varstruct.field} " = 1" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/stap-probe.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/stap-probe.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/stap-probe.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/stap-probe.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,69 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -11171,10 +11171,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/stap-probe.c + m1(); + m2(); +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/stap-probe.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/stap-probe.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/stap-probe.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/stap-probe.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,72 @@ +# Copyright (C) 2011 Free Software Foundation, Inc. + @@ -11248,10 +11248,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/stap-probe.exp + return -1 +} +stap_test "-DUSE_PROBES" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla-overflow.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla-overflow.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla-overflow.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla-overflow.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,30 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -11283,10 +11283,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla-overflow.c + + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla-overflow.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla-overflow.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla-overflow.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla-overflow.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,109 @@ +# Copyright 2008 Free Software Foundation, Inc. + @@ -11397,10 +11397,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla-overflow.exp +gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()" + +verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,55 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -11457,10 +11457,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla.c + foo (78); + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/vla.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,62 @@ +# Copyright 2008 Free Software Foundation, Inc. + @@ -11524,10 +11524,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/vla.exp +gdb_test "p temp1" " = '1' " "second: print temp1" +gdb_test "p temp2" " = '2' " "second: print temp2" +gdb_test "p temp3" " = '3' " "second: print temp3" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.cp/nextoverthrow.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.cp/nextoverthrow.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/gdb.cp/nextoverthrow.exp 2011-01-01 16:33:44.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.cp/nextoverthrow.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/gdb.cp/nextoverthrow.exp 2011-01-01 16:33:44.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.cp/nextoverthrow.exp 2011-05-25 17:05:21.000000000 +0200 @@ -53,6 +53,17 @@ gdb_test_multiple "print _Unwind_DebugHo } } @@ -11546,10 +11546,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.cp/nextoverthrow.exp unsupported "nextoverthrow.exp could not find _Unwind_DebugHook" return -1 } -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,246 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -11797,10 +11797,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S + .string "char" +.Luint_str: + .string "unsigned int" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,54 @@ +# Copyright 2010 Free Software Foundation, Inc. + @@ -11856,10 +11856,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp + +# The register contains unpredictable value - the array size. +gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-stripped.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-stripped.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,42 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -11903,10 +11903,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-stripped.c + func1 (1, 2); + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,79 @@ +# Copyright 2006 Free Software Foundation, Inc. + @@ -11987,10 +11987,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp +gdb_test "step" \ + "func.* \\(.*\\) at .*" \ + "step" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,83 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -12075,10 +12075,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-locat + + .byte 0x0 /* Terminator */ + .byte 0x0 /* Terminator */ -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,37 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -12117,10 +12117,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-locat +clean_restart $binfile + +gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dwarf-stride.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dwarf-stride.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,42 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -12164,10 +12164,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dwarf-stride.exp +gdb_continue_to_breakpoint "break-here" ".*break-here.*" +gdb_test "p c40pt(1)" " = '0-hello.*" +gdb_test "p c40pt(2)" " = '1-hello.*" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dwarf-stride.f90 +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dwarf-stride.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,40 @@ +! Copyright 2009 Free Software Foundation, Inc. +! @@ -12209,10 +12209,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dwarf-stride.f90 + print *, c40pt ! break-here + +end program repro -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,24 @@ +! Copyright 2010 Free Software Foundation, Inc. +! @@ -12238,10 +12238,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f9 + real :: dummy + dummy = 1 +end subroutine bar -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,37 @@ +# Copyright 2010 Free Software Foundation, Inc. + @@ -12280,10 +12280,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp +} + +gdb_test "bt" {foo \(string='hello'.*} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,36 @@ +! Copyright 2010 Free Software Foundation, Inc. +! @@ -12321,10 +12321,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 + end interface + call foo ('hello') +end -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,145 @@ +# Copyright 2007 Free Software Foundation, Inc. + @@ -12471,10 +12471,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic.exp +gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9" +# maps to foo::vary(1,3) +gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic.f90 +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic.f90 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/dynamic.f90 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,98 @@ +! Copyright 2007 Free Software Foundation, Inc. +! @@ -12574,10 +12574,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/dynamic.f90 + if (x (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort + if (x (3, 1) .ne. 10) call abort +end -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/string.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/string.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/string.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/string.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,59 @@ +# Copyright 2008 Free Software Foundation, Inc. + @@ -12638,10 +12638,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/string.exp +gdb_continue_to_breakpoint "var-finish" +gdb_test "p e" "\\$\[0-9\]* = 'e '" "p e re-set" +gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f2 ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\)" "p *f re-set" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/string.f90 +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/string.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/string.f90 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/string.f90 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,37 @@ +! Copyright 2008 Free Software Foundation, Inc. +! @@ -12680,10 +12680,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/string.f90 + h = 'h' + call foo (g, h) +end -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/subrange.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/subrange.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/subrange.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/subrange.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,60 @@ +# Copyright 2011 Free Software Foundation, Inc. + @@ -12745,10 +12745,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/subrange.exp +delete_breakpoints +gdb_unload +gdb_test {p $a (3, 2:2)} { = \(23\)} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/subrange.f90 +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/subrange.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/subrange.f90 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/subrange.f90 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,28 @@ +! Copyright 2011 Free Software Foundation, Inc. +! @@ -12778,10 +12778,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/subrange.f90 + ptr => a + write (*,*) a ! break-static +end -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.gdb/selftest.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.gdb/selftest.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/gdb.gdb/selftest.exp 2011-04-29 09:40:43.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.gdb/selftest.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/gdb.gdb/selftest.exp 2011-05-25 17:04:21.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.gdb/selftest.exp 2011-05-25 17:05:21.000000000 +0200 @@ -92,6 +92,10 @@ proc do_steps_and_nexts {} { set description "step over ttyarg initialization" set command "step" @@ -12793,10 +12793,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.gdb/selftest.exp -re ".*pre_stat_chain = make_command_stats_cleanup.*$gdb_prompt $" { set description "next over make_command_stats_cleanup and everything it calls" set command "next" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.mi/mi2-var-stale-type.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.mi/mi2-var-stale-type.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,26 @@ +/* Copyright 2011 Free Software Foundation, Inc. + @@ -12824,10 +12824,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.mi/mi2-var-stale-type.c + + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,57 @@ +# Copyright 2011 Free Software Foundation, Inc. +# @@ -12886,10 +12886,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp +mi_create_varobj "vla" "vla" "create local variable vla" + +mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.multi/watchpoint-multi.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.multi/watchpoint-multi.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.multi/watchpoint-multi.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.multi/watchpoint-multi.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,59 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -12950,10 +12950,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.multi/watchpoint-multi.c + marker_exit2 (); + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.multi/watchpoint-multi.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.multi/watchpoint-multi.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.multi/watchpoint-multi.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.multi/watchpoint-multi.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,113 @@ +# Copyright 2010 Free Software Foundation, Inc. + @@ -13068,10 +13068,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.multi/watchpoint-multi.exp + } +} + -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register-func.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.opt/array-from-register-func.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register-func.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.opt/array-from-register-func.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,22 @@ +/* This file is part of GDB, the GNU debugger. + @@ -13095,10 +13095,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register-func.c +{ + return arr[0]; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.opt/array-from-register.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.opt/array-from-register.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,28 @@ +/* This file is part of GDB, the GNU debugger. + @@ -13128,10 +13128,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register.c + + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.opt/array-from-register.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.opt/array-from-register.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,33 @@ +# Copyright 2009 Free Software Foundation, Inc. +# @@ -13166,10 +13166,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.opt/array-from-register.exp +# Seen regression: +# Address requested for identifier "arr" which is in register $rdi +gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.pascal/arrays.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.pascal/arrays.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.pascal/arrays.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.pascal/arrays.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,104 @@ +# Copyright 2008, 2009 Free Software Foundation, Inc. +# @@ -13275,10 +13275,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.pascal/arrays.exp +} +gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char" + -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.pascal/arrays.pas +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.pascal/arrays.pas =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.pascal/arrays.pas 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.pascal/arrays.pas 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,82 @@ +{ + Copyright 2008, 2009 Free Software Foundation, Inc. @@ -13362,10 +13362,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.pascal/arrays.pas + s := 'test'#0'string'; + writeln(s); { set breakpoint 2 here } +end. -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.python/py-frame.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.python/py-frame.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/gdb.python/py-frame.exp 2011-02-26 15:06:28.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.python/py-frame.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/gdb.python/py-frame.exp 2011-02-26 15:06:28.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.python/py-frame.exp 2011-05-25 17:05:21.000000000 +0200 @@ -78,8 +78,6 @@ gdb_test "python print bframe == gdb.new gdb_test "python print 'result =', f0 == f1" " = False" "test equality comparison (false)" @@ -13381,10 +13381,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.python/py-frame.exp gdb_test "python print 'result =', gdb.selected_frame () == f1" " = True" "test gdb.selected_frame" + +gdb_test "python print 'result =', f0.block ()" "" "test Frame.block" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.python/py-value.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.python/py-value.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/gdb.python/py-value.exp 2011-01-01 16:33:49.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.python/py-value.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/gdb.python/py-value.exp 2011-01-01 16:33:49.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.python/py-value.exp 2011-05-25 17:05:21.000000000 +0200 @@ -318,6 +318,15 @@ proc test_value_after_death {} { "print value's type" } @@ -13409,10 +13409,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.python/py-value.exp # The following test recompiles the binary to test either C or C++ # values. -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-child.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-child.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-child.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-child.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,127 @@ +/* Test case for forgotten hw-watchpoints after fork()-off of a process. + @@ -13541,10 +13541,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-child.c + i = sigaction (SIGUSR1, &oldact, NULL); + assert (i == 0); +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,174 @@ +/* Test case for forgotten hw-watchpoints after fork()-off of a process. + @@ -13720,10 +13720,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c + mark_exit (); + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,74 @@ +/* Test case for forgotten hw-watchpoints after fork()-off of a process. + @@ -13799,10 +13799,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c + marker (); + } +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-st.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-st.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-st.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork-st.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,61 @@ +/* Test case for forgotten hw-watchpoints after fork()-off of a process. + @@ -13865,10 +13865,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork-st.c + mark_exit (); + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,149 @@ +# Copyright 2008, 2009, 2010 Free Software Foundation, Inc. + @@ -14019,10 +14019,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork.exp +} else { + untested "child" +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork.h +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork.h 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.threads/watchpoint-fork.h 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,32 @@ +/* Test case for forgotten hw-watchpoints after fork()-off of a process. + @@ -14056,10 +14056,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.threads/watchpoint-fork.h + +extern void marker (void); +extern void forkoff (int nr); -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.trace/stap-trace.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.trace/stap-trace.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.trace/stap-trace.c 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.trace/stap-trace.c 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,71 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -14132,10 +14132,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.trace/stap-trace.c + + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.trace/stap-trace.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.trace/stap-trace.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.trace/stap-trace.exp 2011-04-29 09:40:46.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.trace/stap-trace.exp 2011-05-25 17:05:21.000000000 +0200 @@ -0,0 +1,129 @@ +# Copyright 2011 +# Free Software Foundation, Inc. @@ -14266,10 +14266,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.trace/stap-trace.exp + +# Finished! +gdb_test "tfind none" ".*" "" -Index: gdb-7.2.90.20110429/gdb/testsuite/lib/gdb.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/lib/gdb.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/lib/gdb.exp 2011-03-25 14:08:11.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/lib/gdb.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/lib/gdb.exp 2011-03-25 14:08:11.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/lib/gdb.exp 2011-05-25 17:05:21.000000000 +0200 @@ -141,6 +141,11 @@ proc gdb_unload {} { send_gdb "y\n" exp_continue @@ -14282,10 +14282,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/lib/gdb.exp -re "Discard symbol table from .*y or n.*$" { send_gdb "y\n" exp_continue -Index: gdb-7.2.90.20110429/gdb/testsuite/lib/pascal.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/lib/pascal.exp =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/testsuite/lib/pascal.exp 2011-01-01 16:33:52.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/testsuite/lib/pascal.exp 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/testsuite/lib/pascal.exp 2011-01-01 16:33:52.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/testsuite/lib/pascal.exp 2011-05-25 17:05:21.000000000 +0200 @@ -37,6 +37,9 @@ proc pascal_init {} { global pascal_compiler_is_fpc global gpc_compiler @@ -14317,10 +14317,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/lib/pascal.exp } set pascal_init_done 1 } -Index: gdb-7.2.90.20110429/gdb/thread.c +Index: gdb-7.2.90.20110525/gdb/thread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/thread.c 2011-04-19 17:24:49.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/thread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/thread.c 2011-04-19 17:24:49.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/thread.c 2011-05-25 17:05:21.000000000 +0200 @@ -1438,7 +1438,8 @@ update_thread_list (void) no thread is selected, or no threads exist. */ @@ -14354,10 +14354,10 @@ Index: gdb-7.2.90.20110429/gdb/thread.c - create_internalvar_type_lazy ("_thread", thread_id_make_value); + create_internalvar_type_lazy ("_thread", &thread_funcs, NULL); } -Index: gdb-7.2.90.20110429/gdb/top.c +Index: gdb-7.2.90.20110525/gdb/top.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/top.c 2011-03-12 23:59:24.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/top.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/top.c 2011-03-12 23:59:24.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/top.c 2011-05-25 17:05:21.000000000 +0200 @@ -343,6 +343,9 @@ void prepare_execute_command (void) { @@ -14368,11 +14368,11 @@ Index: gdb-7.2.90.20110429/gdb/top.c /* With multiple threads running while the one we're examining is stopped, the dcache can get stale without us being able to detect -Index: gdb-7.2.90.20110429/gdb/tracepoint.c +Index: gdb-7.2.90.20110525/gdb/tracepoint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/tracepoint.c 2011-03-18 19:47:56.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/tracepoint.c 2011-04-29 09:40:46.000000000 +0200 -@@ -1600,6 +1600,8 @@ start_tracing (void) +--- gdb-7.2.90.20110525.orig/gdb/tracepoint.c 2011-05-20 16:37:42.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/tracepoint.c 2011-05-25 17:05:21.000000000 +0200 +@@ -1603,6 +1603,8 @@ start_tracing (void) for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, t); ix++) { @@ -14381,7 +14381,7 @@ Index: gdb-7.2.90.20110429/gdb/tracepoint.c if ((t->type == bp_fast_tracepoint ? !may_insert_fast_tracepoints : !may_insert_tracepoints)) -@@ -1608,6 +1610,9 @@ start_tracing (void) +@@ -1611,6 +1613,9 @@ start_tracing (void) t->number_on_target = 0; target_download_tracepoint (t); t->number_on_target = t->number; @@ -14391,7 +14391,7 @@ Index: gdb-7.2.90.20110429/gdb/tracepoint.c } VEC_free (breakpoint_p, tp_vec); -@@ -1669,7 +1674,28 @@ trace_stop_command (char *args, int from +@@ -1672,7 +1677,28 @@ trace_stop_command (char *args, int from void stop_tracing (void) { @@ -14420,7 +14420,7 @@ Index: gdb-7.2.90.20110429/gdb/tracepoint.c /* Should change in response to reply? */ current_trace_status ()->running = 0; } -@@ -4497,7 +4523,8 @@ info_static_tracepoint_markers_command ( +@@ -4515,7 +4541,8 @@ info_static_tracepoint_markers_command ( available. */ static struct value * @@ -14430,7 +14430,7 @@ Index: gdb-7.2.90.20110429/gdb/tracepoint.c { LONGEST size; gdb_byte *buf; -@@ -4676,6 +4703,15 @@ traceframe_available_memory (VEC(mem_ran +@@ -4694,6 +4721,15 @@ traceframe_available_memory (VEC(mem_ran return 0; } @@ -14446,7 +14446,7 @@ Index: gdb-7.2.90.20110429/gdb/tracepoint.c /* module initialization */ void _initialize_tracepoint (void) -@@ -4686,7 +4722,7 @@ _initialize_tracepoint (void) +@@ -4704,7 +4740,7 @@ _initialize_tracepoint (void) value with a void typed value, and when we get here, gdbarch isn't initialized yet. At this point, we're quite sure there isn't another convenience variable of the same name. */ @@ -14455,10 +14455,10 @@ Index: gdb-7.2.90.20110429/gdb/tracepoint.c traceframe_number = -1; tracepoint_number = -1; -Index: gdb-7.2.90.20110429/gdb/typeprint.c +Index: gdb-7.2.90.20110525/gdb/typeprint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/typeprint.c 2011-01-11 22:53:25.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/typeprint.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/typeprint.c 2011-01-11 22:53:25.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/typeprint.c 2011-05-25 17:05:21.000000000 +0200 @@ -36,6 +36,7 @@ #include "gdb_string.h" #include "exceptions.h" @@ -14512,10 +14512,10 @@ Index: gdb-7.2.90.20110429/gdb/typeprint.c } static void -Index: gdb-7.2.90.20110429/gdb/utils.c +Index: gdb-7.2.90.20110525/gdb/utils.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/utils.c 2011-03-31 16:32:48.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/utils.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/utils.c 2011-05-17 23:26:28.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/utils.c 2011-05-25 17:05:21.000000000 +0200 @@ -2243,6 +2243,36 @@ set_batch_flag_and_make_cleanup_restore_ return back_to; } @@ -14553,10 +14553,10 @@ Index: gdb-7.2.90.20110429/gdb/utils.c /* Set the screen size based on LINES_PER_PAGE and CHARS_PER_LINE. */ static void -Index: gdb-7.2.90.20110429/gdb/valarith.c +Index: gdb-7.2.90.20110525/gdb/valarith.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/valarith.c 2011-02-18 20:10:46.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/valarith.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/valarith.c 2011-02-18 20:10:46.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/valarith.c 2011-05-25 17:05:21.000000000 +0200 @@ -198,7 +198,10 @@ value_subscripted_rvalue (struct value * struct type *array_type = check_typedef (value_type (array)); struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type)); @@ -14580,10 +14580,10 @@ Index: gdb-7.2.90.20110429/gdb/valarith.c return binop_types_user_defined_p (op, value_type (arg1), value_type (arg2)); } -Index: gdb-7.2.90.20110429/gdb/valops.c +Index: gdb-7.2.90.20110525/gdb/valops.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/valops.c 2011-03-29 19:04:30.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/valops.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/valops.c 2011-03-29 19:04:30.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/valops.c 2011-05-25 17:05:21.000000000 +0200 @@ -47,6 +47,7 @@ #include "objfiles.h" #include "symtab.h" @@ -14735,10 +14735,10 @@ Index: gdb-7.2.90.20110429/gdb/valops.c if (TYPE_CODE (array_type) == TYPE_CODE_BITSTRING) { int i; -Index: gdb-7.2.90.20110429/gdb/valprint.c +Index: gdb-7.2.90.20110525/gdb/valprint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/valprint.c 2011-02-14 12:35:45.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/valprint.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/valprint.c 2011-04-29 21:23:05.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/valprint.c 2011-05-25 17:05:21.000000000 +0200 @@ -36,6 +36,7 @@ #include "dfp.h" #include "python/python.h" @@ -14799,7 +14799,7 @@ Index: gdb-7.2.90.20110429/gdb/valprint.c index_type = TYPE_INDEX_TYPE (type); if (get_array_bounds (type, &low_bound, &high_bound)) -@@ -1284,6 +1309,8 @@ val_print_array_elements (struct type *t +@@ -1290,6 +1315,8 @@ val_print_array_elements (struct type *t { fprintf_filtered (stream, "..."); } @@ -14808,10 +14808,10 @@ Index: gdb-7.2.90.20110429/gdb/valprint.c } /* Read LEN bytes of target memory at address MEMADDR, placing the -Index: gdb-7.2.90.20110429/gdb/value.c +Index: gdb-7.2.90.20110525/gdb/value.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/value.c 2011-02-27 21:57:15.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/value.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/value.c 2011-02-27 21:57:15.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/value.c 2011-05-25 17:05:21.000000000 +0200 @@ -43,6 +43,7 @@ #include "python/python.h" #include @@ -15087,10 +15087,10 @@ Index: gdb-7.2.90.20110429/gdb/value.c + observer_attach_mark_used (value_types_mark_used); +#endif } -Index: gdb-7.2.90.20110429/gdb/value.h +Index: gdb-7.2.90.20110525/gdb/value.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/value.h 2011-03-04 21:07:22.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/value.h 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/value.h 2011-03-04 21:07:22.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/value.h 2011-05-25 17:05:21.000000000 +0200 @@ -473,6 +473,10 @@ extern struct value *value_from_decfloat const gdb_byte *decbytes); extern struct value *value_from_history_ref (char *, char **); @@ -15158,10 +15158,10 @@ Index: gdb-7.2.90.20110429/gdb/value.h extern struct internalvar *lookup_internalvar (const char *name); -Index: gdb-7.2.90.20110429/gdb/windows-tdep.c +Index: gdb-7.2.90.20110525/gdb/windows-tdep.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/windows-tdep.c 2011-01-12 02:23:29.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/windows-tdep.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/windows-tdep.c 2011-01-12 02:23:29.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/windows-tdep.c 2011-05-25 17:05:21.000000000 +0200 @@ -268,7 +268,7 @@ static struct lval_funcs tlb_value_funcs if there's no object available. */ @@ -15194,10 +15194,10 @@ Index: gdb-7.2.90.20110429/gdb/windows-tdep.c - create_internalvar_type_lazy ("_tlb", tlb_make_value); + create_internalvar_type_lazy ("_tlb", &tlb_funcs, NULL); } -Index: gdb-7.2.90.20110429/gdb/xcoffread.c +Index: gdb-7.2.90.20110525/gdb/xcoffread.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/xcoffread.c 2011-03-07 17:17:29.000000000 +0100 -+++ gdb-7.2.90.20110429/gdb/xcoffread.c 2011-04-29 09:40:46.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/xcoffread.c 2011-03-07 17:17:29.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/xcoffread.c 2011-05-25 17:05:21.000000000 +0200 @@ -3090,6 +3090,7 @@ static const struct sym_fns xcoff_sym_fn default_symfile_segments, /* Get segment information from a file. */ aix_process_linenos, diff --git a/gdb-bz645773-case-insensitive-4of5.patch b/gdb-bz645773-case-insensitive-4of5.patch index 2ef369d..1135cc7 100644 --- a/gdb-bz645773-case-insensitive-4of5.patch +++ b/gdb-bz645773-case-insensitive-4of5.patch @@ -58,10 +58,10 @@ gdb/testsuite/ * gdb.dwarf2/dw2-case-insensitive.c: New file. * gdb.dwarf2/dw2-case-insensitive.exp: New file. -Index: gdb-7.2.90.20110429/gdb/dwarf2read.c +Index: gdb-7.2.90.20110525/gdb/dwarf2read.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dwarf2read.c 2011-04-29 09:43:34.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/dwarf2read.c 2011-04-29 09:45:58.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/dwarf2read.c 2011-05-25 17:12:51.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/dwarf2read.c 2011-05-25 19:12:33.000000000 +0200 @@ -152,6 +152,9 @@ DEF_VEC_I (offset_type); a comment by the code that writes the index. */ struct mapped_index @@ -72,7 +72,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c /* The total length of the buffer. */ off_t total_size; -@@ -1990,17 +1993,23 @@ create_addrmap_from_index (struct objfil +@@ -1997,17 +2000,23 @@ create_addrmap_from_index (struct objfil SYMBOL_HASH_NEXT, but we keep a separate copy to maintain control over the implementation. This is necessary because the hash function is tied to the format of the mapped index file. The hash values do not have to match with @@ -99,29 +99,34 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c return r; } -@@ -2013,11 +2022,19 @@ static int - find_slot_in_mapped_hash (struct mapped_index *index, const char *name, - offset_type **vec_out) - { -- offset_type hash = mapped_index_string_hash (name); +@@ -2023,6 +2032,7 @@ find_slot_in_mapped_hash (struct mapped_ + struct cleanup *back_to = make_cleanup (null_cleanup, 0); + offset_type hash; + offset_type slot, step; ++ int (*cmp) (const char *, const char *); + + if (current_language->la_language == language_cplus + || current_language->la_language == language_java +@@ -2045,9 +2055,16 @@ find_slot_in_mapped_hash (struct mapped_ + } + } + +- hash = mapped_index_string_hash (name); + /* Index version 4 did not support case insensitive searches. But the + indexes for case insensitive languages are built in lowercase, therefore + simulate our NAME being searched is also lowercased. */ -+ offset_type hash = mapped_index_string_hash ((index->version == 4 ++ hash = mapped_index_string_hash ((index->version == 4 + && case_sensitivity == case_sensitive_off + ? 5 : index->version), + name); - offset_type slot, step; -+ int (*cmp) (const char *, const char *); - slot = hash & (index->symbol_table_slots - 1); step = ((hash * 17) & (index->symbol_table_slots - 1)) | 1; + cmp = (case_sensitivity == case_sensitive_on ? strcmp : strcasecmp); for (;;) { -@@ -2028,7 +2045,7 @@ find_slot_in_mapped_hash (struct mapped_ - return 0; +@@ -2061,7 +2078,7 @@ find_slot_in_mapped_hash (struct mapped_ + } str = index->constant_pool + MAYBE_SWAP (index->symbol_table[i]); - if (!strcmp (name, str)) @@ -129,7 +134,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c { *vec_out = (offset_type *) (index->constant_pool + MAYBE_SWAP (index->symbol_table[i + 1])); -@@ -2071,15 +2088,17 @@ dwarf2_read_index (struct objfile *objfi +@@ -2105,15 +2122,17 @@ dwarf2_read_index (struct objfile *objfi /* Versions earlier than 3 emitted every copy of a psymbol. This causes the index to behave very poorly for certain requests. Version 3 contained incomplete addrmap. So, it seems better to just ignore such @@ -149,7 +154,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c map->total_size = dwarf2_per_objfile->gdb_index.size; metadata = (offset_type *) (addr + sizeof (offset_type)); -@@ -15602,13 +15621,16 @@ struct strtab_entry +@@ -15692,13 +15711,16 @@ struct strtab_entry const char *str; }; @@ -168,7 +173,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c } /* Equality function for a strtab_entry. */ -@@ -15746,12 +15768,15 @@ cleanup_mapped_symtab (void *p) +@@ -15836,12 +15858,15 @@ cleanup_mapped_symtab (void *p) } /* Find a slot in SYMTAB for the symbol NAME. Returns a pointer to @@ -186,7 +191,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c index = hash & (symtab->size - 1); step = ((hash * 17) & (symtab->size - 1)) | 1; -@@ -16279,7 +16304,7 @@ write_psymtabs_to_index (struct objfile +@@ -16369,7 +16394,7 @@ write_psymtabs_to_index (struct objfile total_len = size_of_contents; /* The version number. */ @@ -195,10 +200,10 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c obstack_grow (&contents, &val, sizeof (val)); /* The offset of the CU list from the start of the file. */ -Index: gdb-7.2.90.20110429/gdb/minsyms.c +Index: gdb-7.2.90.20110525/gdb/minsyms.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/minsyms.c 2011-04-29 09:43:34.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/minsyms.c 2011-04-29 09:44:15.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/minsyms.c 2011-05-25 17:12:51.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/minsyms.c 2011-05-25 17:13:13.000000000 +0200 @@ -239,11 +239,16 @@ lookup_minimal_symbol (const char *name, if (pass == 1) @@ -218,10 +223,10 @@ Index: gdb-7.2.90.20110429/gdb/minsyms.c match = SYMBOL_MATCHES_SEARCH_NAME (msymbol, modified_name); } -Index: gdb-7.2.90.20110429/gdb/psymtab.c +Index: gdb-7.2.90.20110525/gdb/psymtab.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/psymtab.c 2011-04-20 22:10:29.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/psymtab.c 2011-04-29 09:44:15.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/psymtab.c 2011-04-20 22:10:29.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/psymtab.c 2011-05-25 17:13:13.000000000 +0200 @@ -690,8 +690,15 @@ lookup_partial_symbol (struct partial_sy internal_error (__FILE__, __LINE__, _("failed internal consistency check")); @@ -240,10 +245,10 @@ Index: gdb-7.2.90.20110429/gdb/psymtab.c { if (symbol_matches_domain (SYMBOL_LANGUAGE (*top), SYMBOL_DOMAIN (*top), domain)) -Index: gdb-7.2.90.20110429/gdb/symtab.c +Index: gdb-7.2.90.20110525/gdb/symtab.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/symtab.c 2011-04-29 09:43:55.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/symtab.c 2011-04-29 09:44:15.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/symtab.c 2011-05-25 17:12:51.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/symtab.c 2011-05-25 17:13:49.000000000 +0200 @@ -1062,19 +1062,6 @@ lookup_symbol_in_language (const char *n } } @@ -264,7 +269,7 @@ Index: gdb-7.2.90.20110429/gdb/symtab.c returnval = lookup_symbol_aux (modified_name, block, domain, lang, is_a_field_of_this); do_cleanups (cleanup); -@@ -3082,7 +3069,9 @@ search_symbols (char *regexp, domain_enu +@@ -3106,7 +3093,9 @@ search_symbols (char *regexp, domain_enu } } @@ -275,26 +280,24 @@ Index: gdb-7.2.90.20110429/gdb/symtab.c if (errcode != 0) { char *err = get_regcomp_error (errcode, &datum.preg); -@@ -3529,10 +3518,13 @@ completion_list_add_name (char *symname, - char *text, char *word) +@@ -3546,7 +3535,11 @@ rbreak_command (char *regexp, int from_t + static int + compare_symbol_name (const char *name, const char *sym_text, int sym_text_len) { - int newsize; +- if (strncmp (name, sym_text, sym_text_len) != 0) + int (*ncmp) (const char *, const char *, size_t); + + ncmp = (case_sensitivity == case_sensitive_on ? strncmp : strncasecmp); ++ ++ if (ncmp (name, sym_text, sym_text_len) != 0) + return 0; - /* Clip symbols that cannot match. */ - -- if (strncmp (symname, sym_text, sym_text_len) != 0) -+ if (ncmp (symname, sym_text, sym_text_len) != 0) - { - return; - } -Index: gdb-7.2.90.20110429/gdb/symtab.h + if (sym_text[sym_text_len] == '(') +Index: gdb-7.2.90.20110525/gdb/symtab.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/symtab.h 2011-04-29 09:43:34.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/symtab.h 2011-04-29 09:44:15.000000000 +0200 -@@ -1030,7 +1030,8 @@ extern unsigned int msymbol_hash (const +--- gdb-7.2.90.20110525.orig/gdb/symtab.h 2011-05-25 17:12:51.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/symtab.h 2011-05-25 17:13:13.000000000 +0200 +@@ -1036,7 +1036,8 @@ extern unsigned int msymbol_hash (const is only a GDB in-memory computed value with no external files compatibility requirements. */ @@ -304,10 +307,10 @@ Index: gdb-7.2.90.20110429/gdb/symtab.h extern struct objfile * msymbol_objfile (struct minimal_symbol *sym); -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/fortran-sym-case.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/fortran-sym-case.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/fortran-sym-case.c 2011-04-29 09:44:15.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/fortran-sym-case.c 2011-05-25 17:13:13.000000000 +0200 @@ -0,0 +1,22 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -331,10 +334,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/fortran-sym-case.c +{ + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/fortran-sym-case.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.base/fortran-sym-case.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.base/fortran-sym-case.exp 2011-04-29 09:44:15.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.base/fortran-sym-case.exp 2011-05-25 17:13:13.000000000 +0200 @@ -0,0 +1,27 @@ +# Copyright (C) 2011 Free Software Foundation, Inc. + @@ -363,10 +366,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.base/fortran-sym-case.exp +gdb_test "set language fortran" {Warning: the current language does not match this frame\.} + +gdb_test "frame" ", aRGv=.*" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S 2011-04-29 09:44:15.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S 2011-05-25 17:13:13.000000000 +0200 @@ -0,0 +1,102 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -470,10 +473,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S + + .byte 0x0 /* Terminator */ + .byte 0x0 /* Terminator */ -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c 2011-04-29 09:44:15.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c 2011-05-25 17:13:13.000000000 +0200 @@ -0,0 +1,38 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -513,10 +516,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c + FUNC_symtab (); + return 0; +} -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp 2011-04-29 09:44:15.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp 2011-05-25 17:13:13.000000000 +0200 @@ -0,0 +1,49 @@ +# Copyright 2011 Free Software Foundation, Inc. + @@ -567,10 +570,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp +if {[gdb_breakpoint "fuNC_symtab"] == 1} { + pass "setting breakpoint at fuNC_symtab" +} -Index: gdb-7.2.90.20110429/gdb/utils.c +Index: gdb-7.2.90.20110525/gdb/utils.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/utils.c 2011-04-29 09:43:34.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/utils.c 2011-04-29 09:44:15.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/utils.c 2011-05-25 17:12:51.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/utils.c 2011-05-25 17:13:13.000000000 +0200 @@ -3003,10 +3003,12 @@ strcmp_iw (const char *string1, const ch { string2++; diff --git a/gdb-bz645773-case-insensitive-5of5.patch b/gdb-bz645773-case-insensitive-5of5.patch deleted file mode 100644 index 7077037..0000000 --- a/gdb-bz645773-case-insensitive-5of5.patch +++ /dev/null @@ -1,62 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2011-04/msg00546.html -Subject: [obv] Fix completer pre-expansion for case insensitive lookups - -Hi, - -due to the pending patches there happened a semantic collision. Both pathsets -were right on their own but together it did not work well. There could be -a testcase for it but I do not provide it, it seems obvious enought to me. - -The two patches were: - Re: [patch 3/3] case insensitive: the fix [rediff] - http://sourceware.org/ml/gdb-patches/2011-04/msg00418.html - - see the change in completion_list_add_name -and - [patch][+7.3] Fix physname completion regression - http://sourceware.org/ml/gdb-patches/2011-04/msg00140.html - - see expand_partial_symbol_name which just called - completion_list_add_name before but now it has explicit strncmp. - -Another problem is this code is still wrong. That is the subject of: - CU expansion problem for parameters - http://sourceware.org/bugzilla/show_bug.cgi?id=12708 - -But I did not want to mix two unrelated fixes into a single patch - -No regressions on {x86_64,x86_64-m32,i686}-fedora15-linux-gnu. Checked it in -already to not get lost in the inter-patch dependencies again. - - -Sorry, -Jan - - -http://sourceware.org/ml/gdb-cvs/2011-04/msg00186.html - -### src/gdb/ChangeLog 2011/04/28 15:52:53 1.12964 -### src/gdb/ChangeLog 2011/04/28 17:37:02 1.12965 -## -1,3 +1,8 @@ -+2011-04-28 Jan Kratochvil -+ -+ * symtab.c (expand_partial_symbol_name): New variable NCMP. Support -+ case insensitive comparison. -+ - 2011-04-28 Ulrich Weigand - - * infrun.c (proceed): Revert previous change. ---- src/gdb/symtab.c 2011/04/27 20:03:03 1.269 -+++ src/gdb/symtab.c 2011/04/28 17:37:06 1.270 -@@ -3707,8 +3707,11 @@ - expand_partial_symbol_name (const char *name, void *user_data) - { - struct add_name_data *datum = (struct add_name_data *) user_data; -+ int (*ncmp) (const char *, const char *, size_t); - -- return strncmp (name, datum->sym_text, datum->sym_text_len) == 0; -+ ncmp = (case_sensitivity == case_sensitive_on ? strncmp : strncasecmp); -+ -+ return ncmp (name, datum->sym_text, datum->sym_text_len) == 0; - } - - char ** - diff --git a/gdb-bz701131-readline62-3of3.patch b/gdb-bz701131-readline62-3of3.patch index 41d2374..69725a4 100644 --- a/gdb-bz701131-readline62-3of3.patch +++ b/gdb-bz701131-readline62-3of3.patch @@ -58,8 +58,10 @@ readline/doc/ @defcodeindex. Make the `Programming with GNU History' reference external. ---- a/gdb/doc/Makefile.in -+++ b/gdb/doc/Makefile.in +Index: gdb-7.2.90.20110525/gdb/doc/Makefile.in +=================================================================== +--- gdb-7.2.90.20110525.orig/gdb/doc/Makefile.in 2011-01-03 14:01:05.000000000 +0100 ++++ gdb-7.2.90.20110525/gdb/doc/Makefile.in 2011-05-25 19:16:35.000000000 +0200 @@ -117,7 +117,7 @@ GDB_DOC_SOURCE_INCLUDES = \ $(srcdir)/gpl.texi \ $(srcdir)/agentexpr.texi \ @@ -69,9 +71,11 @@ readline/doc/ GDB_DOC_BUILD_INCLUDES = \ gdb-cfg.texi \ GDBvn.texi ---- a/gdb/doc/gdb.texinfo -+++ b/gdb/doc/gdb.texinfo -@@ -31008,13 +31008,13 @@ things without first using the debugger to find the facts. +Index: gdb-7.2.90.20110525/gdb/doc/gdb.texinfo +=================================================================== +--- gdb-7.2.90.20110525.orig/gdb/doc/gdb.texinfo 2011-05-25 19:14:36.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/doc/gdb.texinfo 2011-05-25 19:17:01.000000000 +0200 +@@ -31095,13 +31095,13 @@ things without first using the debugger @c The readline documentation is distributed with the readline code @c and consists of the two following files: @@ -87,10 +91,12 @@ readline/doc/ +@include hsuser.texi @end ifclear - ---- a/readline/doc/hsuser.texi -+++ b/readline/doc/hsuser.texi -@@ -26,9 +26,10 @@ into another language, under the above conditions for modified versions. + @node In Memoriam +Index: gdb-7.2.90.20110525/readline/doc/hsuser.texi +=================================================================== +--- gdb-7.2.90.20110525.orig/readline/doc/hsuser.texi 2011-05-25 19:16:17.000000000 +0200 ++++ gdb-7.2.90.20110525/readline/doc/hsuser.texi 2011-05-25 19:16:35.000000000 +0200 +@@ -26,9 +26,10 @@ into another language, under the above c @node Using History Interactively @chapter Using History Interactively @@ -104,7 +110,7 @@ readline/doc/ @ifset BashFeatures This chapter describes how to use the @sc{gnu} History Library -@@ -41,7 +42,8 @@ see the @sc{gnu} Readline Library Manual. +@@ -41,7 +42,8 @@ see the @sc{gnu} Readline Library Manual This chapter describes how to use the @sc{gnu} History Library interactively, from a user's standpoint. It should be considered a user's guide. For information on using the @sc{gnu} History Library in your own programs, @@ -114,4 +120,3 @@ readline/doc/ @end ifclear @ifset BashFeatures - diff --git a/gdb-fortran-common.patch b/gdb-fortran-common.patch index be5bf22..1304868 100644 --- a/gdb-fortran-common.patch +++ b/gdb-fortran-common.patch @@ -1,8 +1,8 @@ -Index: gdb-7.2.90.20110429/gdb/dwarf2read.c +Index: gdb-7.2.90.20110525/gdb/dwarf2read.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/dwarf2read.c 2011-04-29 09:41:14.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/dwarf2read.c 2011-04-29 09:41:20.000000000 +0200 -@@ -7569,12 +7569,14 @@ read_set_type (struct die_info *die, str +--- gdb-7.2.90.20110525.orig/gdb/dwarf2read.c 2011-05-25 17:06:19.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/dwarf2read.c 2011-05-25 17:10:46.000000000 +0200 +@@ -7665,12 +7665,14 @@ read_set_type (struct die_info *die, str return set_die_type (die, set_type, cu); } @@ -19,7 +19,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c struct attribute *attr; struct symbol *sym; CORE_ADDR base = (CORE_ADDR) 0; -@@ -7599,10 +7601,40 @@ read_common_block (struct die_info *die, +@@ -7695,20 +7697,67 @@ read_common_block (struct die_info *die, } if (die->child != NULL) { @@ -52,16 +52,17 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c child_die = die->child; while (child_die && child_die->tag) { + LONGEST offset; + + /* Create the symbol in the DW_TAG_common_block block in the current + symbol scope. */ sym = new_symbol (child_die, NULL, cu); + + /* Undocumented in DWARF3, when it can be present? */ - attr = dwarf2_attr (child_die, DW_AT_data_member_location, cu); - if (sym != NULL && attr != NULL) + if (sym != NULL + && handle_data_member_location (child_die, cu, &offset)) { -@@ -7620,8 +7652,25 @@ read_common_block (struct die_info *die, - SYMBOL_VALUE_ADDRESS (sym) = base + byte_offset; + SYMBOL_VALUE_ADDRESS (sym) = base + offset; add_symbol_to_list (sym, &global_symbols); } + @@ -86,7 +87,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c } } -@@ -11286,6 +11335,13 @@ new_symbol_full (struct die_info *die, s +@@ -11376,6 +11425,13 @@ new_symbol_full (struct die_info *die, s { var_decode_location (attr, sym, cu); attr2 = dwarf2_attr (die, DW_AT_external, cu); @@ -100,7 +101,7 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c if (SYMBOL_CLASS (sym) == LOC_STATIC && SYMBOL_VALUE_ADDRESS (sym) == 0 && !dwarf2_per_objfile->has_section_at_zero) -@@ -11458,6 +11514,11 @@ new_symbol_full (struct die_info *die, s +@@ -11548,6 +11604,11 @@ new_symbol_full (struct die_info *die, s SYMBOL_CLASS (sym) = LOC_TYPEDEF; list_to_add = &global_symbols; break; @@ -112,10 +113,10 @@ Index: gdb-7.2.90.20110429/gdb/dwarf2read.c default: /* Not a tag we recognize. Hopefully we aren't processing trash data, but since we must specifically ignore things -Index: gdb-7.2.90.20110429/gdb/f-lang.c +Index: gdb-7.2.90.20110525/gdb/f-lang.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/f-lang.c 2011-04-29 09:41:15.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/f-lang.c 2011-04-29 09:41:20.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/f-lang.c 2011-05-25 17:06:22.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/f-lang.c 2011-05-25 17:07:02.000000000 +0200 @@ -446,27 +446,3 @@ _initialize_f_language (void) add_language (&f_language_defn); @@ -144,10 +145,10 @@ Index: gdb-7.2.90.20110429/gdb/f-lang.c - } - return (NULL); -} -Index: gdb-7.2.90.20110429/gdb/f-lang.h +Index: gdb-7.2.90.20110525/gdb/f-lang.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/f-lang.h 2011-04-29 09:41:15.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/f-lang.h 2011-04-29 09:41:20.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/f-lang.h 2011-05-25 17:06:22.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/f-lang.h 2011-05-25 17:07:02.000000000 +0200 @@ -52,36 +52,8 @@ enum f90_range_type NONE_BOUND_DEFAULT /* "(low:high)" */ }; @@ -185,10 +186,10 @@ Index: gdb-7.2.90.20110429/gdb/f-lang.h /* When reasonable array bounds cannot be fetched, such as when you ask to 'mt print symbols' and there is no stack frame and -Index: gdb-7.2.90.20110429/gdb/f-valprint.c +Index: gdb-7.2.90.20110525/gdb/f-valprint.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/f-valprint.c 2011-04-29 09:41:15.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/f-valprint.c 2011-04-29 09:41:20.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/f-valprint.c 2011-05-25 17:06:22.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/f-valprint.c 2011-05-25 17:07:02.000000000 +0200 @@ -34,6 +34,8 @@ #include "gdbcore.h" #include "command.h" @@ -371,10 +372,10 @@ Index: gdb-7.2.90.20110429/gdb/f-valprint.c } void -Index: gdb-7.2.90.20110429/gdb/stack.c +Index: gdb-7.2.90.20110525/gdb/stack.c =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/stack.c 2011-04-29 09:40:46.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/stack.c 2011-04-29 09:41:20.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/stack.c 2011-05-25 17:05:21.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/stack.c 2011-05-25 17:07:02.000000000 +0200 @@ -1525,6 +1525,8 @@ iterate_over_block_locals (struct block case LOC_COMPUTED: if (SYMBOL_IS_ARGUMENT (sym)) @@ -384,10 +385,10 @@ Index: gdb-7.2.90.20110429/gdb/stack.c (*cb) (SYMBOL_PRINT_NAME (sym), sym, cb_data); break; -Index: gdb-7.2.90.20110429/gdb/symtab.h +Index: gdb-7.2.90.20110525/gdb/symtab.h =================================================================== ---- gdb-7.2.90.20110429.orig/gdb/symtab.h 2011-04-29 09:40:46.000000000 +0200 -+++ gdb-7.2.90.20110429/gdb/symtab.h 2011-04-29 09:42:17.000000000 +0200 +--- gdb-7.2.90.20110525.orig/gdb/symtab.h 2011-05-25 17:05:21.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/symtab.h 2011-05-25 17:07:02.000000000 +0200 @@ -411,7 +411,10 @@ typedef enum domain_enum_tag TYPES_DOMAIN, @@ -400,10 +401,10 @@ Index: gdb-7.2.90.20110429/gdb/symtab.h } domain_enum; -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/common-block.exp +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/common-block.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/common-block.exp 2011-04-29 09:41:20.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/common-block.exp 2011-05-25 17:07:02.000000000 +0200 @@ -0,0 +1,101 @@ +# Copyright 2008 Free Software Foundation, Inc. + @@ -506,10 +507,10 @@ Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/common-block.exp +gdb_test "p ix_x" " = 1 *" "p ix_x in" +gdb_test "p iy_y" " = 2 *" "p iy_y in" +gdb_test "p iz_z2" " = 3 *" "p iz_z2 in" -Index: gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/common-block.f90 +Index: gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/common-block.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.90.20110429/gdb/testsuite/gdb.fortran/common-block.f90 2011-04-29 09:41:20.000000000 +0200 ++++ gdb-7.2.90.20110525/gdb/testsuite/gdb.fortran/common-block.f90 2011-05-25 17:07:02.000000000 +0200 @@ -0,0 +1,67 @@ +! Copyright 2008 Free Software Foundation, Inc. +! diff --git a/gdb-optim-g-prologue-skip.patch b/gdb-optim-g-prologue-skip.patch deleted file mode 100644 index 1daab13..0000000 --- a/gdb-optim-g-prologue-skip.patch +++ /dev/null @@ -1,830 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2011-04/msg00229.html -Subject: [rfc, 7.3?] -O2 -g breakpoints internal error + prologue skipping - -[ Backported. ] - -Hi, - -obsoletes my: - [patch] Fix internal error on some -O2 -g breakpoints - http://sourceware.org/ml/gdb-patches/2010-07/msg00533.html -and IMO also Paul's: - [patch] Fix for PR gdb/12573 - http://sourceware.org/ml/gdb-patches/2011-03/msg00883.html -it is an improvement of: - [patch] Do not skip prologue for -O2 -g with GCC VTA Re: [patch] Fix for PR gdb/12573 - http://sourceware.org/ml/gdb-patches/2011-03/msg01129.html - -Just the removal of gdb_assert may place the breakpoints on -O2 -g code too -late. IMO on `(gdb) break Bar::Bar' no real inferior modification should -happen while with the Paul's reproducer in the PR the `free(malloc(1));' line -is already executed when GDB stops. This over-execution is tested in the -attached artificial reproducer by the testcase "no statement got executed". - -There are several issues of this patch: - -#1 The two-pass complicated execution in skip_prologue_sal currently has no -effect as the functionality depending on it does not work now. But that is -a separate new Bug and the two passes will be needed after its fix: - regression by physname: PE32 prologue skip vs. static initializers - http://sourceware.org/bugzilla/show_bug.cgi?id=12680 - -#2 A conservative approach has been taken. The problematic prologue skipping -is disabled only if .debug_loc reference is found which proves -O2 (with -g). - This test is imperfect as there may exist optimized debug code not using - any location list and still facing inlining issues if handled as - unoptimized code. For a future better test see GCC PR other/32998. - GCC PR other/32998 = -frecord-gcc-switches issues, Status: NEW -The opposite option would be to keep the prologue skipping enabled only if -there is any DW_AT_location(DW_OP_fbreg(x)). I haven't tested this way, it -seems very intrusive to me. In practice I doubt there will be a real world -case of -O2 -g CU not referencing .debug_loc - such as if all its code accesses -only global variables and has no local variables. Just the testcase originally -was such a countercase CU. :-/ The GDB internal error is kept in place as it -still can happen in such case, this problem is not yet fully fixed. - -#3 Whether a .debug_loc reference may be present with still invalid -DW_AT_location before prologue I do not know, it does not seem to happen for -GCC. There is currently no DW_AT_producer check. Even before VTA (Variable -Tracking Assignments, since FSF GCC 4.5, -O2 -g variables DW_AT_location -improvement) it seems to me the validity at function entry point worked well -enough. - -#4 This whole problems appears only with involvement of inlined code, either -explicitly or implicitly. But GDB does not support inlined code breakpoints -well (PR breakpoints/10738, RH BZ#149125). When one plays with testing this -patch various suitable breakpoints are not placed but AFAIK all of them are in -the scope of the PR 10738. - -#5 If function does not start is not on a line boundary the multi-location -breakpoints are already not found properly and everything fails. I do not -think it can ever happen in real world. Even for a singe-line code - void f (void) {} void g (void) {} -GCC places there multiple line markers - -O2 -g, duplicity is for prologues: -File name Line number Starting address -1.c 1 0 -1.c 1 0 -1.c 1 0x10 -1.c 1 0x10 - - -Whether this should go for 7.3 I am not sure. The simple removal of -gdb_assert looks nice, GDB does not crash. But GDB behaves wrong and `break -func' may not stop before a crash there at all etc. - -No regressions on {x86_64,x86_64-m32,i686}-fedora15-linux-gnu. - -I will to commit it without any review/discussion. - - -Thanks, -Jan - - -gdb/ -2011-04-15 Jan Kratochvil - - * dwarf2read.c (struct dwarf2_cu): New field has_loclist. - (process_full_comp_unit): Set also symtab->locations_valid. Move the - symtab->language code. - (var_decode_location): Set cu->has_loclist. - * symtab.c (skip_prologue_sal): New variables saved_pc, force_skip and - skip. Intialize force_skip from locations_valid. Move the prologue - skipping code into two passes. - * symtab.h (struct symtab): Make the primary field a bitfield. New - field locations_valid. - -gdb/testsuite/ -2011-04-15 Jan Kratochvil - - * gdb.dwarf2/dw2-skip-prologue.S: New file. - * gdb.dwarf2/dw2-skip-prologue.c: New file. - * gdb.dwarf2/dw2-skip-prologue.exp: New file. - ---- a/gdb/dwarf2read.c -+++ b/gdb/dwarf2read.c -@@ -396,6 +396,13 @@ struct dwarf2_cu - DIEs for namespaces, we don't need to try to infer them - from mangled names. */ - unsigned int has_namespace_info : 1; -+ -+ /* This CU references .debug_loc. See the symtab->locations_valid field. -+ This test is imperfect as there may exist optimized debug code not using -+ any location list and still facing inlining issues if handled as -+ unoptimized code. For a future better test see GCC PR other/32998. */ -+ -+ unsigned int has_loclist : 1; - }; - - /* Persistent data held for a compilation unit, even when not -@@ -4654,13 +4661,15 @@ process_full_comp_unit (struct dwarf2_per_cu_data *per_cu) - - symtab = end_symtab (highpc + baseaddr, objfile, SECT_OFF_TEXT (objfile)); - -- /* Set symtab language to language from DW_AT_language. -- If the compilation is from a C file generated by language preprocessors, -- do not set the language if it was already deduced by start_subfile. */ -- if (symtab != NULL -- && !(cu->language == language_c && symtab->language != language_c)) -+ if (symtab != NULL) - { -- symtab->language = cu->language; -+ /* Set symtab language to language from DW_AT_language. If the -+ compilation is from a C file generated by language preprocessors, do -+ not set the language if it was already deduced by start_subfile. */ -+ if (!(cu->language == language_c && symtab->language != language_c)) -+ symtab->language = cu->language; -+ -+ symtab->locations_valid = cu->has_loclist; - } - - if (dwarf2_per_objfile->using_index) -@@ -11221,6 +11230,9 @@ var_decode_location (struct attribute *a - - SYMBOL_CLASS (sym) = LOC_COMPUTED; - dwarf2_symbol_mark_computed (attr, sym, cu); -+ -+ if (SYMBOL_COMPUTED_OPS (sym) == &dwarf2_loclist_funcs) -+ cu->has_loclist = 1; - } - - /* Given a pointer to a DWARF information entry, figure out if we need ---- a/gdb/symtab.c -+++ b/gdb/symtab.c -@@ -2454,12 +2454,13 @@ skip_prologue_sal (struct symtab_and_line *sal) - struct symbol *sym; - struct symtab_and_line start_sal; - struct cleanup *old_chain; -- CORE_ADDR pc; -+ CORE_ADDR pc, saved_pc; - struct obj_section *section; - const char *name; - struct objfile *objfile; - struct gdbarch *gdbarch; - struct block *b, *function_block; -+ int force_skip, skip; - - /* Do not change the SAL is PC was specified explicitly. */ - if (sal->explicit_pc) -@@ -2497,46 +2498,69 @@ skip_prologue_sal (struct symtab_and_line *sal) - - gdbarch = get_objfile_arch (objfile); - -- /* If the function is in an unmapped overlay, use its unmapped LMA address, -- so that gdbarch_skip_prologue has something unique to work on. */ -- if (section_is_overlay (section) && !section_is_mapped (section)) -- pc = overlay_unmapped_address (pc, section); -+ /* Process the prologue in two passes. In the first pass try to skip the -+ prologue (SKIP is true) and verify there is a real need for it (indicated -+ by FORCE_SKIP). If no such reason was found run a second pass where the -+ prologue is not skipped (SKIP is false). */ - -- /* Skip "first line" of function (which is actually its prologue). */ -- pc += gdbarch_deprecated_function_start_offset (gdbarch); -- pc = gdbarch_skip_prologue (gdbarch, pc); -+ skip = 1; -+ force_skip = 1; - -- /* For overlays, map pc back into its mapped VMA range. */ -- pc = overlay_mapped_address (pc, section); -+ /* Be conservative - allow direct PC (without skipping prologue) only if we -+ have proven the CU (Compilation Unit) supports it. sal->SYMTAB does not -+ have to be set by the caller so we use SYM instead. */ -+ if (sym && SYMBOL_SYMTAB (sym)->locations_valid) -+ force_skip = 0; - -- /* Calculate line number. */ -- start_sal = find_pc_sect_line (pc, section, 0); -- -- /* Check if gdbarch_skip_prologue left us in mid-line, and the next -- line is still part of the same function. */ -- if (start_sal.pc != pc -- && (sym? (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)) <= start_sal.end -- && start_sal.end < BLOCK_END (SYMBOL_BLOCK_VALUE (sym))) -- : (lookup_minimal_symbol_by_pc_section (start_sal.end, section) -- == lookup_minimal_symbol_by_pc_section (pc, section)))) -+ saved_pc = pc; -+ do - { -- /* First pc of next line */ -- pc = start_sal.end; -- /* Recalculate the line number (might not be N+1). */ -- start_sal = find_pc_sect_line (pc, section, 0); -- } -+ pc = saved_pc; - -- /* On targets with executable formats that don't have a concept of -- constructors (ELF with .init has, PE doesn't), gcc emits a call -- to `__main' in `main' between the prologue and before user -- code. */ -- if (gdbarch_skip_main_prologue_p (gdbarch) -- && name && strcmp (name, "main") == 0) -- { -- pc = gdbarch_skip_main_prologue (gdbarch, pc); -- /* Recalculate the line number (might not be N+1). */ -+ /* If the function is in an unmapped overlay, use its unmapped LMA address, -+ so that gdbarch_skip_prologue has something unique to work on. */ -+ if (section_is_overlay (section) && !section_is_mapped (section)) -+ pc = overlay_unmapped_address (pc, section); -+ -+ /* Skip "first line" of function (which is actually its prologue). */ -+ pc += gdbarch_deprecated_function_start_offset (gdbarch); -+ if (skip) -+ pc = gdbarch_skip_prologue (gdbarch, pc); -+ -+ /* For overlays, map pc back into its mapped VMA range. */ -+ pc = overlay_mapped_address (pc, section); -+ -+ /* Calculate line number. */ - start_sal = find_pc_sect_line (pc, section, 0); -+ -+ /* Check if gdbarch_skip_prologue left us in mid-line, and the next -+ line is still part of the same function. */ -+ if (skip && start_sal.pc != pc -+ && (sym? (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)) <= start_sal.end -+ && start_sal.end < BLOCK_END (SYMBOL_BLOCK_VALUE (sym))) -+ : (lookup_minimal_symbol_by_pc_section (start_sal.end, section) -+ == lookup_minimal_symbol_by_pc_section (pc, section)))) -+ { -+ /* First pc of next line */ -+ pc = start_sal.end; -+ /* Recalculate the line number (might not be N+1). */ -+ start_sal = find_pc_sect_line (pc, section, 0); -+ } -+ -+ /* On targets with executable formats that don't have a concept of -+ constructors (ELF with .init has, PE doesn't), gcc emits a call -+ to `__main' in `main' between the prologue and before user -+ code. */ -+ if (gdbarch_skip_main_prologue_p (gdbarch) -+ && name && strcmp (name, "main") == 0) -+ { -+ pc = gdbarch_skip_main_prologue (gdbarch, pc); -+ /* Recalculate the line number (might not be N+1). */ -+ start_sal = find_pc_sect_line (pc, section, 0); -+ force_skip = 1; -+ } - } -+ while (!force_skip && skip--); - - /* If we still don't have a valid source line, try to find the first - PC in the lineinfo table that belongs to the same function. This -@@ -2546,7 +2570,7 @@ skip_prologue_sal (struct symtab_and_line *sal) - the case with the DJGPP target using "gcc -gcoff" when the - compiler inserted code after the prologue to make sure the stack - is aligned. */ -- if (sym && start_sal.symtab == NULL) -+ if (!force_skip && sym && start_sal.symtab == NULL) - { - pc = skip_prologue_using_lineinfo (pc, SYMBOL_SYMTAB (sym)); - /* Recalculate the line number. */ ---- a/gdb/symtab.h -+++ b/gdb/symtab.h -@@ -767,7 +767,13 @@ struct symtab - should be designated the primary, so that the blockvector - is relocated exactly once by objfile_relocate. */ - -- int primary; -+ unsigned int primary : 1; -+ -+ /* Symtab has been compiled with both optimizations and debug info so that -+ GDB may stop skipping prologues as variables locations are valid already -+ at function entry points. */ -+ -+ unsigned int locations_valid : 1; - - /* The macro table for this symtab. Like the blockvector, this - may be shared between different symtabs --- and normally is for ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S -@@ -0,0 +1,391 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2011 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+ .section .debug_info -+.Lcu1_begin: -+ /* CU header */ -+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */ -+.Lcu1_start: -+ .2byte 2 /* DWARF Version */ -+ .4byte .Labbrev1_begin /* Offset into abbrev section */ -+ .byte 4 /* Pointer size */ -+ -+ /* CU die */ -+ .uleb128 1 /* Abbrev: DW_TAG_compile_unit */ -+ .4byte .Lline1_begin /* DW_AT_stmt_list */ -+ .4byte func_start /* DW_AT_low_pc */ -+ .4byte func_end /* DW_AT_high_pc */ -+ .ascii "main.c\0" /* DW_AT_name */ -+ .ascii "GNU C 3.3.3\0" /* DW_AT_producer */ -+ .byte 2 /* DW_AT_language (DW_LANG_C) */ -+ -+ .uleb128 2 /* Abbrev: DW_TAG_subprogram */ -+ .byte 1 /* DW_AT_external */ -+ .ascii "func\0" /* DW_AT_name */ -+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */ -+ .4byte func_start /* DW_AT_low_pc */ -+ .4byte func_end /* DW_AT_high_pc */ -+ -+/* GDB `has_loclist' detection of -O2 -g code needs to see a DW_AT_location -+ location list. There may exist -O2 -g CUs still not needing/using any such -+ location list - exactly like this CU. Make one up. */ -+ -+ .uleb128 0x7 /* (DIE (0x42) DW_TAG_formal_parameter) */ -+ .ascii "param\0" /* DW_AT_name */ -+ .long .Ltype_int - .Lcu1_begin /* DW_AT_type */ -+ .long loclist /* DW_AT_location */ -+ -+ .uleb128 4 /* Abbrev: DW_TAG_inlined_subroutine */ -+ .ascii "inlined\0" /* DW_AT_name */ -+ .4byte func0 /* DW_AT_low_pc */ -+ .4byte func1 /* DW_AT_high_pc */ -+ .byte 3 /* DW_AT_inline (DW_INL_declared_inlined) */ -+ .byte 1 /* DW_AT_call_file */ -+ .byte 8 /* DW_AT_call_line */ -+ -+ .uleb128 4 /* Abbrev: DW_TAG_inlined_subroutine */ -+ .ascii "inlined2\0" /* DW_AT_name */ -+ .4byte func2 /* DW_AT_low_pc */ -+ .4byte func3 /* DW_AT_high_pc */ -+ .byte 3 /* DW_AT_inline (DW_INL_declared_inlined) */ -+ .byte 1 /* DW_AT_call_file */ -+ .byte 11 /* DW_AT_call_line */ -+ -+#ifdef INLINED -+ .uleb128 4 /* Abbrev: DW_TAG_inlined_subroutine */ -+ .ascii "otherinline\0" /* DW_AT_name */ -+ .4byte func3 /* DW_AT_low_pc */ -+ .4byte func_end /* DW_AT_high_pc */ -+ .byte 3 /* DW_AT_inline (DW_INL_declared_inlined) */ -+ .byte 1 /* DW_AT_call_file */ -+ .byte 9 /* DW_AT_call_line */ -+#endif -+ -+#ifdef LEXICAL -+ .uleb128 5 /* Abbrev: DW_TAG_lexical_block */ -+ .4byte func3 /* DW_AT_low_pc */ -+ .4byte func_end /* DW_AT_high_pc */ -+ -+ /* GDB would otherwise ignore the DW_TAG_lexical_block. */ -+ .uleb128 6 /* Abbrev: DW_TAG_variable */ -+ .ascii "lexicalvar\0" /* DW_AT_name */ -+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */ -+ -+ .byte 0 /* End of children of DW_TAG_lexical_block */ -+#endif -+ -+ .byte 0 /* End of children of DW_TAG_subprogram */ -+ -+/* Simulate `fund' is also named `func' so that the function name matches and -+ fund's SAL is not discarded in expand_line_sal_maybe. */ -+ -+ .uleb128 2 /* Abbrev: DW_TAG_subprogram */ -+ .byte 1 /* DW_AT_external */ -+ .ascii "func\0" /* DW_AT_name */ -+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */ -+ .4byte fund_start /* DW_AT_low_pc */ -+ .4byte fund_end /* DW_AT_high_pc */ -+ -+ .byte 0 /* End of children of DW_TAG_subprogram */ -+ -+.Ltype_int: -+ .uleb128 3 /* Abbrev: DW_TAG_base_type */ -+ .ascii "int\0" /* DW_AT_name */ -+ .byte 4 /* DW_AT_byte_size */ -+ .byte 5 /* DW_AT_encoding */ -+ -+ .byte 0 /* End of children of CU */ -+ -+.Lcu1_end: -+ -+ .section .debug_loc -+loclist: -+ /* Reset the location list base address first. */ -+ .long -1, 0 -+ -+ .long func_start, func_end -+ .2byte 2f-1f -+1: .byte 0x50 /* DW_OP_reg0 */ -+2: -+ /* Location list end. */ -+ .long 0, 0 -+ -+/* Abbrev table */ -+ .section .debug_abbrev -+.Labbrev1_begin: -+ .uleb128 1 /* Abbrev code */ -+ .uleb128 0x11 /* DW_TAG_compile_unit */ -+ .byte 1 /* has_children */ -+ .uleb128 0x10 /* DW_AT_stmt_list */ -+ .uleb128 0x6 /* DW_FORM_data4 */ -+ .uleb128 0x11 /* DW_AT_low_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .uleb128 0x12 /* DW_AT_high_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .uleb128 0x3 /* DW_AT_name */ -+ .uleb128 0x8 /* DW_FORM_string */ -+ .uleb128 0x25 /* DW_AT_producer */ -+ .uleb128 0x8 /* DW_FORM_string */ -+ .uleb128 0x13 /* DW_AT_language */ -+ .uleb128 0xb /* DW_FORM_data1 */ -+ .byte 0x0 /* Terminator */ -+ .byte 0x0 /* Terminator */ -+ -+ .uleb128 2 /* Abbrev code */ -+ .uleb128 0x2e /* DW_TAG_subprogram */ -+ .byte 1 /* has_children */ -+ .uleb128 0x3f /* DW_AT_external */ -+ .uleb128 0xc /* DW_FORM_flag */ -+ .uleb128 0x3 /* DW_AT_name */ -+ .uleb128 0x8 /* DW_FORM_string */ -+ .uleb128 0x49 /* DW_AT_type */ -+ .uleb128 0x13 /* DW_FORM_ref4 */ -+ .uleb128 0x11 /* DW_AT_low_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .uleb128 0x12 /* DW_AT_high_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .byte 0x0 /* Terminator */ -+ .byte 0x0 /* Terminator */ -+ -+ .uleb128 3 /* Abbrev code */ -+ .uleb128 0x24 /* DW_TAG_base_type */ -+ .byte 0 /* has_children */ -+ .uleb128 0x3 /* DW_AT_name */ -+ .uleb128 0x8 /* DW_FORM_string */ -+ .uleb128 0xb /* DW_AT_byte_size */ -+ .uleb128 0xb /* DW_FORM_data1 */ -+ .uleb128 0x3e /* DW_AT_encoding */ -+ .uleb128 0xb /* DW_FORM_data1 */ -+ .byte 0x0 /* Terminator */ -+ .byte 0x0 /* Terminator */ -+ -+ .uleb128 4 /* Abbrev code */ -+ .uleb128 0x1d /* DW_TAG_inlined_subroutine */ -+ .byte 0 /* has_children */ -+ .uleb128 0x3 /* DW_AT_name */ -+ .uleb128 0x8 /* DW_FORM_string */ -+ .uleb128 0x11 /* DW_AT_low_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .uleb128 0x12 /* DW_AT_high_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .uleb128 0x20 /* DW_AT_inline */ -+ .uleb128 0xb /* DW_FORM_data1 */ -+ .uleb128 0x58 /* DW_AT_call_file */ -+ .uleb128 0xb /* DW_FORM_data1 */ -+ .uleb128 0x59 /* DW_AT_call_line */ -+ .uleb128 0xb /* DW_FORM_data1 */ -+ .byte 0x0 /* Terminator */ -+ .byte 0x0 /* Terminator */ -+ -+ .uleb128 5 /* Abbrev code */ -+ .uleb128 0x0b /* DW_TAG_lexical_block */ -+ .byte 1 /* has_children */ -+ .uleb128 0x11 /* DW_AT_low_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .uleb128 0x12 /* DW_AT_high_pc */ -+ .uleb128 0x1 /* DW_FORM_addr */ -+ .byte 0x0 /* Terminator */ -+ .byte 0x0 /* Terminator */ -+ -+ .uleb128 6 /* Abbrev code */ -+ .uleb128 0x34 /* DW_TAG_variable */ -+ .byte 0 /* has_children */ -+ .uleb128 0x3 /* DW_AT_name */ -+ .uleb128 0x8 /* DW_FORM_string */ -+ .uleb128 0x49 /* DW_AT_type */ -+ .uleb128 0x13 /* DW_FORM_ref4 */ -+ .byte 0x0 /* Terminator */ -+ .byte 0x0 /* Terminator */ -+ -+ .uleb128 0x7 /* (abbrev code) */ -+ .uleb128 0x5 /* (TAG: DW_TAG_formal_parameter) */ -+ .byte 0x0 /* DW_children_no */ -+ .uleb128 0x3 /* DW_AT_name */ -+ .uleb128 0x8 /* DW_FORM_string */ -+ .uleb128 0x49 /* (DW_AT_type) */ -+ .uleb128 0x13 /* (DW_FORM_ref4) */ -+ .uleb128 0x02 /* (DW_AT_location) */ -+ .uleb128 0x06 /* (DW_FORM_data4) */ -+ .byte 0x0 -+ .byte 0x0 -+ -+ .byte 0x0 /* Terminator */ -+ .byte 0x0 /* Terminator */ -+ -+/* Line table */ -+ .section .debug_line -+.Lline1_begin: -+ .4byte .Lline1_end - .Lline1_start /* Initial length */ -+.Lline1_start: -+ .2byte 2 /* Version */ -+ .4byte .Lline1_lines - .Lline1_hdr /* header_length */ -+.Lline1_hdr: -+ .byte 1 /* Minimum insn length */ -+ .byte 1 /* default_is_stmt */ -+ .byte 1 /* line_base */ -+ .byte 1 /* line_range */ -+ .byte 0x10 /* opcode_base */ -+ -+ /* Standard lengths */ -+ .byte 0 -+ .byte 1 -+ .byte 1 -+ .byte 1 -+ .byte 1 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ .byte 1 -+ .byte 0 -+ .byte 0 -+ .byte 1 -+ .byte 0 -+ .byte 0 -+ .byte 0 -+ -+ /* Include directories */ -+ .byte 0 -+ -+ /* File names */ -+ .ascii "main.c\0" -+ .uleb128 0 -+ .uleb128 0 -+ .uleb128 0 -+ -+ .ascii "other.c\0" -+ .uleb128 0 -+ .uleb128 0 -+ .uleb128 0 -+ -+ .byte 0 -+ -+.Lline1_lines: -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte func_start -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 4 /* ... to 5 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte func0 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 2 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 -4 /* ... to 1 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte func1 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 1 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 8 /* ... to 9 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte func2 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 2 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 -8 /* ... to 1 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte func3 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 1 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 8 /* ... to 9 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte func_end -+ -+/* Equivalent copy but renamed s/func/fund/. */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte fund_start -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 -4 /* ... to 5 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte fund0 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 2 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 -4 /* ... to 1 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte fund1 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 1 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 8 /* ... to 9 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte fund2 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 2 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 -8 /* ... to 1 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte fund3 -+ .byte 4 /* DW_LNS_set_file */ -+ .uleb128 1 -+ .byte 3 /* DW_LNS_advance_line */ -+ .sleb128 8 /* ... to 9 */ -+ .byte 1 /* DW_LNS_copy */ -+ -+ .byte 0 /* DW_LNE_set_address */ -+ .uleb128 5 -+ .byte 2 -+ .4byte fund_end -+ -+/* Line numbering end. */ -+ -+ .byte 0 /* DW_LNE_end_of_sequence */ -+ .uleb128 1 -+ .byte 1 -+ -+.Lline1_end: ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c -@@ -0,0 +1,58 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2011 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+static volatile int v; -+ -+asm ("func_start: .globl func_start\n"); -+static int -+func (void) -+{ -+ v++; -+asm ("func0: .globl func0\n"); -+ v++; -+asm ("func1: .globl func1\n"); -+ v++; -+asm ("func2: .globl func2\n"); -+ v++; -+asm ("func3: .globl func3\n"); -+ return v; -+} -+asm ("func_end: .globl func_end\n"); -+ -+/* Equivalent copy but renamed s/func/fund/. */ -+ -+asm ("fund_start: .globl fund_start\n"); -+static int -+fund (void) -+{ -+ v++; -+asm ("fund0: .globl fund0\n"); -+ v++; -+asm ("fund1: .globl fund1\n"); -+ v++; -+asm ("fund2: .globl fund2\n"); -+ v++; -+asm ("fund3: .globl fund3\n"); -+ return v; -+} -+asm ("fund_end: .globl fund_end\n"); -+ -+int -+main (void) -+{ -+ return func () + fund (); -+} ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp -@@ -0,0 +1,74 @@ -+# Copyright 2011 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+load_lib dwarf.exp -+ -+# Test multiple location breakpoints vs. prologue analysis on -O2 -g code. -+# when the first statement of a function is an inlined function GDB could -+# crash. Map of this testcase: -+# -+# File name Line number Starting address -+# main.c 5 func_start -+# other.c 1 func0 -+# `inlined' called at main.c line 8 -+# main.c 9 func1 -+# func1 = Breakpoint location 1 -+# other.c 1 func2 -+# `inlined2' called at main.c line 11 -+# main.c 9 func3 -+# func3 = Breakpoint location 2 -+# `otherinline' called at main.c line 9 -+# end of main func_end -+ -+# This test can only be run on targets which support DWARF-2 and use gas. -+if {![dwarf2_support]} { -+ return 0 -+} -+ -+set testfile "dw2-skip-prologue" -+set executable ${testfile} -+set binfile ${objdir}/${subdir}/${executable} -+ -+if {[build_executable ${testfile}.exp ${executable} "${testfile}.c ${testfile}.S" {additional_flags=-DINLINED}] == -1} { -+ return -1 -+} -+ -+# We need those symbols global to access them from the .S file. -+set test "strip stub symbols" -+set objcopy_program [transform objcopy] -+set result [catch "exec $objcopy_program \ -+ -N func0 -N func1 -N func2 -N func3 -N func_start -N func_end \ -+ -N fund0 -N fund1 -N fund2 -N fund3 -N fund -N fund_start \ -+ ${binfile}" output] -+verbose "result is $result" -+verbose "output is $output" -+if {$result != 0} { -+ fail $test -+ return -+} -+pass $test -+ -+clean_restart $executable -+ -+if ![runto_main] { -+ return -1 -+} -+ -+gdb_breakpoint "func" -+gdb_continue_to_breakpoint "func" -+ -+# Sanity check GDB has really found 2 locations -+gdb_test {info break $bpnum} "\r\n2\\.1\[ \t\]\[^\n\]*\r\n2\\.2\[ \t\]\[^\n\]*" "2 locations found" -+ -+gdb_test "p v" " = 0" "no statement got executed" - diff --git a/gdb-physname-expand-completer.patch b/gdb-physname-expand-completer.patch deleted file mode 100644 index 4d53870..0000000 --- a/gdb-physname-expand-completer.patch +++ /dev/null @@ -1,228 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2011-04/msg00551.html -Subject: [patch] physname-related CU expansion issue for C++ (PR 12708) - -Hi, - -http://sourceware.org/bugzilla/show_bug.cgi?id=12708#c1 - -The dependency on CU expansion is a physname regression. -But the feature of originally-typed-parameters symbols was not present before -physname at all so it is rather buggy-feature than a regression. - -for -typedef int int_typedef; -void f (int_typedef x) {} - -gdb -nx ./1b.o -ex 'set language c++' -ex "complete b 'f(" -ex q - -+ prephysname (42284fdf9d8cdb20c8e833bdbdb2b56977fea525^) -b 'f(int) -+ prephysname -readnow -b 'f(int) - -+ physname (42284fdf9d8cdb20c8e833bdbdb2b56977fea525) -b 'f(int) -+ physname -readnow -b 'f(int) -b 'f(int_typedef) - -+ HEAD -b 'f(int) -+ HEAD -readnow -b 'f(int) -b 'f(int_typedef) - - -This is another issue from the fact that partial symtabs (and even gdbindex) -no longer contain parameters as before. 'f(' can never be found any partial -symtabs, only `f' will be present there. - -No regressions on {x86_64,x86_64-m32,i686}-fedora15-linux-gnu. - - -Thanks, -Jan - - -gdb/ -2011-04-28 Jan Kratochvil - - - * symtab.c (compare_symbol_name): New function. - (completion_list_add_name, expand_partial_symbol_name): Call it, - remove the variable ncmp. - (default_make_symbol_completion_list_break_on): Reduce SYM_TEXT_LEN, - gdb_assert it. - -Gdb/testsuite/ -2011-04-28 Jan Kratochvil - - * gdb.cp/psymtab-parameter.cc: New file. - * gdb.cp/psymtab-parameter.exp: New file. - ---- a/gdb/symtab.c -+++ b/gdb/symtab.c -@@ -3489,6 +3489,40 @@ rbreak_command (char *regexp, int from_tty) - } - - -+/* Evaluate if NAME matches SYM_TEXT and SYM_TEXT_LEN. -+ -+ Either sym_text[sym_text_len] != '(' and then we search for any -+ symbol starting with SYM_TEXT text. -+ -+ Otherwise sym_text[sym_text_len] == '(' and then we require symbol name to -+ be terminated at that point. Partial symbol tables do not have parameters -+ information. */ -+ -+static int -+compare_symbol_name (const char *name, const char *sym_text, int sym_text_len) -+{ -+ int (*ncmp) (const char *, const char *, size_t); -+ -+ ncmp = (case_sensitivity == case_sensitive_on ? strncmp : strncasecmp); -+ -+ if (ncmp (name, sym_text, sym_text_len) != 0) -+ return 0; -+ -+ if (sym_text[sym_text_len] == '(') -+ { -+ /* User searches for `name(someth...'. Require NAME to be terminated. -+ Normally psymtabs and gdbindex have no parameter types so '\0' will be -+ present but accept even parameters presence. In this case this -+ function is in fact strcmp_iw but whitespace skipping is not supported -+ for tab completion. */ -+ -+ if (name[sym_text_len] != '\0' && name[sym_text_len] != '(') -+ return 0; -+ } -+ -+ return 1; -+} -+ - /* Helper routine for make_symbol_completion_list. */ - - static int return_val_size; -@@ -3508,16 +3542,10 @@ completion_list_add_name (char *symname, char *sym_text, int sym_text_len, - char *text, char *word) - { - int newsize; -- int (*ncmp) (const char *, const char *, size_t); -- -- ncmp = (case_sensitivity == case_sensitive_on ? strncmp : strncasecmp); - - /* Clip symbols that cannot match. */ -- -- if (ncmp (symname, sym_text, sym_text_len) != 0) -- { -- return; -- } -+ if (!compare_symbol_name (symname, sym_text, sym_text_len)) -+ return; - - /* We have a match for a completion, so add SYMNAME to the current list - of matches. Note that the name is moved to freshly malloc'd space. */ -@@ -3707,11 +3735,8 @@ static int - expand_partial_symbol_name (const char *name, void *user_data) - { - struct add_name_data *datum = (struct add_name_data *) user_data; -- int (*ncmp) (const char *, const char *, size_t); -- -- ncmp = (case_sensitivity == case_sensitive_on ? strncmp : strncasecmp); - -- return ncmp (name, datum->sym_text, datum->sym_text_len) == 0; -+ return compare_symbol_name (name, datum->sym_text, datum->sym_text_len); - } - - char ** -@@ -3790,6 +3815,22 @@ default_make_symbol_completion_list_break_on (char *text, char *word, - - sym_text_len = strlen (sym_text); - -+ /* Prepare SYM_TEXT_LEN for compare_symbol_name. */ -+ -+ if (current_language->la_language == language_cplus -+ || current_language->la_language == language_java -+ || current_language->la_language == language_fortran) -+ { -+ /* These languages may have parameters entered by user but they are never -+ present in the partial symbol tables. */ -+ -+ const char *cs = memchr (sym_text, '(', sym_text_len); -+ -+ if (cs) -+ sym_text_len = cs - sym_text; -+ } -+ gdb_assert (sym_text[sym_text_len] == '\0' || sym_text[sym_text_len] == '('); -+ - return_val_size = 100; - return_val_index = 0; - return_val = (char **) xmalloc ((return_val_size + 1) * sizeof (char *)); ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/psymtab-parameter.cc -@@ -0,0 +1,22 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2009, 2010, 2011 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . -+ */ -+ -+typedef int typedefed; -+void func (typedefed param) -+{ -+} ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/psymtab-parameter.exp -@@ -0,0 +1,39 @@ -+# Copyright 2011 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+if { [skip_cplus_tests] } { continue } -+ -+ -+set testfile psymtab-parameter -+set executable ${testfile}.x -+set srcfile ${testfile}.cc -+set binfile ${objdir}/${subdir}/${executable} -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug c++}] != "" } { -+ untested ${testfile}.exp -+ return -1 -+} -+ -+clean_restart $executable -+ -+# As `main' is not present GDB fails to find the proper inferior language. -+gdb_test_no_output "set language c++" -+ -+# The goal is to keep the CU (Compilation Unit) unexpanded. It would be rather -+# XFAIL than FAIL here. For example -readnow breaks it. -+gdb_test_no_output "maintenance info symtabs" -+ -+# GDB has shown only the `func(int)' entry before. -+gdb_test "complete break 'func(" "break 'func\\(int\\)\r\nbreak 'func\\(typedefed\\)" - diff --git a/gdb-stap-double-free.patch b/gdb-stap-double-free.patch new file mode 100644 index 0000000..2c7fc40 --- /dev/null +++ b/gdb-stap-double-free.patch @@ -0,0 +1,57 @@ +--- a/gdb/stap-probe.c ++++ b/gdb/stap-probe.c +@@ -355,9 +355,7 @@ stap_free_args_info (void *args_info_ptr) + int i; + + for (i = 0; i < a->n_args; i++) +- { +- xfree (a->arg[i].arg_str); +- } ++ xfree (a->arg[i].arg_str); + + xfree (a->arg); + xfree (a); +@@ -401,6 +399,7 @@ stap_parse_probe_arguments (struct stap_probe *probe) + return; + + args_info = xmalloc (sizeof (struct stap_args_info)); ++ args_info->n_args = 0; + back_to = make_cleanup (stap_free_args_info, args_info); + args_info->arg = xcalloc (STAP_MAX_ARGS, sizeof (struct stap_probe_arg)); + +@@ -493,6 +492,7 @@ stap_parse_probe_arguments (struct stap_probe *probe) + + args_info->arg[current_arg].arg_str + = savestring (start, cur - start); ++ ++args_info->n_args; + /* Start it over again. */ + cur = skip_spaces ((char *) cur); + current_state = NEW_ARG; +@@ -513,7 +513,6 @@ stap_parse_probe_arguments (struct stap_probe *probe) + } + } + +- args_info->n_args = current_arg + 1; + args_info->arg = xrealloc (args_info->arg, + args_info->n_args + * sizeof (struct stap_probe_arg)); +@@ -1526,8 +1525,9 @@ stap_free_parsed_args (struct stap_args_info *parsed_args) + return; + + for (i = 0; i < parsed_args->n_args; i++) +- xfree (parsed_args->arg); ++ xfree (parsed_args->arg[i].arg_str); + ++ xfree (parsed_args->arg); + xfree (parsed_args); + } + +@@ -1859,7 +1859,7 @@ parse_stap_probe (char **argptr, struct linespec_result *canonical) + if (canonical) + { + canonical->canonical = xrealloc (canonical->canonical, +- result.nelts * sizeof (char **)); ++ result.nelts * sizeof (char *)); + canonical->canonical[result.nelts - 1] = xstrdup (full_arg); + } + } diff --git a/gdb-upstream.patch b/gdb-upstream.patch deleted file mode 100644 index 3d7a95f..0000000 --- a/gdb-upstream.patch +++ /dev/null @@ -1,139 +0,0 @@ -Fix Python access to inlined frames (BZ 694824). -http://sourceware.org/ml/gdb-cvs/2011-04/msg00189.html - -### src/gdb/ChangeLog 2011/04/27 03:52:20 1.12887.2.14 -### src/gdb/ChangeLog 2011/04/29 07:32:37 1.12887.2.15 -## -1,3 +1,9 @@ -+2011-04-29 Jan Kratochvil -+ -+ Fix Python access to inlined frames. -+ * python/py-frame.c (frapy_read_var): Find BLOCK using get_frame_block. -+ * python/py-symbol.c (gdbpy_lookup_symbol): Likewise. -+ - 2011-04-26 Michael Walle - - * remote.c (remote_start_remote): Ack packet after sending the ---- src/gdb/python/py-frame.c 2011/01/26 20:53:45 1.15 -+++ src/gdb/python/py-frame.c 2011/04/29 07:32:40 1.15.2.1 -@@ -436,7 +436,7 @@ - FRAPY_REQUIRE_VALID ((frame_object *) self, frame); - - if (!block) -- block = block_for_pc (get_frame_address_in_block (frame)); -+ block = get_frame_block (frame, NULL); - var = lookup_symbol (var_name, block, VAR_DOMAIN, NULL); - } - GDB_PY_HANDLE_EXCEPTION (except); ---- src/gdb/python/py-symbol.c 2011/03/17 09:36:16 1.6 -+++ src/gdb/python/py-symbol.c 2011/04/29 07:32:40 1.6.2.1 -@@ -275,8 +275,8 @@ - - TRY_CATCH (except, RETURN_MASK_ALL) - { -- selected_frame = get_selected_frame (_("No frame selected.")); -- block = block_for_pc (get_frame_address_in_block (selected_frame)); -+ selected_frame = get_selected_frame (_("No frame selected.")); -+ block = get_frame_block (selected_frame, NULL); - } - GDB_PY_HANDLE_EXCEPTION (except); - } -### src/gdb/testsuite/ChangeLog 2011/04/25 21:25:18 1.2655.2.4 -### src/gdb/testsuite/ChangeLog 2011/04/29 07:32:40 1.2655.2.5 -## -1,3 +1,9 @@ -+2011-04-29 Jan Kratochvil -+ -+ Fix Python access to inlined frames. -+ * gdb.python/py-frame-inline.c: New file. -+ * gdb.python/py-frame-inline.exp: New file. -+ - 2011-04-25 Jan Kratochvil - - * gdb.base/gdbindex-stabs-dwarf.c: New file. ---- src/gdb/testsuite/gdb.python/py-frame-inline.c -+++ src/gdb/testsuite/gdb.python/py-frame-inline.c 2011-04-29 07:33:45.912552000 +0000 -@@ -0,0 +1,43 @@ -+/* This test is part of GDB, the GNU debugger. -+ -+ Copyright 2011 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+volatile int v = 42; -+ -+__attribute__((__always_inline__)) static int -+f (void) -+{ -+ /* Provide first stub line so that GDB understand the PC is already inside -+ the inlined function and does not expect a step into it. */ -+ v++; -+ v++; /* break-here */ -+ -+ return v; -+} -+ -+__attribute__((__noinline__)) static int -+g (void) -+{ -+ volatile int l = v; -+ -+ return f (); -+} -+ -+int -+main (void) -+{ -+ return g (); -+} ---- src/gdb/testsuite/gdb.python/py-frame-inline.exp -+++ src/gdb/testsuite/gdb.python/py-frame-inline.exp 2011-04-29 07:33:46.649817000 +0000 -@@ -0,0 +1,39 @@ -+# Copyright (C) 2011 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+load_lib gdb-python.exp -+ -+set testfile "py-frame-inline" -+set srcfile ${testfile}.c -+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } { -+ return -1 -+} -+ -+# Skip all tests if Python scripting is not enabled. -+if { [skip_python_tests] } { continue } -+ -+if ![runto main] then { -+ fail "Can't run to function f" -+ return 0 -+} -+ -+gdb_breakpoint [gdb_get_line_number "break-here"] -+gdb_continue_to_breakpoint "Block break here." -+ -+gdb_test "info frame" "inlined into frame 1\r\n.*" -+ -+gdb_test "up" "#1 g .*" -+ -+gdb_test "python print gdb.selected_frame().read_var('l')" "\r\n42" diff --git a/gdb.spec b/gdb.spec index 38b4bfa..fca9343 100644 --- a/gdb.spec +++ b/gdb.spec @@ -23,11 +23,11 @@ Name: gdb%{?_with_debug:-debug} # Set version to contents of gdb/version.in. # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch). -Version: 7.2.90.20110429 +Version: 7.2.90.20110525 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 37%{?_with_upstream:.upstream}%{?dist} +Release: 38%{?_with_upstream:.upstream}%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain Group: Development/Debuggers @@ -260,7 +260,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch # Backported fixups post the source tarball. #Xdrop: Just backports. -Patch232: gdb-upstream.patch +#Patch232: gdb-upstream.patch # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). #=fedoratest+ppc @@ -557,19 +557,15 @@ Patch580: gdb-bz645773-case-insensitive-1of5.patch Patch581: gdb-bz645773-case-insensitive-2of5.patch Patch582: gdb-bz645773-case-insensitive-3of5.patch Patch583: gdb-bz645773-case-insensitive-4of5.patch -Patch588: gdb-bz645773-case-insensitive-5of5.patch - -# Fix -O2 -g breakpoints internal error + prologue skipping (BZ 612253). -Patch589: gdb-optim-g-prologue-skip.patch - -# Fix physname-related CU expansion issue for C++ (PR 12708). -Patch590: gdb-physname-expand-completer.patch # Bundle readline-6.2 with a workaround of skipped "ask" (BZ 701131). Patch591: gdb-bz701131-readline62-1of3.patch Patch592: gdb-bz701131-readline62-2of3.patch Patch593: gdb-bz701131-readline62-3of3.patch +# [stap] Fix double free. +Patch594: gdb-stap-double-free.patch + BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa} # --without-system-readline # Requires: readline%{?_isa} @@ -727,7 +723,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c %if 0%{!?_with_upstream:1} -%patch232 -p1 +#patch232 -p1 %patch349 -p1 %patch1 -p1 %patch3 -p1 @@ -843,12 +839,10 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c %patch581 -p1 %patch582 -p1 %patch583 -p1 -%patch588 -p1 -%patch589 -p1 -%patch590 -p1 %patch591 -p1 %patch592 -p1 %patch593 -p1 +%patch594 -p1 %patch393 -p1 %patch335 -p1 @@ -1271,6 +1265,10 @@ fi %{_infodir}/gdb.info* %changelog +* Wed May 25 2011 Jan Kratochvil - 7.2.90.20110525-38.fc15 +- Rebase to FSF GDB 7.2.90.20110525 (which is a 7.3 pre-release). +- [stap] Fix double free (Sergio Durigan Junior). + * Tue May 3 2011 Jan Kratochvil - 7.2.90.20110429-37.fc15 - Search also for . files in /usr/lib/debug/.build-id (BZ 641377). diff --git a/sources b/sources index 14ecfea..98f1a04 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 04e5c4b1b9e633422cc48990fe61958d libstdc++-v3-python-r155978.tar.bz2 -e585e484001f5cd69e87cbcd0c99c1f7 gdb-7.2.90.20110429.tar.bz2 +b6128eb0341df56d66f0a3558ebc9899 gdb-7.2.90.20110525.tar.bz2