Hello community,
here is the log from the commit of package gdb
checked in at Sat Sep 13 01:16:12 CEST 2008.
--------
--- gdb/gdb.changes 2008-09-04 11:30:39.000000000 +0200
+++ gdb/gdb.changes 2008-09-12 11:37:23.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Sep 12 11:36:50 CEST 2008 - schwab@suse.de
+
+- Update to head of trunk.
+- Add Cell combined debugger patch.
+
+-------------------------------------------------------------------
Old:
----
gdb-6.8.50.20080904-cvs.tar.bz2
warn.patch
New:
----
args-newline.diff
cell-combined.diff
gdb-6.8.50.20080912-cvs.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.i13584/_old 2008-09-13 01:14:17.000000000 +0200
+++ /var/tmp/diff_new_pack.i13584/_new 2008-09-13 01:14:17.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package gdb (Version 6.8.50.20080904)
+# spec file for package gdb (Version 6.8.50.20080912)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -36,12 +36,13 @@
AutoReqProv: on
PreReq: %{install_info_prereq}
Summary: The GNU Debugger
-Version: 6.8.50.20080904
+Version: 6.8.50.20080912
Release: 1
%define sss -cvs
Source: gdb-%{version}%{sss}.tar.bz2
+Patch: cell-combined.diff
Patch1: find-pc-sect-line.diff
-Patch2: warn.patch
+Patch2: args-newline.diff
Patch3: readline-5.1-random.patch
Patch4: readnever.patch
Patch5: gstack.patch
@@ -109,6 +110,7 @@
%prep
%setup -q -n %{name}-%{version}%{sss}
+%patch -p1
%patch1
%patch2
%patch3
@@ -192,6 +194,9 @@
%endif
%changelog
+* Fri Sep 12 2008 schwab@suse.de
+- Update to head of trunk.
+- Add Cell combined debugger patch.
* Thu Sep 04 2008 schwab@suse.de
- Update to head of trunk.
* Fri Aug 15 2008 schwab@suse.de
++++++ args-newline.diff ++++++
2008-09-12 Andreas Schwab
* infcmd.c (construct_inferior_arguments): Handle newlines
specially.
testsuite/:
* gdb.base/args.exp: Add tests for newlines.
--- gdb/infcmd.c.~1.211.~ 2008-09-12 11:12:15.000000000 +0200
+++ gdb/infcmd.c 2008-09-12 16:25:48.000000000 +0200
@@ -271,7 +271,7 @@ construct_inferior_arguments (struct gdb
/* We over-compute the size. It shouldn't matter. */
for (i = 0; i < argc; ++i)
- length += 2 * strlen (argv[i]) + 1 + 2 * (argv[i][0] == '\0');
+ length += 3 * strlen (argv[i]) + 1 + 2 * (argv[i][0] == '\0');
result = (char *) xmalloc (length);
out = result;
@@ -291,9 +291,21 @@ construct_inferior_arguments (struct gdb
{
for (cp = argv[i]; *cp; ++cp)
{
- if (strchr (special, *cp) != NULL)
- *out++ = '\\';
- *out++ = *cp;
+ if (*cp == '\n')
+ {
+ /* A newline cannot be quoted with a backslash (it
+ just disappears), only by putting it inside
+ quotes. */
+ *out++ = '\'';
+ *out++ = '\n';
+ *out++ = '\'';
+ }
+ else
+ {
+ if (strchr (special, *cp) != NULL)
+ *out++ = '\\';
+ *out++ = *cp;
+ }
}
}
}
--- gdb/testsuite/gdb.base/args.exp.~1.15.~ 2008-08-09 15:44:54.000000000 +0200
+++ gdb/testsuite/gdb.base/args.exp 2008-09-12 16:11:20.000000000 +0200
@@ -96,4 +96,12 @@ args_test "one empty (with single quotes
set GDBFLAGS "-nx --args $binfile 1 '' '' 3"
args_test "two empty (with single quotes)" {{1} {''} {''} {3}}
+# try with arguments containing literal newlines.
+
+set GDBFLAGS "-nx --args $binfile 1 {\n} 3"
+args_test "one newline" {{1} {\\n} {3}}
+
+set GDBFLAGS "-nx --args $binfile 1 {\n} {\n} 3"
+args_test "two newlines" {{1} {\\n} {\\n} {3}}
+
set GDBFLAGS $old_gdbflags
++++++ cell-combined.diff ++++++
++++ 6012 lines (skipped)
++++++ gdb-6.8.50.20080904-cvs.tar.bz2 -> gdb-6.8.50.20080912-cvs.tar.bz2 ++++++
gdb/gdb-6.8.50.20080904-cvs.tar.bz2 gdb/gdb-6.8.50.20080912-cvs.tar.bz2 differ: byte 11, line 1
++++++ pie-relocate.diff ++++++
--- /var/tmp/diff_new_pack.i13584/_old 2008-09-13 01:14:18.000000000 +0200
+++ /var/tmp/diff_new_pack.i13584/_new 2008-09-13 01:14:18.000000000 +0200
@@ -1,6 +1,6 @@
--- gdb/breakpoint.c
+++ gdb/breakpoint.c
-@@ -4045,6 +4045,7 @@ describe_other_breakpoints (CORE_ADDR pc
+@@ -4119,6 +4119,7 @@ describe_other_breakpoints (CORE_ADDR pc
printf_filtered (" (thread %d)", b->thread);
printf_filtered ("%s%s ",
((b->enable_state == bp_disabled ||
@@ -8,7 +8,7 @@
b->enable_state == bp_call_disabled)
? " (disabled)"
: b->enable_state == bp_permanent
-@@ -4120,6 +4121,7 @@ check_duplicates_for (CORE_ADDR address,
+@@ -4194,6 +4195,7 @@ check_duplicates_for (CORE_ADDR address,
ALL_BP_LOCATIONS (b)
if (b->owner->enable_state != bp_disabled
&& b->owner->enable_state != bp_call_disabled
@@ -16,7 +16,7 @@
&& b->enabled
&& !b->shlib_disabled
&& b->address == address /* address / overlay match */
-@@ -4155,6 +4157,7 @@ check_duplicates_for (CORE_ADDR address,
+@@ -4229,6 +4231,7 @@ check_duplicates_for (CORE_ADDR address,
{
if (b->owner->enable_state != bp_disabled
&& b->owner->enable_state != bp_call_disabled
@@ -24,7 +24,7 @@
&& b->enabled && !b->shlib_disabled
&& b->address == address /* address / overlay match */
&& (!overlay_debugging || b->section == section)
-@@ -4681,6 +4684,60 @@ disable_breakpoints_in_unloaded_shlib (s
+@@ -4760,6 +4763,60 @@ disable_breakpoints_in_unloaded_shlib (s
}
}
@@ -85,7 +85,7 @@
static void
create_fork_vfork_event_catchpoint (int tempflag, char *cond_string,
enum bptype bp_kind)
-@@ -7432,6 +7489,7 @@ breakpoint_re_set_one (void *bint)
+@@ -7555,6 +7612,7 @@ breakpoint_re_set_one (void *bint)
if (not_found
&& (b->condition_not_parsed
|| (b->loc && b->loc->shlib_disabled)
@@ -95,7 +95,7 @@
--- gdb/breakpoint.h
+++ gdb/breakpoint.h
-@@ -144,6 +144,7 @@ enum enable_state
+@@ -142,6 +142,7 @@ enum enable_state
automatically enabled and reset when the call
"lands" (either completes, or stops at another
eventpoint). */
@@ -103,7 +103,7 @@
bp_permanent /* There is a breakpoint instruction hard-wired into
the target's code. Don't try to write another
breakpoint instruction on top of it, or restore
-@@ -827,6 +828,10 @@ extern void remove_thread_event_breakpoi
+@@ -842,6 +843,10 @@ extern void remove_thread_event_breakpoi
extern void disable_breakpoints_in_shlibs (void);
@@ -116,7 +116,7 @@
--- gdb/dwarf2read.c
+++ gdb/dwarf2read.c
-@@ -1256,7 +1256,7 @@ dwarf2_build_psymtabs (struct objfile *o
+@@ -1257,7 +1257,7 @@ dwarf2_build_psymtabs (struct objfile *o
else
dwarf2_per_objfile->loc_buffer = NULL;
@@ -127,7 +127,7 @@
{
--- gdb/elfread.c
+++ gdb/elfread.c
-@@ -678,7 +678,7 @@ elf_symfile_read (struct objfile *objfil
+@@ -680,7 +680,7 @@ elf_symfile_read (struct objfile *objfil
/* If we are reinitializing, or if we have never loaded syms yet,
set table to empty. MAINLINE is cleared so that *_read_psymtab
functions do not all also re-initialize the psymbol table. */
@@ -138,7 +138,7 @@
mainline = 0;
--- gdb/infrun.c
+++ gdb/infrun.c
-@@ -1806,6 +1806,11 @@ handle_inferior_event (struct execution_
+@@ -1958,6 +1958,11 @@ handle_inferior_event (struct execution_
#endif
target_terminal_inferior ();
@@ -161,7 +161,7 @@
/* Prototypes for local functions */
-@@ -278,7 +280,16 @@ init_entry_point_info (struct objfile *o
+@@ -271,7 +273,16 @@ init_entry_point_info (struct objfile *o
CORE_ADDR
entry_point_address (void)
{
@@ -186,10 +186,10 @@
#include "target.h"
#include "inferior.h"
+#include "command.h"
+ #include "gdbthread.h"
#include "gdb_assert.h"
-
-@@ -280,8 +281,6 @@ static char *debug_loader_name;
+@@ -286,8 +287,6 @@ static CORE_ADDR main_lm_addr;
/* Local function prototypes */
@@ -198,7 +198,7 @@
static CORE_ADDR bfd_lookup_symbol (bfd *, char *);
/*
-@@ -387,6 +386,8 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
+@@ -524,6 +523,8 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
Elf32_External_Dyn *x_dynp_32;
Elf64_External_Dyn *x_dynp_64;
struct bfd_section *sect;
@@ -207,7 +207,7 @@
if (abfd == NULL)
return 0;
-@@ -394,11 +395,20 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
+@@ -531,11 +532,20 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
if (arch_size == -1)
return 0;
@@ -228,16 +228,16 @@
/* Read in .dynamic from the BFD. We will get the actual value
from memory later. */
-@@ -438,7 +448,7 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
- gdb_byte ptr_buf[8];
+@@ -577,7 +587,7 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
CORE_ADDR ptr_addr;
+ ptr_type = builtin_type (target_gdbarch)->builtin_data_ptr;
- ptr_addr = dyn_addr + (buf - bufstart) + arch_size / 8;
+ ptr_addr = relocated_dyn_addr + (buf - bufstart) + arch_size / 8;
if (target_read_memory (ptr_addr, ptr_buf, arch_size / 8) == 0)
- dyn_ptr = extract_typed_address (ptr_buf,
- builtin_type_void_data_ptr);
-@@ -793,11 +803,55 @@ svr4_current_sos (void)
+ dyn_ptr = extract_typed_address (ptr_buf, ptr_type);
+ *ptr = dyn_ptr;
+@@ -983,11 +993,55 @@ svr4_current_sos (void)
decide when to ignore it. */
if (IGNORE_FIRST_LINK_MAP_ENTRY (new) && ldsomap == 0)
{
@@ -294,7 +294,7 @@
int errcode;
char *buffer;
-@@ -804,10 +860,8 @@ svr4_current_sos (void)
+@@ -1005,10 +1059,8 @@ svr4_current_sos (void)
}
xfree (buffer);
@@ -307,7 +307,7 @@
free_so (new);
else
{
-@@ -906,24 +960,6 @@ svr4_fetch_objfile_link_map (struct objf
+@@ -1059,24 +1111,6 @@ svr4_fetch_objfile_link_map (struct objf
return 0;
}
@@ -332,8 +332,8 @@
/* Return 1 if PC lies in the dynamic symbol resolution code of the
SVR4 run time loader. */
static CORE_ADDR interp_text_sect_low;
-@@ -1466,6 +1502,8 @@ svr4_solib_create_inferior_hook (void)
- while (stop_signal != TARGET_SIGNAL_TRAP);
+@@ -1604,6 +1638,8 @@ svr4_solib_create_inferior_hook (void)
+ while (tp->stop_signal != TARGET_SIGNAL_TRAP);
stop_soon = NO_STOP_QUIETLY;
#endif /* defined(_SCO_DS) */
+
@@ -343,7 +343,7 @@
static void
--- gdb/solib.c
+++ gdb/solib.c
-@@ -411,15 +411,37 @@ symbol_add_stub (void *arg)
+@@ -432,8 +432,22 @@ symbol_add_stub (void *arg)
/* Have we already loaded this shared object? */
ALL_OBJFILES (so->objfile)
{
@@ -366,25 +366,26 @@
+ return 1;
}
+ /* Open a second BFD for this file. */
+@@ -446,8 +460,15 @@ symbol_add_stub (void *arg)
sap = build_section_addr_info_from_section_table (so->sections,
so->sections_end);
-- so->objfile = symbol_file_add (so->so_name, so->from_tty,
-- sap, 0, OBJF_SHARED);
+- so->objfile = symbol_file_add_from_bfd (abfd, so->from_tty,
+- sap, 0, OBJF_SHARED);
+ if (so->main_p)
+ {
-+ so->objfile = symbol_file_add (so->so_name, /*so->from_tty*/ 0,
-+ sap, 1, 0);
++ so->objfile = symbol_file_add_from_bfd (abfd, 0, sap, 1, 0);
+ so->main_relocated = 1;
+ }
+ else
-+ so->objfile = symbol_file_add (so->so_name, so->from_tty,
-+ sap, 0, OBJF_SHARED);
++ so->objfile = symbol_file_add_from_bfd (abfd, so->from_tty,
++ sap, 0, OBJF_SHARED);
+
free_section_addr_info (sap);
return (1);
-@@ -599,28 +621,7 @@ update_solib_list (int from_tty, struct
+@@ -627,28 +648,7 @@ update_solib_list (int from_tty, struct
/* Fill in the rest of each of the `struct so_list' nodes. */
for (i = inferior; i; i = i->next)
{
@@ -414,7 +415,7 @@
/* Notify any observer that the shared object has been
loaded now that we've added it to GDB's tables. */
-@@ -716,6 +717,39 @@ solib_add (char *pattern, int from_tty,
+@@ -744,6 +744,39 @@ solib_add (char *pattern, int from_tty,
}
}
@@ -465,9 +466,9 @@
struct objfile *objfile; /* objfile for loaded lib */
struct section_table *sections;
struct section_table *sections_end;
-@@ -130,6 +132,10 @@ struct so_list *master_so_list (void);
+@@ -133,6 +135,10 @@ struct so_list *master_so_list (void);
/* Find solib binary file and open it. */
- extern int solib_open (char *in_pathname, char **found_pathname);
+ extern bfd *solib_bfd_open (char *in_pathname);
+/* Add the list of sections in so_list to the target to_sections. */
+extern void add_to_target_sections (int, struct target_ops *,
@@ -489,7 +490,7 @@
reinit_frame_cache ();
--- gdb/symfile.c
+++ gdb/symfile.c
-@@ -779,7 +779,7 @@ syms_from_objfile (struct objfile *objfi
+@@ -784,7 +784,7 @@ syms_from_objfile (struct objfile *objfi
/* Now either addrs or offsets is non-zero. */
@@ -498,7 +499,7 @@
{
/* We will modify the main symbol table, make sure that all its users
will be cleaned up if an error occurs during symbol reading. */
-@@ -807,7 +807,7 @@ syms_from_objfile (struct objfile *objfi
+@@ -812,7 +812,7 @@ syms_from_objfile (struct objfile *objfi
We no longer warn if the lowest section is not a text segment (as
happens for the PA64 port. */
@@ -507,7 +508,7 @@
{
asection *lower_sect;
asection *sect;
-@@ -971,14 +971,14 @@ new_symfile_objfile (struct objfile *obj
+@@ -918,14 +918,14 @@ new_symfile_objfile (struct objfile *obj
/* If this is the main symbol file we have to clean up all users of the
old main symbol file. Otherwise it is sufficient to fixup all the
breakpoints that may have been redefined by this symbol file. */
@@ -524,7 +525,7 @@
{
breakpoint_re_set ();
}
-@@ -1024,7 +1024,7 @@ symbol_file_add_with_addrs_or_offsets (b
+@@ -971,7 +971,7 @@ symbol_file_add_with_addrs_or_offsets (b
interactively wiping out any existing symbols. */
if ((have_full_symbols () || have_partial_symbols ())
@@ -533,7 +534,7 @@
&& from_tty
&& !query ("Load new symbol table from \"%s\"? ", name))
error (_("Not confirmed."));
-@@ -1208,6 +1208,11 @@ symbol_file_clear (int from_tty)
+@@ -1160,6 +1160,11 @@ symbol_file_clear (int from_tty)
symfile_objfile->name)
: !query (_("Discard symbol table? "))))
error (_("Not confirmed."));
@@ -545,7 +546,7 @@
free_all_objfiles ();
/* solib descriptors may have handles to objfiles. Since their
-@@ -2469,6 +2474,8 @@ reread_symbols (void)
+@@ -2451,6 +2456,8 @@ reread_symbols (void)
/* Discard cleanups as symbol reading was successful. */
discard_cleanups (old_cleanups);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org