rpms/gdb/F-11 gdb-6.3-readnever-20050907.patch, 1.5, 1.6 gdb-6.8-fortran-tag-constant.patch, 1.4, 1.5 gdb-6.8-inlining.patch, 1.12, 1.13 gdb-archer.patch, 1.14, 1.15 gdb.spec, 1.345, 1.346
Jan Kratochvil
jkratoch at fedoraproject.org
Sun May 10 17:45:47 UTC 2009
Author: jkratoch
Update of /cvs/pkgs/rpms/gdb/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18680
Modified Files:
gdb-6.3-readnever-20050907.patch
gdb-6.8-fortran-tag-constant.patch gdb-6.8-inlining.patch
gdb-archer.patch gdb.spec
Log Message:
* Sun May 10 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-22
- Archer update to the snapshot: e2812eadef2c15baeccd003e11fdf3fbc0b90dc2
- Archer backport: 58dcda94ac5d6398f47382505e9d3d9d866d79bf
+ f3de7bbd655337fe6705aeaafcc970deff3dd5d5
- Implement Fortran modules namespaces (BZ 466118).
gdb-6.3-readnever-20050907.patch:
Index: gdb-6.3-readnever-20050907.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-11/gdb-6.3-readnever-20050907.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- gdb-6.3-readnever-20050907.patch 2 Mar 2009 23:14:15 -0000 1.5
+++ gdb-6.3-readnever-20050907.patch 10 May 2009 17:45:44 -0000 1.6
@@ -11,10 +11,10 @@
* gdb.texinfo (File Options): Document --readnever.
-Index: gdb-6.8.50.20090228/gdb/doc/gdb.texinfo
+Index: gdb-6.8.50.20090302/gdb/doc/gdb.texinfo
===================================================================
---- gdb-6.8.50.20090228.orig/gdb/doc/gdb.texinfo 2009-03-02 01:01:15.000000000 +0100
-+++ gdb-6.8.50.20090228/gdb/doc/gdb.texinfo 2009-03-02 01:01:23.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/doc/gdb.texinfo 2009-05-09 20:00:02.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/doc/gdb.texinfo 2009-05-09 20:00:06.000000000 +0200
@@ -988,6 +988,12 @@ Read each symbol file's entire symbol ta
the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster.
@@ -28,10 +28,10 @@ Index: gdb-6.8.50.20090228/gdb/doc/gdb.t
@end table
@node Mode Options
-Index: gdb-6.8.50.20090228/gdb/main.c
+Index: gdb-6.8.50.20090302/gdb/main.c
===================================================================
---- gdb-6.8.50.20090228.orig/gdb/main.c 2009-03-02 01:01:17.000000000 +0100
-+++ gdb-6.8.50.20090228/gdb/main.c 2009-03-02 01:01:23.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/main.c 2009-05-09 20:00:03.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/main.c 2009-05-09 20:00:06.000000000 +0200
@@ -427,6 +427,7 @@ captured_main (void *data)
{"xdb", no_argument, &xdb_commands, 1},
{"dbx", no_argument, &dbx_commands, 1},
@@ -48,10 +48,10 @@ Index: gdb-6.8.50.20090228/gdb/main.c
"), stream);
fputs_unfiltered (_("\
--se=FILE Use FILE as symbol file and executable file.\n\
-Index: gdb-6.8.50.20090228/gdb/symfile.c
+Index: gdb-6.8.50.20090302/gdb/symfile.c
===================================================================
---- gdb-6.8.50.20090228.orig/gdb/symfile.c 2009-03-02 01:01:17.000000000 +0100
-+++ gdb-6.8.50.20090228/gdb/symfile.c 2009-03-02 01:01:23.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-05-09 20:00:03.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/symfile.c 2009-05-09 20:00:06.000000000 +0200
@@ -77,6 +77,7 @@ static void clear_symtab_users_cleanup (
/* Global variables owned by this file */
@@ -60,19 +60,19 @@ Index: gdb-6.8.50.20090228/gdb/symfile.c
/* External variables and functions referenced. */
-Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
===================================================================
---- gdb-6.8.50.20090228.orig/gdb/dwarf2read.c 2009-03-02 01:01:15.000000000 +0100
-+++ gdb-6.8.50.20090228/gdb/dwarf2read.c 2009-03-02 01:01:36.000000000 +0100
-@@ -49,6 +49,7 @@
- #include "f-lang.h"
+--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-05-09 20:00:02.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-05-09 20:00:19.000000000 +0200
+@@ -50,6 +50,7 @@
#include "c-lang.h"
#include "typeprint.h"
+ #include "block.h"
+#include "top.h"
#include <fcntl.h>
#include "gdb_string.h"
-@@ -1161,7 +1162,8 @@ dwarf2_has_info (struct objfile *objfile
+@@ -1187,7 +1188,8 @@ dwarf2_has_info (struct objfile *objfile
dwarf_aranges_section = 0;
bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, &update_sizes);
@@ -82,10 +82,10 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2rea
}
/* When loading sections, we can either look for ".<name>", or for
-Index: gdb-6.8.50.20090228/gdb/top.h
+Index: gdb-6.8.50.20090302/gdb/top.h
===================================================================
---- gdb-6.8.50.20090228.orig/gdb/top.h 2009-01-03 06:57:53.000000000 +0100
-+++ gdb-6.8.50.20090228/gdb/top.h 2009-03-02 01:01:23.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/top.h 2009-01-03 06:57:53.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/top.h 2009-05-09 20:00:06.000000000 +0200
@@ -59,6 +59,7 @@ extern void set_prompt (char *);
/* From random places. */
gdb-6.8-fortran-tag-constant.patch:
Index: gdb-6.8-fortran-tag-constant.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-11/gdb-6.8-fortran-tag-constant.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- gdb-6.8-fortran-tag-constant.patch 2 Mar 2009 23:14:15 -0000 1.4
+++ gdb-6.8-fortran-tag-constant.patch 10 May 2009 17:45:45 -0000 1.5
@@ -1,8 +1,8 @@
-Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
===================================================================
---- gdb-6.8.50.20090228.orig/gdb/dwarf2read.c 2009-03-02 01:07:36.000000000 +0100
-+++ gdb-6.8.50.20090228/gdb/dwarf2read.c 2009-03-02 01:07:50.000000000 +0100
-@@ -1996,6 +1996,7 @@ scan_partial_symbols (struct partial_die
+--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-05-09 20:04:27.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-05-09 20:04:56.000000000 +0200
+@@ -2029,6 +2029,7 @@ scan_partial_symbols (struct partial_die
add_partial_subprogram (pdi, lowpc, highpc, need_pc, cu);
break;
case DW_TAG_variable:
@@ -10,7 +10,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2rea
case DW_TAG_typedef:
case DW_TAG_union_type:
if (!pdi->is_declaration)
-@@ -2211,6 +2212,7 @@ add_partial_symbol (struct partial_die_i
+@@ -2244,6 +2245,7 @@ add_partial_symbol (struct partial_die_i
}
break;
case DW_TAG_variable:
@@ -18,7 +18,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2rea
if (pdi->is_external)
{
/* Global Variable.
-@@ -4213,7 +4215,8 @@ dwarf2_add_field (struct field_info *fip
+@@ -4272,7 +4274,8 @@ dwarf2_add_field (struct field_info *fip
fip->non_public_fields = 1;
}
}
@@ -28,7 +28,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2rea
{
/* C++ static member. */
-@@ -4703,7 +4706,8 @@ read_structure_type (struct die_info *di
+@@ -4762,7 +4765,8 @@ read_structure_type (struct die_info *di
while (child_die && child_die->tag)
{
if (child_die->tag == DW_TAG_member
@@ -38,7 +38,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2rea
{
/* NOTE: carlton/2002-11-05: A C++ static data member
should be a DW_TAG_member that is a declaration, but
-@@ -4822,6 +4826,7 @@ process_structure_scope (struct die_info
+@@ -4881,6 +4885,7 @@ process_structure_scope (struct die_info
{
if (child_die->tag == DW_TAG_member
|| child_die->tag == DW_TAG_variable
@@ -46,15 +46,15 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2rea
|| child_die->tag == DW_TAG_inheritance)
{
/* Do nothing. */
-@@ -6455,6 +6460,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
+@@ -6656,6 +6661,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
&& abbrev->tag != DW_TAG_subprogram
&& abbrev->tag != DW_TAG_lexical_block
&& abbrev->tag != DW_TAG_variable
+ && abbrev->tag != DW_TAG_constant
&& abbrev->tag != DW_TAG_namespace
+ && abbrev->tag != DW_TAG_module
&& abbrev->tag != DW_TAG_member)
- {
-@@ -6562,6 +6568,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
+@@ -6764,6 +6770,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
if (load_all
|| abbrev->tag == DW_TAG_subprogram
|| abbrev->tag == DW_TAG_variable
@@ -62,7 +62,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2rea
|| abbrev->tag == DW_TAG_namespace
|| part_die->is_declaration)
{
-@@ -8341,6 +8348,11 @@ new_symbol (struct die_info *die, struct
+@@ -8549,6 +8556,11 @@ new_symbol (struct die_info *die, struct
/* Do not add the symbol to any lists. It will be found via
BLOCK_FUNCTION from the blockvector. */
break;
gdb-6.8-inlining.patch:
Index: gdb-6.8-inlining.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-11/gdb-6.8-inlining.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- gdb-6.8-inlining.patch 13 Apr 2009 20:52:58 -0000 1.12
+++ gdb-6.8-inlining.patch 10 May 2009 17:45:45 -0000 1.13
@@ -7,8 +7,8 @@ Removed dwarf_expr_frame_base NULL check
Index: gdb-6.8.50.20090302/gdb/NEWS
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/NEWS 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/NEWS 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/NEWS 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/NEWS 2009-05-09 21:27:23.000000000 +0200
@@ -1,6 +1,11 @@
What has changed in GDB?
(Organized release by release)
@@ -23,8 +23,8 @@ Index: gdb-6.8.50.20090302/gdb/NEWS
* GDB now has support for multi-byte and wide character sets on the
Index: gdb-6.8.50.20090302/gdb/block.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/block.c 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/block.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/block.c 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/block.c 2009-05-09 21:27:23.000000000 +0200
@@ -47,8 +47,16 @@ contained_in (const struct block *a, con
{
if (!a || !b)
@@ -69,8 +69,8 @@ Index: gdb-6.8.50.20090302/gdb/block.c
is none. PBLOCK is a pointer to the block. If PBLOCK is NULL, we
Index: gdb-6.8.50.20090302/gdb/block.h
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/block.h 2009-01-03 06:57:50.000000000 +0100
-+++ gdb-6.8.50.20090302/gdb/block.h 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/block.h 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/block.h 2009-05-09 21:27:23.000000000 +0200
@@ -65,7 +65,7 @@ struct block
CORE_ADDR endaddr;
@@ -80,7 +80,7 @@ Index: gdb-6.8.50.20090302/gdb/block.h
struct symbol *function;
-@@ -134,6 +134,8 @@ enum { GLOBAL_BLOCK = 0, STATIC_BLOCK =
+@@ -144,6 +144,8 @@ enum { GLOBAL_BLOCK = 0, STATIC_BLOCK =
extern struct symbol *block_linkage_function (const struct block *);
@@ -92,7 +92,7 @@ Index: gdb-6.8.50.20090302/gdb/block.h
Index: gdb-6.8.50.20090302/gdb/blockframe.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/blockframe.c 2009-01-03 06:57:50.000000000 +0100
-+++ gdb-6.8.50.20090302/gdb/blockframe.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/blockframe.c 2009-05-09 21:27:23.000000000 +0200
@@ -36,6 +36,7 @@
#include "command.h"
#include "gdbcmd.h"
@@ -163,8 +163,8 @@ Index: gdb-6.8.50.20090302/gdb/blockfram
frame = get_prev_frame (frame);
Index: gdb-6.8.50.20090302/gdb/breakpoint.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-04-13 22:19:50.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-05-09 21:27:15.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-05-09 21:27:23.000000000 +0200
@@ -2641,19 +2641,21 @@ watchpoint_check (void *p)
within_current_scope = 1;
else
@@ -344,8 +344,8 @@ Index: gdb-6.8.50.20090302/gdb/breakpoin
}
Index: gdb-6.8.50.20090302/gdb/buildsym.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/buildsym.c 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/buildsym.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/buildsym.c 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/buildsym.c 2009-05-09 21:27:23.000000000 +0200
@@ -1155,6 +1155,12 @@ end_symtab (CORE_ADDR end_addr, struct o
struct symbol *sym;
struct dict_iterator iter;
@@ -361,8 +361,8 @@ Index: gdb-6.8.50.20090302/gdb/buildsym.
sym = dict_iterator_next (&iter))
Index: gdb-6.8.50.20090302/gdb/doc/gdb.texinfo
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/doc/gdb.texinfo 2009-04-13 22:19:50.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/doc/gdb.texinfo 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/doc/gdb.texinfo 2009-05-09 21:27:15.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/doc/gdb.texinfo 2009-05-09 21:27:23.000000000 +0200
@@ -137,6 +137,7 @@ software in general. We will miss him.
* Stack:: Examining the stack
* Source:: Examining source files
@@ -514,8 +514,8 @@ Index: gdb-6.8.50.20090302/gdb/doc/gdb.t
Index: gdb-6.8.50.20090302/gdb/dwarf2loc.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/dwarf2loc.c 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/dwarf2loc.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/dwarf2loc.c 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/dwarf2loc.c 2009-05-09 21:27:23.000000000 +0200
@@ -31,6 +31,7 @@
#include "regcache.h"
#include "objfiles.h"
@@ -538,17 +538,9 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2loc
some function associated with a frame. If we can't find the frame,
Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-04-13 22:19:50.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-04-13 22:22:41.000000000 +0200
-@@ -50,6 +50,7 @@
- #include "c-lang.h"
- #include "typeprint.h"
- #include "top.h"
-+#include "block.h"
-
- #include <fcntl.h>
- #include "gdb_string.h"
-@@ -2992,12 +2993,8 @@ process_die (struct die_info *die, struc
+--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-05-09 21:27:15.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-05-09 21:27:23.000000000 +0200
+@@ -3024,12 +3024,8 @@ process_die (struct die_info *die, struc
read_file_scope (die, cu);
break;
case DW_TAG_subprogram:
@@ -562,7 +554,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2rea
break;
case DW_TAG_lexical_block:
case DW_TAG_try_block:
-@@ -3472,6 +3469,22 @@ read_func_scope (struct die_info *die, s
+@@ -3516,6 +3512,22 @@ read_func_scope (struct die_info *die, s
CORE_ADDR baseaddr;
struct block *block;
unsigned die_children;
@@ -585,7 +577,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2rea
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
-@@ -7531,6 +7544,9 @@ die_specification (struct die_info *die,
+@@ -7725,6 +7737,9 @@ die_specification (struct die_info *die,
*spec_cu);
if (spec_attr == NULL)
@@ -595,7 +587,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2rea
return NULL;
else
return follow_die_ref (die, spec_attr, spec_cu);
-@@ -8214,6 +8230,7 @@ new_symbol (struct die_info *die, struct
+@@ -8408,6 +8423,7 @@ new_symbol (struct die_info *die, struct
struct attribute *attr = NULL;
struct attribute *attr2 = NULL;
CORE_ADDR baseaddr;
@@ -603,7 +595,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2rea
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
-@@ -8264,13 +8281,17 @@ new_symbol (struct die_info *die, struct
+@@ -8464,13 +8480,17 @@ new_symbol (struct die_info *die, struct
SYMBOL_TYPE (sym) = type;
else
SYMBOL_TYPE (sym) = die_type (die, cu);
@@ -623,7 +615,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2rea
if (attr)
{
int file_index = DW_UNSND (attr);
-@@ -8317,6 +8338,14 @@ new_symbol (struct die_info *die, struct
+@@ -8517,6 +8537,14 @@ new_symbol (struct die_info *die, struct
add_symbol_to_list (sym, cu->list_in_scope);
}
break;
@@ -638,7 +630,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2rea
case DW_TAG_variable:
/* Compilation with minimal debug info may result in variables
with missing type entries. Change the misleading `void' type
-@@ -8372,7 +8401,14 @@ new_symbol (struct die_info *die, struct
+@@ -8583,7 +8611,14 @@ new_symbol (struct die_info *die, struct
}
break;
case DW_TAG_formal_parameter:
@@ -657,7 +649,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2rea
Index: gdb-6.8.50.20090302/gdb/frame-unwind.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/frame-unwind.c 2009-01-03 06:57:51.000000000 +0100
-+++ gdb-6.8.50.20090302/gdb/frame-unwind.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/frame-unwind.c 2009-05-09 21:27:23.000000000 +0200
@@ -21,6 +21,7 @@
#include "frame.h"
#include "frame-unwind.h"
@@ -680,8 +672,8 @@ Index: gdb-6.8.50.20090302/gdb/frame-unw
Index: gdb-6.8.50.20090302/gdb/frame.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/frame.c 2009-04-13 22:19:48.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/frame.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/frame.c 2009-05-09 21:27:11.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/frame.c 2009-05-09 21:27:23.000000000 +0200
@@ -41,8 +41,14 @@
#include "objfiles.h"
#include "exceptions.h"
@@ -1041,7 +1033,7 @@ Index: gdb-6.8.50.20090302/gdb/frame.c
Index: gdb-6.8.50.20090302/gdb/frame.h
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/frame.h 2009-02-05 18:28:20.000000000 +0100
-+++ gdb-6.8.50.20090302/gdb/frame.h 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/frame.h 2009-05-09 21:27:23.000000000 +0200
@@ -34,6 +34,9 @@
frame_unwind_WHAT...(): Unwind THIS frame's WHAT from the NEXT
frame.
@@ -1105,8 +1097,8 @@ Index: gdb-6.8.50.20090302/gdb/frame.h
/* Assuming that a frame is `normal', return its base-address, or 0 if
Index: gdb-6.8.50.20090302/gdb/gdbthread.h
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/gdbthread.h 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/gdbthread.h 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/gdbthread.h 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/gdbthread.h 2009-05-09 21:27:23.000000000 +0200
@@ -83,6 +83,13 @@ struct thread_info
This is how we know when we step into a subroutine call, and how
to set the frame for the breakpoint used to step out. */
@@ -1123,8 +1115,8 @@ Index: gdb-6.8.50.20090302/gdb/gdbthread
Index: gdb-6.8.50.20090302/gdb/infcall.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/infcall.c 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/infcall.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/infcall.c 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/infcall.c 2009-05-09 21:27:23.000000000 +0200
@@ -898,15 +898,8 @@ The program being debugged exited while
if (unwind_on_signal_p)
@@ -1145,8 +1137,8 @@ Index: gdb-6.8.50.20090302/gdb/infcall.c
long if it's a C++ name with arguments and stuff. */
Index: gdb-6.8.50.20090302/gdb/infcmd.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/infcmd.c 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/infcmd.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/infcmd.c 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/infcmd.c 2009-05-09 21:27:23.000000000 +0200
@@ -52,6 +52,7 @@
#include "cli/cli-decode.h"
#include "gdbthread.h"
@@ -1250,8 +1242,8 @@ Index: gdb-6.8.50.20090302/gdb/infcmd.c
function = find_pc_function (get_frame_pc (get_selected_frame (NULL)));
Index: gdb-6.8.50.20090302/gdb/inferior.h
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/inferior.h 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/inferior.h 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/inferior.h 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/inferior.h 2009-05-09 21:27:23.000000000 +0200
@@ -259,6 +259,9 @@ extern void error_is_running (void);
/* Calls error_is_running if the current thread is running. */
extern void ensure_not_running (void);
@@ -1264,8 +1256,8 @@ Index: gdb-6.8.50.20090302/gdb/inferior.
extern void tty_command (char *, int);
Index: gdb-6.8.50.20090302/gdb/infrun.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-04-13 22:19:49.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/infrun.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-05-09 21:27:14.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/infrun.c 2009-05-09 21:27:23.000000000 +0200
@@ -48,6 +48,7 @@
#include "gdb_assert.h"
#include "mi/mi-common.h"
@@ -1541,7 +1533,7 @@ Index: gdb-6.8.50.20090302/gdb/infrun.c
Index: gdb-6.8.50.20090302/gdb/inline-frame.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/inline-frame.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/inline-frame.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,382 @@
+/* Inline frame unwinder for GDB.
+
@@ -1928,7 +1920,7 @@ Index: gdb-6.8.50.20090302/gdb/inline-fr
Index: gdb-6.8.50.20090302/gdb/inline-frame.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/inline-frame.h 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/inline-frame.h 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,62 @@
+/* Definitions for inline frame support.
+
@@ -1994,8 +1986,8 @@ Index: gdb-6.8.50.20090302/gdb/inline-fr
+#endif /* !defined (INLINE_FRAME_H) */
Index: gdb-6.8.50.20090302/gdb/minsyms.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/minsyms.c 2009-04-13 22:19:49.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/minsyms.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/minsyms.c 2009-05-09 21:27:14.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/minsyms.c 2009-05-09 21:27:23.000000000 +0200
@@ -795,7 +795,7 @@ prim_record_minimal_symbol_and_info (con
if (msym_bunch_index == BUNCH_SIZE)
@@ -2008,7 +2000,7 @@ Index: gdb-6.8.50.20090302/gdb/minsyms.c
Index: gdb-6.8.50.20090302/gdb/s390-tdep.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/s390-tdep.c 2009-02-22 02:02:19.000000000 +0100
-+++ gdb-6.8.50.20090302/gdb/s390-tdep.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/s390-tdep.c 2009-05-09 21:27:23.000000000 +0200
@@ -1182,6 +1182,7 @@ s390_prologue_frame_unwind_cache (struct
CORE_ADDR prev_sp;
int frame_pointer;
@@ -2044,8 +2036,8 @@ Index: gdb-6.8.50.20090302/gdb/s390-tdep
/* See the comment in s390_in_function_epilogue_p on why this is
Index: gdb-6.8.50.20090302/gdb/stack.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/stack.c 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/stack.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/stack.c 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/stack.c 2009-05-09 21:27:23.000000000 +0200
@@ -45,6 +45,7 @@
#include "valprint.h"
#include "gdbthread.h"
@@ -2194,9 +2186,9 @@ Index: gdb-6.8.50.20090302/gdb/stack.c
RETURN_VALUE to NULL, and QUERY_PREFIX to an informational
Index: gdb-6.8.50.20090302/gdb/symtab.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/symtab.c 2009-04-13 22:19:49.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/symtab.c 2009-04-13 22:22:01.000000000 +0200
-@@ -1417,11 +1417,14 @@ lookup_symbol_aux_local (const char *nam
+--- gdb-6.8.50.20090302.orig/gdb/symtab.c 2009-05-09 21:27:14.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/symtab.c 2009-05-09 21:28:06.000000000 +0200
+@@ -1420,11 +1420,14 @@ lookup_symbol_aux_local (const char *nam
sym = lookup_symbol_aux_block (name, linkage_name, block_iterator, domain);
if (sym != NULL)
return sym;
@@ -2212,7 +2204,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
return NULL;
}
-@@ -2678,6 +2681,7 @@ find_function_start_sal (struct symbol *
+@@ -2681,6 +2684,7 @@ find_function_start_sal (struct symbol *
CORE_ADDR pc;
struct symtab_and_line sal;
@@ -2220,7 +2212,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
pc = BLOCK_START (block);
fixup_symbol_section (sym, objfile);
-@@ -2716,6 +2720,25 @@ find_function_start_sal (struct symbol *
+@@ -2719,6 +2723,25 @@ find_function_start_sal (struct symbol *
sal.pc = pc;
@@ -2246,7 +2238,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
return sal;
}
-@@ -3738,6 +3761,24 @@ add_macro_name (const char *name, const
+@@ -3741,6 +3764,24 @@ add_macro_name (const char *name, const
datum->text, datum->word);
}
@@ -2271,7 +2263,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
char **
default_make_symbol_completion_list (char *text, char *word)
{
-@@ -3750,9 +3791,9 @@ default_make_symbol_completion_list (cha
+@@ -3753,9 +3794,9 @@ default_make_symbol_completion_list (cha
struct partial_symtab *ps;
struct minimal_symbol *msymbol;
struct objfile *objfile;
@@ -2283,7 +2275,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
struct partial_symbol **psym;
/* The symbol we are completing on. Points in same buffer as text. */
char *sym_text;
-@@ -3862,41 +3903,43 @@ default_make_symbol_completion_list (cha
+@@ -3865,41 +3906,43 @@ default_make_symbol_completion_list (cha
}
/* Search upwards from currently selected frame (so that we can
@@ -2358,7 +2350,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
/* Go through the symtabs and check the externs and statics for
symbols which match. */
-@@ -3915,9 +3958,6 @@ default_make_symbol_completion_list (cha
+@@ -3918,9 +3961,6 @@ default_make_symbol_completion_list (cha
{
QUIT;
b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
@@ -2368,7 +2360,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
ALL_BLOCK_SYMBOLS (b, iter, sym)
{
COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text, word);
-@@ -4384,6 +4424,25 @@ skip_prologue_using_sal (CORE_ADDR func_
+@@ -4387,6 +4427,25 @@ skip_prologue_using_sal (CORE_ADDR func_
line mark the prologue -> body transition. */
if (sal.line >= prologue_sal.line)
break;
@@ -2396,9 +2388,9 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
the function looking for address ranges whose
Index: gdb-6.8.50.20090302/gdb/symtab.h
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/symtab.h 2009-04-13 22:19:47.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/symtab.h 2009-04-13 22:22:01.000000000 +0200
-@@ -562,9 +562,18 @@ struct symbol
+--- gdb-6.8.50.20090302.orig/gdb/symtab.h 2009-05-09 21:27:09.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/symtab.h 2009-05-09 21:27:23.000000000 +0200
+@@ -565,9 +565,18 @@ struct symbol
unsigned is_argument : 1;
@@ -2420,7 +2412,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.h
unsigned short line;
-@@ -595,6 +604,7 @@ struct symbol
+@@ -598,6 +607,7 @@ struct symbol
#define SYMBOL_DOMAIN(symbol) (symbol)->domain
#define SYMBOL_CLASS(symbol) (symbol)->aclass
#define SYMBOL_IS_ARGUMENT(symbol) (symbol)->is_argument
@@ -2431,7 +2423,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.h
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.base/break.exp 2009-01-19 20:05:01.000000000 +0100
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp 2009-05-09 21:27:23.000000000 +0200
@@ -880,6 +880,13 @@ gdb_expect {
# marker4() is defined at line 46 when compiled with -DPROTOTYPES
pass "run until breakpoint set at small function, optimized file (line bp_location14)"
@@ -2449,7 +2441,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.cp/annota2.exp 2009-01-03 06:58:04.000000000 +0100
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp 2009-05-09 21:27:23.000000000 +0200
@@ -119,10 +119,11 @@ gdb_expect {
# continue until exit
# this will test:
@@ -2466,7 +2458,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,47 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+
@@ -2518,7 +2510,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,63 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
@@ -2586,7 +2578,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,85 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+
@@ -2676,7 +2668,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,279 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
@@ -2960,7 +2952,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,52 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+
@@ -3017,7 +3009,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,118 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
@@ -3140,7 +3132,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,36 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+
@@ -3180,8 +3172,8 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
+}
Index: gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/testsuite/lib/gdb.exp 2009-04-13 22:19:50.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/lib/gdb.exp 2009-05-09 21:27:14.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp 2009-05-09 21:27:23.000000000 +0200
@@ -1474,6 +1474,37 @@ proc skip_hp_tests {} {
return $skip_hp
}
@@ -3222,8 +3214,8 @@ Index: gdb-6.8.50.20090302/gdb/testsuite
set hp_cc_compiler 0
Index: gdb-6.8.50.20090302/gdb/valops.c
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/valops.c 2009-04-13 22:19:48.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/valops.c 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/valops.c 2009-05-09 21:27:10.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/valops.c 2009-05-09 21:27:23.000000000 +0200
@@ -1072,7 +1072,7 @@ value_of_variable (struct symbol *var, s
frame = block_innermost_frame (b);
if (!frame)
@@ -3235,8 +3227,8 @@ Index: gdb-6.8.50.20090302/gdb/valops.c
SYMBOL_PRINT_NAME (BLOCK_FUNCTION (b)));
Index: gdb-6.8.50.20090302/gdb/Makefile.in
===================================================================
---- gdb-6.8.50.20090302.orig/gdb/Makefile.in 2009-04-13 22:19:49.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/Makefile.in 2009-04-13 22:22:01.000000000 +0200
+--- gdb-6.8.50.20090302.orig/gdb/Makefile.in 2009-05-09 21:27:14.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/Makefile.in 2009-05-09 21:27:23.000000000 +0200
@@ -667,6 +667,7 @@ SFILES = ada-exp.y ada-lang.c ada-typepr
inf-loop.c \
infcall.c \
@@ -3256,7 +3248,7 @@ Index: gdb-6.8.50.20090302/gdb/Makefile.
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/Makefile.in
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/Makefile.in 2008-04-18 01:06:54.000000000 +0200
-+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/Makefile.in 2009-04-13 22:22:01.000000000 +0200
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/Makefile.in 2009-05-09 21:27:23.000000000 +0200
@@ -1,7 +1,7 @@
VPATH = @srcdir@
srcdir = @srcdir@
gdb-archer.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -p -N -r 1.14 -r 1.15 gdb-archer.patch
Index: gdb-archer.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-11/gdb-archer.patch,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -p -r1.14 -r1.15
--- gdb-archer.patch 13 Apr 2009 21:25:31 -0000 1.14
+++ gdb-archer.patch 10 May 2009 17:45:45 -0000 1.15
@@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectAr
http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot:
-commit d1fee5066408a09423621d1ebc64e6d3e248ed08
+commit e2812eadef2c15baeccd003e11fdf3fbc0b90dc2
branch `archer' - the merge of branches:
archer-jankratochvil-merge-expr
@@ -4530,7 +4530,7 @@ index 5007cd0..3a51ec5 100644
}
break;
diff --git a/gdb/block.c b/gdb/block.c
-index 8f0140c..d451769 100644
+index 8f0140c..511c1a4 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -207,24 +207,16 @@ block_set_scope (struct block *block, const char *scope,
@@ -4562,6 +4562,42 @@ index 8f0140c..d451769 100644
}
/* Set BLOCK's using member to USING; if needed, allocate memory via
+@@ -306,6 +298,7 @@ allocate_block (struct obstack *obstack)
+ BLOCK_SUPERBLOCK (bl) = NULL;
+ BLOCK_DICT (bl) = NULL;
+ BLOCK_NAMESPACE (bl) = NULL;
++ BLOCK_FORTRAN_USE (bl) = NULL;
+
+ return bl;
+ }
+diff --git a/gdb/block.h b/gdb/block.h
+index 9b43144..20d32ae 100644
+--- a/gdb/block.h
++++ b/gdb/block.h
+@@ -96,6 +96,15 @@ struct block
+ cplus_specific;
+ }
+ language_specific;
++
++ /* FIXME: It should be in the LANGUAGE_SPECIFIC region but the
++ BLOCK_NAMESPACE accessor is not protected by the C language check. */
++
++ struct
++ {
++ struct fortran_using *use;
++ }
++ fortran_specific;
+ };
+
+ #define BLOCK_START(bl) (bl)->startaddr
+@@ -104,6 +113,7 @@ struct block
+ #define BLOCK_SUPERBLOCK(bl) (bl)->superblock
+ #define BLOCK_DICT(bl) (bl)->dict
+ #define BLOCK_NAMESPACE(bl) (bl)->language_specific.cplus_specific.namespace
++#define BLOCK_FORTRAN_USE(bl) (bl)->fortran_specific.use
+
+ /* Macro to loop through all symbols in a block BL, in no particular
+ order. ITER helps keep track of the iteration, and should be a
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index b23b294..567f574 100644
--- a/gdb/breakpoint.c
@@ -14617,7 +14653,7 @@ index 76577f1..bf46761 100644
#endif /* dwarf2loc.h */
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
-index 55868da..9c1b90d 100644
+index 55868da..c22866f 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -1,8 +1,7 @@
@@ -14630,17 +14666,18 @@ index 55868da..9c1b90d 100644
Adapted by Gary Funck (gary at intrepid.com), Intrepid Technology,
Inc. with support from Florida State University (under contract
-@@ -47,6 +46,9 @@
+@@ -47,6 +46,10 @@
#include "command.h"
#include "gdbcmd.h"
#include "addrmap.h"
+#include "f-lang.h"
+#include "c-lang.h"
+#include "typeprint.h"
++#include "block.h"
#include <fcntl.h>
#include "gdb_string.h"
-@@ -103,7 +105,7 @@ typedef struct pubnames_header
+@@ -103,7 +106,7 @@ typedef struct pubnames_header
_PUBNAMES_HEADER;
#define _ACTUAL_PUBNAMES_HEADER_SIZE 13
@@ -14649,7 +14686,7 @@ index 55868da..9c1b90d 100644
Because of alignment constraints, this structure has padding and cannot
be mapped directly onto the beginning of the .debug_info section. */
typedef struct aranges_header
-@@ -299,9 +301,6 @@ struct dwarf2_cu
+@@ -299,9 +302,6 @@ struct dwarf2_cu
/* Hash table holding all the loaded partial DIEs. */
htab_t partial_dies;
@@ -14659,17 +14696,28 @@ index 55868da..9c1b90d 100644
/* Storage for things with the same lifetime as this read-in compilation
unit, including partial DIEs. */
struct obstack comp_unit_obstack;
-@@ -349,9 +348,6 @@ struct dwarf2_cu
- DIEs for namespaces, we don't need to try to infer them
+@@ -350,8 +350,18 @@ struct dwarf2_cu
from mangled names. */
unsigned int has_namespace_info : 1;
--
+
- /* Field `ranges_offset' is filled in; flag as the value may be zero. */
- unsigned int has_ranges_offset : 1;
++ /* Fields are valid according to the LANGUAGE field. */
++ union
++ {
++ /* language_fortran */
++ struct
++ {
++ /* Module names imported to the block being currently read in. */
++ struct fortran_using *use;
++ }
++ fortran;
++ }
++ language_specific;
};
/* Persistent data held for a compilation unit, even when not
-@@ -451,17 +447,12 @@ struct partial_die_info
+@@ -451,17 +461,12 @@ struct partial_die_info
/* DWARF-2 tag for this DIE. */
ENUM_BITFIELD(dwarf_tag) tag : 16;
@@ -14687,7 +14735,7 @@ index 55868da..9c1b90d 100644
unsigned int has_pc_info : 1;
/* Flag set if the SCOPE field of this structure has been
-@@ -472,10 +463,12 @@ struct partial_die_info
+@@ -472,10 +477,12 @@ struct partial_die_info
unsigned int has_byte_size : 1;
/* The name of this DIE. Normally the value of DW_AT_name, but
@@ -14703,7 +14751,7 @@ index 55868da..9c1b90d 100644
/* The scope to prepend to our children. This is generally
allocated on the comp_unit_obstack, so will disappear
-@@ -498,9 +491,6 @@ struct partial_die_info
+@@ -498,9 +505,6 @@ struct partial_die_info
DW_AT_extension). */
unsigned int spec_offset;
@@ -14713,7 +14761,7 @@ index 55868da..9c1b90d 100644
/* Pointers to this DIE's parent, first child, and next sibling,
if any. */
struct partial_die_info *die_parent, *die_child, *die_sibling;
-@@ -523,6 +513,15 @@ struct attr_abbrev
+@@ -523,6 +527,15 @@ struct attr_abbrev
ENUM_BITFIELD(dwarf_form) form : 16;
};
@@ -14729,7 +14777,7 @@ index 55868da..9c1b90d 100644
/* Attributes have a name and a value */
struct attribute
{
-@@ -756,7 +755,7 @@ static void dwarf2_create_include_psymtab (char *, struct partial_symtab *,
+@@ -756,7 +769,7 @@ static void dwarf2_create_include_psymtab (char *, struct partial_symtab *,
struct objfile *);
static void dwarf2_build_include_psymtabs (struct dwarf2_cu *,
@@ -14738,7 +14786,7 @@ index 55868da..9c1b90d 100644
struct partial_symtab *);
static void dwarf2_build_psymtabs_hard (struct objfile *, int);
-@@ -768,6 +767,9 @@ static void scan_partial_symbols (struct partial_die_info *,
+@@ -768,6 +781,9 @@ static void scan_partial_symbols (struct partial_die_info *,
static void add_partial_symbol (struct partial_die_info *,
struct dwarf2_cu *);
@@ -14748,7 +14796,7 @@ index 55868da..9c1b90d 100644
static int pdi_needs_namespace (enum dwarf_tag tag);
static void add_partial_namespace (struct partial_die_info *pdi,
-@@ -794,6 +796,10 @@ static void dwarf2_psymtab_to_symtab (struct partial_symtab *);
+@@ -794,6 +810,10 @@ static void dwarf2_psymtab_to_symtab (struct partial_symtab *);
static void psymtab_to_symtab_1 (struct partial_symtab *);
@@ -14759,7 +14807,7 @@ index 55868da..9c1b90d 100644
gdb_byte *dwarf2_read_section (struct objfile *, asection *);
static void dwarf2_read_abbrevs (bfd *abfd, struct dwarf2_cu *cu);
-@@ -929,7 +935,8 @@ static int dwarf2_ranges_read (unsigned, CORE_ADDR *, CORE_ADDR *,
[...1833 lines suppressed...]
++ integer :: var_i = 1
++contains
++ subroutine lib_func
++ if (var_i .ne. 1) call abort
++ var_i = 2
++ end subroutine lib_func
++end module lib
++
++module libmany
++ integer :: var_j = 3
++ integer :: var_k = 4
++end module libmany
+diff --git a/gdb/testsuite/gdb.fortran/library-module-main.f90 b/gdb/testsuite/gdb.fortran/library-module-main.f90
+new file mode 100644
+index 0000000..de63a65
+--- /dev/null
++++ b/gdb/testsuite/gdb.fortran/library-module-main.f90
+@@ -0,0 +1,23 @@
++! Copyright 2009 Free Software Foundation, Inc.
++!
++! This program is free software; you can redistribute it and/or modify
++! it under the terms of the GNU General Public License as published by
++! the Free Software Foundation; either version 3 of the License, or
++! (at your option) any later version.
++!
++! This program is distributed in the hope that it will be useful,
++! but WITHOUT ANY WARRANTY; without even the implied warranty of
++! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++! GNU General Public License for more details.
++!
++! You should have received a copy of the GNU General Public License
++! along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++ use lib
++ use libmany, only: var_j
++ if (var_i .ne. 1) call abort
++ call lib_func
++ if (var_i .ne. 2) call abort
++ if (var_j .ne. 3) call abort
++ var_i = var_i ! i-is-2
++end
+diff --git a/gdb/testsuite/gdb.fortran/library-module.exp b/gdb/testsuite/gdb.fortran/library-module.exp
+new file mode 100644
+index 0000000..4b4ea4c
+--- /dev/null
++++ b/gdb/testsuite/gdb.fortran/library-module.exp
+@@ -0,0 +1,53 @@
++# Copyright 2009 Free Software Foundation, Inc.
++
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++set testfile "library-module"
++set srcfile ${testfile}-main.f90
++set srclibfile ${testfile}-lib.f90
++set libfile ${testfile}-lib.so
++set binfile ${testfile}
++
++# Required for -fPIC by gdb_compile_shlib.
++if [get_compiler_info not-used] {
++ warning "Could not get compiler info"
++ return -1
++}
++
++if { [gdb_compile_shlib "${srcdir}/${subdir}/${srclibfile}" $objdir/$subdir/$libfile {debug f77}] != "" } {
++ untested "Couldn't compile ${srclibfile}"
++ return -1
++}
++
++# prepare_for_testing cannot be used as linking with $libfile cannot be passed
++# just for the linking phase (and not the source compilation phase). And any
++# warnings on ignored $libfile abort the process.
++
++if { [gdb_compile [list $srcdir/$subdir/$srcfile $objdir/$subdir/$libfile] $objdir/$subdir/$binfile executable {debug f77}] != "" } {
++ untested "Couldn't compile ${srcfile}"
++ return -1
++}
++
++clean_restart $binfile
++
++if ![runto MAIN__] then {
++ perror "couldn't run to breakpoint MAIN__"
++ continue
++}
++
++gdb_breakpoint [gdb_get_line_number "i-is-2"]
++gdb_continue_to_breakpoint "i-is-2" ".*i-is-2.*"
++gdb_test "print var_i" " = 2"
++gdb_test "print var_j" " = 3"
++gdb_test "print var_k" "No symbol \"var_k\" in current context\\."
diff --git a/gdb/testsuite/gdb.fortran/logical.exp b/gdb/testsuite/gdb.fortran/logical.exp
new file mode 100644
index 0000000..ef76f43
@@ -39825,6 +40437,96 @@ index 0000000..4229304
+ l8 = .TRUE.
+ l = .FALSE. ! stop-here
+end
+diff --git a/gdb/testsuite/gdb.fortran/module.exp b/gdb/testsuite/gdb.fortran/module.exp
+index 342ccee..5f078a3 100644
+--- a/gdb/testsuite/gdb.fortran/module.exp
++++ b/gdb/testsuite/gdb.fortran/module.exp
+@@ -15,21 +15,30 @@
+
+ set testfile "module"
+ set srcfile ${testfile}.f90
+-set binfile ${objdir}/${subdir}/${testfile}
+
+-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } {
+- untested "Couldn't compile ${srcfile}"
++if { [prepare_for_testing $testfile.exp $testfile $srcfile {debug f77}] } {
+ return -1
+ }
+
+-gdb_exit
+-gdb_start
+-gdb_reinitialize_dir $srcdir/$subdir
+-gdb_load ${binfile}
+-
+ if ![runto MAIN__] then {
+ perror "couldn't run to breakpoint MAIN__"
+ continue
+ }
+
+-gdb_test "print i" " = 42"
++# Do not use simple single-letter names as GDB would pick up for expectedly
++# nonexisting symbols some static variables from system libraries debuginfos.
++
++gdb_breakpoint [gdb_get_line_number "i-is-1"]
++gdb_continue_to_breakpoint "i-is-1" ".*i-is-1.*"
++gdb_test "print var_i" " = 1" "print var_i value 1"
++
++gdb_breakpoint [gdb_get_line_number "i-is-2"]
++gdb_continue_to_breakpoint "i-is-2" ".*i-is-2.*"
++gdb_test "print var_i" " = 2" "print var_i value 2"
++
++gdb_breakpoint [gdb_get_line_number "a-b-c-d"]
++gdb_continue_to_breakpoint "a-b-c-d" ".*a-b-c-d.*"
++gdb_test "print var_a" "No symbol \"var_a\" in current context\\."
++gdb_test "print var_b" " = 11"
++gdb_test "print var_c" "No symbol \"var_c\" in current context\\."
++gdb_test "print var_d" " = 12"
+diff --git a/gdb/testsuite/gdb.fortran/module.f90 b/gdb/testsuite/gdb.fortran/module.f90
+index 501ccc8..99013dd 100644
+--- a/gdb/testsuite/gdb.fortran/module.f90
++++ b/gdb/testsuite/gdb.fortran/module.f90
+@@ -13,10 +13,36 @@
+ ! You should have received a copy of the GNU General Public License
+ ! along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-module mod
+- integer :: i = 42
+-end module mod
++module mod1
++ integer :: var_i = 1
++end module mod1
+
+- use mod
+- print *, i
++module mod2
++ integer :: var_i = 2
++end module mod2
++
++module modmany
++ integer :: var_a = 10, var_b = 11, var_c = 12
++end module modmany
++
++ subroutine sub1
++ use mod1
++ if (var_i .ne. 1) call abort
++ var_i = var_i ! i-is-1
++ end
++
++ subroutine sub2
++ use mod2
++ if (var_i .ne. 2) call abort
++ var_i = var_i ! i-is-2
++ end
++
++ use modmany, only: var_b, var_d => var_c
++
++ call sub1
++ call sub2
++
++ if (var_b .ne. 11) call abort
++ if (var_d .ne. 12) call abort
++ var_b = var_b ! a-b-c-d
+ end
diff --git a/gdb/testsuite/gdb.fortran/string.exp b/gdb/testsuite/gdb.fortran/string.exp
new file mode 100644
index 0000000..ab72206
Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-11/gdb.spec,v
retrieving revision 1.345
retrieving revision 1.346
diff -u -p -r1.345 -r1.346
--- gdb.spec 16 Apr 2009 19:18:39 -0000 1.345
+++ gdb.spec 10 May 2009 17:45:45 -0000 1.346
@@ -13,7 +13,7 @@ Version: 6.8.50.20090302
# 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: 21%{?_with_upstream:.upstream}%{?dist}
+Release: 22%{?_with_upstream:.upstream}%{?dist}
License: GPLv3+
Group: Development/Debuggers
@@ -859,6 +859,12 @@ fi
%endif
%changelog
+* Sun May 10 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-22
+- Archer update to the snapshot: e2812eadef2c15baeccd003e11fdf3fbc0b90dc2
+- Archer backport: 58dcda94ac5d6398f47382505e9d3d9d866d79bf
+ + f3de7bbd655337fe6705aeaafcc970deff3dd5d5
+ - Implement Fortran modules namespaces (BZ 466118).
+
* Thu Apr 16 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-21
- Bump revision due to CVS tags mistake.
More information about the scm-commits
mailing list