OBS User unknown 2008-09-24 13:25:01 +00:00 committed by Git OBS Bridge
parent 3fdbcb41f3
commit 0255a8ed6d
8 changed files with 2417 additions and 24 deletions

View File

@ -5034,7 +5034,7 @@ Index: gdb-head/gdb/solib-spu.c
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ gdb-head/gdb/solib-spu.c +++ gdb-head/gdb/solib-spu.c
@@ -0,0 +1,477 @@ @@ -0,0 +1,478 @@
+/* Cell SPU GNU/Linux support -- shared library handling. +/* Cell SPU GNU/Linux support -- shared library handling.
+ Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008 Free Software Foundation, Inc.
+ +
@ -5115,6 +5115,7 @@ Index: gdb-head/gdb/solib-spu.c
+ if (target_has_execution) + if (target_has_execution)
+ { + {
+ struct cleanup *old_chain; + struct cleanup *old_chain;
+ struct inferior *inferior = current_inferior ();
+ +
+ /* Suppress MI messages that are unexpected at this point. */ + /* Suppress MI messages that are unexpected at this point. */
+ old_chain = make_cleanup_restore_integer (&suppress_resume_observer); + old_chain = make_cleanup_restore_integer (&suppress_resume_observer);
@ -5128,10 +5129,10 @@ Index: gdb-head/gdb/solib-spu.c
+ in particular when using the extended-remote target. Thus, we pass + in particular when using the extended-remote target. Thus, we pass
+ TARGET_SIGNAL_TRAP to resume -- this way we will always get a trap. + TARGET_SIGNAL_TRAP to resume -- this way we will always get a trap.
+ (If one was already pending, it will be combined into this trap.) */ + (If one was already pending, it will be combined into this trap.) */
+ stop_soon = STOP_QUIETLY; + inferior->stop_soon = STOP_QUIETLY;
+ resume (0, TARGET_SIGNAL_TRAP); + resume (0, TARGET_SIGNAL_TRAP);
+ wait_for_inferior (1); + wait_for_inferior (1);
+ stop_soon = NO_STOP_QUIETLY; + inferior->stop_soon = NO_STOP_QUIETLY;
+ +
+ do_cleanups (old_chain); + do_cleanups (old_chain);
+ } + }

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a111a5de16ce2b20aee06861152178301ebfac4112f87ccf9bfc9af92d1ac2fb
size 15498271

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cf5383c3218942960d8ee04fe027845a31a568d32c45232bb9717e860dea45af
size 15531415

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Wed Sep 24 14:23:01 CEST 2008 - schwab@suse.de
- Update to head of trunk.
- Add POWER7 support.
- Add gcore.
- Add spu-elf to list of targets.
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Sep 12 11:36:50 CEST 2008 - schwab@suse.de Fri Sep 12 11:36:50 CEST 2008 - schwab@suse.de

View File

@ -1,5 +1,5 @@
# #
# spec file for package gdb (Version 6.8.50.20080912) # spec file for package gdb (Version 6.8.50.20080924)
# #
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
@ -18,6 +18,9 @@
Name: gdb Name: gdb
Summary: The GNU Debugger
Version: 6.8.50.20080924
Release: 1
BuildRequires: bison dejagnu flex gcc-c++ gcc-fortran gcc-java gcc-objc python-devel readline-devel zlib-devel BuildRequires: bison dejagnu flex gcc-c++ gcc-fortran gcc-java gcc-objc python-devel readline-devel zlib-devel
%if 0%{?suse_version} > 1020 %if 0%{?suse_version} > 1020
BuildRequires: libexpat-devel BuildRequires: libexpat-devel
@ -35,9 +38,6 @@ License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v2 o
Group: Development/Tools/Debuggers Group: Development/Tools/Debuggers
AutoReqProv: on AutoReqProv: on
PreReq: %{install_info_prereq} PreReq: %{install_info_prereq}
Summary: The GNU Debugger
Version: 6.8.50.20080912
Release: 1
%define sss -cvs %define sss -cvs
Source: gdb-%{version}%{sss}.tar.bz2 Source: gdb-%{version}%{sss}.tar.bz2
Patch: cell-combined.diff Patch: cell-combined.diff
@ -51,6 +51,8 @@ Patch7: pie-relocate.diff
Patch8: find-separate-debug-file.diff Patch8: find-separate-debug-file.diff
Patch9: fix-gdb-backtrace.diff Patch9: fix-gdb-backtrace.diff
Patch10: expand-line-sal-maybe.diff Patch10: expand-line-sal-maybe.diff
Patch11: power7.diff
Patch12: power7-gdbserver.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
@ -121,6 +123,8 @@ Authors:
%patch8 %patch8
%patch9 %patch9
%patch10 %patch10
%patch11 -p1
%patch12 -p1
%build %build
%ifarch %ix86 ia64 ppc ppc64 s390 s390x x86_64 %ifarch %ix86 ia64 ppc ppc64 s390 s390x x86_64
@ -132,6 +136,7 @@ Authors:
%define DIST %(echo '%distribution' | sed 's/ (.*)//') %define DIST %(echo '%distribution' | sed 's/ (.*)//')
%if %build_multitarget %if %build_multitarget
ADDITIONAL_TARGETS="%(echo %target_list | sed -e 's/[^ ]\+/&-suse-linux/g')" ADDITIONAL_TARGETS="%(echo %target_list | sed -e 's/[^ ]\+/&-suse-linux/g')"
ADDITIONAL_TARGETS="$ADDITIONAL_TARGETS spu-elf"
%else %else
ADDITIONAL_TARGETS= ADDITIONAL_TARGETS=
%endif %endif
@ -158,6 +163,7 @@ make -k check || :
%install %install
make install-gdb install-info-gdb DESTDIR="$RPM_BUILD_ROOT" make install-gdb install-info-gdb DESTDIR="$RPM_BUILD_ROOT"
install -m 755 gdb/gdb_gcore.sh $RPM_BUILD_ROOT%{_bindir}/gcore
rm -f $RPM_BUILD_ROOT%{_bindir}/gdbtui rm -f $RPM_BUILD_ROOT%{_bindir}/gdbtui
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gdbtui.1 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gdbtui.1
rm -f $RPM_BUILD_ROOT%{_infodir}/stabs.info* rm -f $RPM_BUILD_ROOT%{_infodir}/stabs.info*
@ -180,6 +186,7 @@ rm -rf $RPM_BUILD_ROOT
%doc COPYING COPYING.LIB gdb/README gdb/NEWS %doc COPYING COPYING.LIB gdb/README gdb/NEWS
%{_bindir}/gdb %{_bindir}/gdb
%{_bindir}/gstack %{_bindir}/gstack
%{_bindir}/gcore
%{_mandir}/man1/gdb.1.gz %{_mandir}/man1/gdb.1.gz
%{_infodir}/annotate.info*.gz %{_infodir}/annotate.info*.gz
%{_infodir}/gdb.info*.gz %{_infodir}/gdb.info*.gz
@ -194,6 +201,11 @@ rm -rf $RPM_BUILD_ROOT
%endif %endif
%changelog %changelog
* Wed Sep 24 2008 schwab@suse.de
- Update to head of trunk.
- Add POWER7 support.
- Add gcore.
- Add spu-elf to list of targets.
* Fri Sep 12 2008 schwab@suse.de * Fri Sep 12 2008 schwab@suse.de
- Update to head of trunk. - Update to head of trunk.
- Add Cell combined debugger patch. - Add Cell combined debugger patch.

View File

@ -1,6 +1,6 @@
--- gdb/breakpoint.c --- gdb/breakpoint.c
+++ gdb/breakpoint.c +++ gdb/breakpoint.c
@@ -4119,6 +4119,7 @@ describe_other_breakpoints (CORE_ADDR pc @@ -4125,6 +4125,7 @@ describe_other_breakpoints (CORE_ADDR pc
printf_filtered (" (thread %d)", b->thread); printf_filtered (" (thread %d)", b->thread);
printf_filtered ("%s%s ", printf_filtered ("%s%s ",
((b->enable_state == bp_disabled || ((b->enable_state == bp_disabled ||
@ -8,7 +8,7 @@
b->enable_state == bp_call_disabled) b->enable_state == bp_call_disabled)
? " (disabled)" ? " (disabled)"
: b->enable_state == bp_permanent : b->enable_state == bp_permanent
@@ -4194,6 +4195,7 @@ check_duplicates_for (CORE_ADDR address, @@ -4200,6 +4201,7 @@ check_duplicates_for (CORE_ADDR address,
ALL_BP_LOCATIONS (b) ALL_BP_LOCATIONS (b)
if (b->owner->enable_state != bp_disabled if (b->owner->enable_state != bp_disabled
&& b->owner->enable_state != bp_call_disabled && b->owner->enable_state != bp_call_disabled
@ -16,7 +16,7 @@
&& b->enabled && b->enabled
&& !b->shlib_disabled && !b->shlib_disabled
&& b->address == address /* address / overlay match */ && b->address == address /* address / overlay match */
@@ -4229,6 +4231,7 @@ check_duplicates_for (CORE_ADDR address, @@ -4235,6 +4237,7 @@ check_duplicates_for (CORE_ADDR address,
{ {
if (b->owner->enable_state != bp_disabled if (b->owner->enable_state != bp_disabled
&& b->owner->enable_state != bp_call_disabled && b->owner->enable_state != bp_call_disabled
@ -24,7 +24,7 @@
&& b->enabled && !b->shlib_disabled && b->enabled && !b->shlib_disabled
&& b->address == address /* address / overlay match */ && b->address == address /* address / overlay match */
&& (!overlay_debugging || b->section == section) && (!overlay_debugging || b->section == section)
@@ -4760,6 +4763,60 @@ disable_breakpoints_in_unloaded_shlib (s @@ -4766,6 +4769,60 @@ disable_breakpoints_in_unloaded_shlib (s
} }
} }
@ -85,7 +85,7 @@
static void static void
create_fork_vfork_event_catchpoint (int tempflag, char *cond_string, create_fork_vfork_event_catchpoint (int tempflag, char *cond_string,
enum bptype bp_kind) enum bptype bp_kind)
@@ -7555,6 +7612,7 @@ breakpoint_re_set_one (void *bint) @@ -7561,6 +7618,7 @@ breakpoint_re_set_one (void *bint)
if (not_found if (not_found
&& (b->condition_not_parsed && (b->condition_not_parsed
|| (b->loc && b->loc->shlib_disabled) || (b->loc && b->loc->shlib_disabled)
@ -103,7 +103,7 @@
bp_permanent /* There is a breakpoint instruction hard-wired into bp_permanent /* There is a breakpoint instruction hard-wired into
the target's code. Don't try to write another the target's code. Don't try to write another
breakpoint instruction on top of it, or restore breakpoint instruction on top of it, or restore
@@ -842,6 +843,10 @@ extern void remove_thread_event_breakpoi @@ -843,6 +844,10 @@ extern void remove_thread_event_breakpoi
extern void disable_breakpoints_in_shlibs (void); extern void disable_breakpoints_in_shlibs (void);
@ -116,7 +116,7 @@
--- gdb/dwarf2read.c --- gdb/dwarf2read.c
+++ gdb/dwarf2read.c +++ gdb/dwarf2read.c
@@ -1257,7 +1257,7 @@ dwarf2_build_psymtabs (struct objfile *o @@ -1258,7 +1258,7 @@ dwarf2_build_psymtabs (struct objfile *o
else else
dwarf2_per_objfile->loc_buffer = NULL; dwarf2_per_objfile->loc_buffer = NULL;
@ -136,13 +136,43 @@
{ {
init_psymbol_list (objfile, 0); init_psymbol_list (objfile, 0);
mainline = 0; mainline = 0;
--- gdb/ia64-tdep.c
+++ gdb/ia64-tdep.c
@@ -3243,8 +3243,13 @@ ia64_convert_from_func_ptr_addr (struct
the target address itself points to a section that is executable. */
if (s && (s->the_bfd_section->flags & SEC_CODE) == 0)
{
- CORE_ADDR pc = read_memory_unsigned_integer (addr, 8);
- struct obj_section *pc_section = find_pc_section (pc);
+ char buf[8];
+ CORE_ADDR pc;
+ struct obj_section *pc_section;
+ if (target_read_memory (addr, buf, sizeof (buf)) == 0)
+ return addr;
+ pc = extract_unsigned_integer (buf, sizeof (buf));
+ pc_section = find_pc_section (pc);
if (pc_section && (pc_section->the_bfd_section->flags & SEC_CODE))
return pc;
--- gdb/infrun.c --- gdb/infrun.c
+++ gdb/infrun.c +++ gdb/infrun.c
@@ -1958,6 +1958,11 @@ handle_inferior_event (struct execution_ @@ -1972,6 +1972,11 @@ handle_inferior_event (struct execution_
#endif #endif
target_terminal_inferior (); target_terminal_inferior ();
+ /* For PIE executables, we dont really know where the + /* For PIE executables, we don't really know where the
+ breakpoints are going to be until we start up the
+ inferior. */
+ re_enable_breakpoints_at_startup ();
+
/* If requested, stop when the dynamic linker notifies
gdb of events. This allows the user to get control
and place breakpoints in initializer routines for
@@ -2896,6 +2901,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
#endif
target_terminal_inferior ();
+ /* For PIE executables, we don't really know where the
+ breakpoints are going to be until we start up the + breakpoints are going to be until we start up the
+ inferior. */ + inferior. */
+ re_enable_breakpoints_at_startup (); + re_enable_breakpoints_at_startup ();
@ -332,9 +362,9 @@
/* Return 1 if PC lies in the dynamic symbol resolution code of the /* Return 1 if PC lies in the dynamic symbol resolution code of the
SVR4 run time loader. */ SVR4 run time loader. */
static CORE_ADDR interp_text_sect_low; static CORE_ADDR interp_text_sect_low;
@@ -1604,6 +1638,8 @@ svr4_solib_create_inferior_hook (void) @@ -1606,6 +1640,8 @@ svr4_solib_create_inferior_hook (void)
while (tp->stop_signal != TARGET_SIGNAL_TRAP); while (tp->stop_signal != TARGET_SIGNAL_TRAP);
stop_soon = NO_STOP_QUIETLY; inf->stop_soon = NO_STOP_QUIETLY;
#endif /* defined(_SCO_DS) */ #endif /* defined(_SCO_DS) */
+ +
+ disable_breakpoints_at_startup (1); + disable_breakpoints_at_startup (1);
@ -385,7 +415,7 @@
free_section_addr_info (sap); free_section_addr_info (sap);
return (1); return (1);
@@ -627,28 +648,7 @@ update_solib_list (int from_tty, struct @@ -633,28 +654,7 @@ update_solib_list (int from_tty, struct
/* Fill in the rest of each of the `struct so_list' nodes. */ /* Fill in the rest of each of the `struct so_list' nodes. */
for (i = inferior; i; i = i->next) for (i = inferior; i; i = i->next)
{ {
@ -415,7 +445,7 @@
/* Notify any observer that the shared object has been /* Notify any observer that the shared object has been
loaded now that we've added it to GDB's tables. */ loaded now that we've added it to GDB's tables. */
@@ -744,6 +744,39 @@ solib_add (char *pattern, int from_tty, @@ -750,6 +750,39 @@ solib_add (char *pattern, int from_tty,
} }
} }
@ -546,7 +576,7 @@
free_all_objfiles (); free_all_objfiles ();
/* solib descriptors may have handles to objfiles. Since their /* solib descriptors may have handles to objfiles. Since their
@@ -2451,6 +2456,8 @@ reread_symbols (void) @@ -2454,6 +2459,8 @@ reread_symbols (void)
/* Discard cleanups as symbol reading was successful. */ /* Discard cleanups as symbol reading was successful. */
discard_cleanups (old_cleanups); discard_cleanups (old_cleanups);

912
power7-gdbserver.diff Normal file
View File

@ -0,0 +1,912 @@
2008-09-14 Thiago Jung Bauermann <bauerman@br.ibm.com>
gdb/
* features/Makefile (rs6000/powerpc-isa205-32l-expedite,
rs6000/powerpc-isa205-altivec32l-expedite,
powerpc-isa205-vsx32l-expedite, rs6000/powerpc-isa205-64l-expedite,
rs6000/powerpc-isa205-altivec64l-expedite,
powerpc-isa205-vsx64l-expedite): New variables.
* regformats/rs6000/powerpc-isa205-32l.dat: Generate.
* regformats/rs6000/powerpc-isa205-altivec32l.dat: Generate.
* regformats/rs6000/powerpc-isa205-vsx32l.dat: Generate.
* regformats/rs6000/powerpc-isa205-64l.dat: Generate.
* regformats/rs6000/powerpc-isa205-altivec64l.dat: Generate.
* regformats/rs6000/powerpc-isa205-vsx64l.dat: Generate.
gdbserver/
* Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
powerpc-isa205-64l.o, powerpc-isa205-64l.c,
powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
* configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
XML target descriptions.
* linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
when inferior is running on an ISA 2.05 or later processor. Add
special case to return offset for full 64-bit slot of FPSCR when
in 32-bits.
Index: gdb-6.8.50.20080904-cvs/gdb/features/Makefile
================================================================================
--- gdb-6.8.50.20080916-cvs/gdb/features/Makefile
+++ gdb-6.8.50.20080916-cvs/gdb/features/Makefile
@@ -44,11 +44,17 @@ rs6000/powerpc-32l-expedite = r1,pc
rs6000/powerpc-altivec32l-expedite = r1,pc
rs6000/powerpc-cell32l-expedite = r1,pc,r0,orig_r3,r4
rs6000/powerpc-vsx32l-expedite = r1,pc
+rs6000/powerpc-isa205-32l-expedite = r1,pc
+rs6000/powerpc-isa205-altivec32l-expedite = r1,pc
+rs6000/powerpc-isa205-vsx32l-expedite = r1,pc
rs6000/powerpc-e500l-expedite = r1,pc
rs6000/powerpc-64l-expedite = r1,pc
rs6000/powerpc-altivec64l-expedite = r1,pc
rs6000/powerpc-cell64l-expedite = r1,pc,r0,orig_r3,r4
rs6000/powerpc-vsx64l-expedite = r1,pc
+rs6000/powerpc-isa205-64l-expedite = r1,pc
+rs6000/powerpc-isa205-altivec64l-expedite = r1,pc
+rs6000/powerpc-isa205-vsx64l-expedite = r1,pc
XSLTPROC = xsltproc
--- gdb-6.8.50.20080916-cvs/gdb/gdbserver/Makefile.in
+++ gdb-6.8.50.20080916-cvs/gdb/gdbserver/Makefile.in
@@ -226,6 +226,9 @@ clean:
rm -f powerpc-32l.c powerpc-64l.c powerpc-e500l.c
rm -f powerpc-altivec32l.c powerpc-cell32l.c powerpc-vsx32l.c
rm -f powerpc-altivec64l.c powerpc-cell64l.c powerpc-vsx64l.c
+ rm -f powerpc-isa205-32l.c powerpc-isa205-64l.c
+ rm -f powerpc-isa205-vsx32l.c powerpc-isa205-altivec32l.c
+ rm -f powerpc-isa205-vsx64l.c powerpc-isa205-altivec64l.c
rm -f xml-builtin.c stamp-xml
maintainer-clean realclean distclean: clean
@@ -376,6 +379,15 @@ powerpc-cell32l.c : $(srcdir)/../regform
powerpc-vsx32l.o : powerpc-vsx32l.c $(regdef_h)
powerpc-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat powerpc-vsx32l.c
+powerpc-isa205-32l.o : powerpc-isa205-32l.c $(regdef_h)
+powerpc-isa205-32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat powerpc-isa205-32l.c
+powerpc-isa205-altivec32l.o : powerpc-isa205-altivec32l.c $(regdef_h)
+powerpc-isa205-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat powerpc-isa205-altivec32l.c
+powerpc-isa205-vsx32l.o : powerpc-isa205-vsx32l.c $(regdef_h)
+powerpc-isa205-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat powerpc-isa205-vsx32l.c
powerpc-e500l.o : powerpc-e500l.c $(regdef_h)
powerpc-e500l.c : $(srcdir)/../regformats/rs6000/powerpc-e500l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-e500l.dat powerpc-e500l.c
@@ -391,6 +403,15 @@ powerpc-cell64l.c : $(srcdir)/../regform
powerpc-vsx64l.o : powerpc-vsx64l.c $(regdef_h)
powerpc-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat powerpc-vsx64l.c
+powerpc-isa205-64l.o : powerpc-isa205-64l.c $(regdef_h)
+powerpc-isa205-64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat powerpc-isa205-64l.c
+powerpc-isa205-altivec64l.o : powerpc-isa205-altivec64l.c $(regdef_h)
+powerpc-isa205-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat powerpc-isa205-altivec64l.c
+powerpc-isa205-vsx64l.o : powerpc-isa205-vsx64l.c $(regdef_h)
+powerpc-isa205-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat powerpc-isa205-vsx64l.c
reg-s390.o : reg-s390.c $(regdef_h)
reg-s390.c : $(srcdir)/../regformats/reg-s390.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-s390.dat reg-s390.c
--- gdb-6.8.50.20080916-cvs/gdb/gdbserver/configure.srv
+++ gdb-6.8.50.20080916-cvs/gdb/gdbserver/configure.srv
@@ -104,27 +104,40 @@ case "${target}" in
srv_regobj="${srv_regobj} powerpc-altivec32l.o"
srv_regobj="${srv_regobj} powerpc-cell32l.o"
srv_regobj="${srv_regobj} powerpc-vsx32l.o"
+ srv_regobj="${srv_regobj} powerpc-isa205-32l.o"
+ srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o"
+ srv_regobj="${srv_regobj} powerpc-isa205-vsx32l.o"
srv_regobj="${srv_regobj} powerpc-e500l.o"
srv_regobj="${srv_regobj} powerpc-64l.o"
srv_regobj="${srv_regobj} powerpc-altivec64l.o"
srv_regobj="${srv_regobj} powerpc-cell64l.o"
srv_regobj="${srv_regobj} powerpc-vsx64l.o"
+ srv_regobj="${srv_regobj} powerpc-isa205-64l.o"
+ srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o"
+ srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o"
srv_tgtobj="linux-low.o linux-ppc-low.o"
srv_xmlfiles="rs6000/powerpc-32l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell32l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx32l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-altivec.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-vsx.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-isa205.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell64l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx64l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power64-linux.xml"
srv_linux_usrregs=yes
--- gdb-6.8.50.20080916-cvs/gdb/gdbserver/linux-ppc-low.c
+++ gdb-6.8.50.20080916-cvs/gdb/gdbserver/linux-ppc-low.c
@@ -29,6 +29,7 @@
#define PPC_FEATURE_HAS_ALTIVEC 0x10000000
#define PPC_FEATURE_HAS_SPE 0x00800000
#define PPC_FEATURE_CELL 0x00010000
+#define PPC_FEATURE_ARCH_2_05 0x00001000
static unsigned long ppc_hwcap;
@@ -41,6 +42,12 @@ void init_registers_powerpc_altivec32l (
void init_registers_powerpc_cell32l (void);
/* Defined in auto-generated file powerpc-vsx32l.c. */
void init_registers_powerpc_vsx32l (void);
+/* Defined in auto-generated file powerpc-isa205-32l.c. */
+void init_registers_powerpc_isa205_32l (void);
+/* Defined in auto-generated file powerpc-isa205-altivec32l.c. */
+void init_registers_powerpc_isa205_altivec32l (void);
+/* Defined in auto-generated file powerpc-isa205-vsx32l.c. */
+void init_registers_powerpc_isa205_vsx32l (void);
/* Defined in auto-generated file powerpc-e500l.c. */
void init_registers_powerpc_e500l (void);
/* Defined in auto-generated file powerpc-64l.c. */
@@ -51,6 +58,12 @@ void init_registers_powerpc_altivec64l (
void init_registers_powerpc_cell64l (void);
/* Defined in auto-generated file powerpc-vsx64l.c. */
void init_registers_powerpc_vsx64l (void);
+/* Defined in auto-generated file powerpc-isa205-64l.c. */
+void init_registers_powerpc_isa205_64l (void);
+/* Defined in auto-generated file powerpc-isa205-altivec64l.c. */
+void init_registers_powerpc_isa205_altivec64l (void);
+/* Defined in auto-generated file powerpc-isa205-vsx64l.c. */
+void init_registers_powerpc_isa205_vsx64l (void);
#define ppc_num_regs 73
@@ -337,9 +350,20 @@ ppc_arch_setup (void)
if (ppc_hwcap & PPC_FEATURE_CELL)
init_registers_powerpc_cell64l ();
else if (ppc_hwcap & PPC_FEATURE_HAS_VSX)
- init_registers_powerpc_vsx64l ();
+ {
+ if (ppc_hwcap & PPC_FEATURE_ARCH_2_05)
+ init_registers_powerpc_isa205_vsx64l ();
+ else
+ init_registers_powerpc_vsx64l ();
+ }
else if (ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC)
- init_registers_powerpc_altivec64l ();
+ {
+ if (ppc_hwcap & PPC_FEATURE_ARCH_2_05)
+ init_registers_powerpc_isa205_altivec64l ();
+ else
+ init_registers_powerpc_altivec64l ();
+ }
+
return;
}
#endif
@@ -351,9 +375,19 @@ ppc_arch_setup (void)
if (ppc_hwcap & PPC_FEATURE_CELL)
init_registers_powerpc_cell32l ();
else if (ppc_hwcap & PPC_FEATURE_HAS_VSX)
- init_registers_powerpc_vsx32l ();
+ {
+ if (ppc_hwcap & PPC_FEATURE_ARCH_2_05)
+ init_registers_powerpc_isa205_vsx32l ();
+ else
+ init_registers_powerpc_vsx32l ();
+ }
else if (ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC)
- init_registers_powerpc_altivec32l ();
+ {
+ if (ppc_hwcap & PPC_FEATURE_ARCH_2_05)
+ init_registers_powerpc_isa205_altivec32l ();
+ else
+ init_registers_powerpc_altivec32l ();
+ }
/* On 32-bit machines, check for SPE registers.
@@ -365,6 +399,12 @@ ppc_arch_setup (void)
init_registers_powerpc_e500l ();
the_low_target.regmap = ppc_regmap_e500;
}
+
+ /* If the FPSCR is 64-bit wide, we need to fetch the whole 64-bit
+ slot and not just its second word. The PT_FPSCR supplied in a
+ 32-bit GDB compilation doesn't reflect this. */
+ if (register_size (70) == 8)
+ ppc_regmap[70] = (48 + 2*32) * sizeof (long);
#endif
}
--- gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-32l.dat
+++ gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-32l.dat
@@ -0,0 +1,77 @@
+# DO NOT EDIT: generated from rs6000/powerpc-isa205-32l.xml
+name:powerpc_isa205_32l
+xmltarget:powerpc-isa205-32l.xml
+expedite:r1,pc
+32:r0
+32:r1
+32:r2
+32:r3
+32:r4
+32:r5
+32:r6
+32:r7
+32:r8
+32:r9
+32:r10
+32:r11
+32:r12
+32:r13
+32:r14
+32:r15
+32:r16
+32:r17
+32:r18
+32:r19
+32:r20
+32:r21
+32:r22
+32:r23
+32:r24
+32:r25
+32:r26
+32:r27
+32:r28
+32:r29
+32:r30
+32:r31
+64:f0
+64:f1
+64:f2
+64:f3
+64:f4
+64:f5
+64:f6
+64:f7
+64:f8
+64:f9
+64:f10
+64:f11
+64:f12
+64:f13
+64:f14
+64:f15
+64:f16
+64:f17
+64:f18
+64:f19
+64:f20
+64:f21
+64:f22
+64:f23
+64:f24
+64:f25
+64:f26
+64:f27
+64:f28
+64:f29
+64:f30
+64:f31
+32:pc
+32:msr
+32:cr
+32:lr
+32:ctr
+32:xer
+64:fpscr
+32:orig_r3
+32:trap
--- gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-64l.dat
+++ gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-64l.dat
@@ -0,0 +1,77 @@
+# DO NOT EDIT: generated from rs6000/powerpc-isa205-64l.xml
+name:powerpc_isa205_64l
+xmltarget:powerpc-isa205-64l.xml
+expedite:r1,pc
+64:r0
+64:r1
+64:r2
+64:r3
+64:r4
+64:r5
+64:r6
+64:r7
+64:r8
+64:r9
+64:r10
+64:r11
+64:r12
+64:r13
+64:r14
+64:r15
+64:r16
+64:r17
+64:r18
+64:r19
+64:r20
+64:r21
+64:r22
+64:r23
+64:r24
+64:r25
+64:r26
+64:r27
+64:r28
+64:r29
+64:r30
+64:r31
+64:f0
+64:f1
+64:f2
+64:f3
+64:f4
+64:f5
+64:f6
+64:f7
+64:f8
+64:f9
+64:f10
+64:f11
+64:f12
+64:f13
+64:f14
+64:f15
+64:f16
+64:f17
+64:f18
+64:f19
+64:f20
+64:f21
+64:f22
+64:f23
+64:f24
+64:f25
+64:f26
+64:f27
+64:f28
+64:f29
+64:f30
+64:f31
+64:pc
+64:msr
+32:cr
+64:lr
+64:ctr
+32:xer
+64:fpscr
+64:orig_r3
+64:trap
--- gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
+++ gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
@@ -0,0 +1,111 @@
+# DO NOT EDIT: generated from rs6000/powerpc-isa205-altivec32l.xml
+name:powerpc_isa205_altivec32l
+xmltarget:powerpc-isa205-altivec32l.xml
+expedite:r1,pc
+32:r0
+32:r1
+32:r2
+32:r3
+32:r4
+32:r5
+32:r6
+32:r7
+32:r8
+32:r9
+32:r10
+32:r11
+32:r12
+32:r13
+32:r14
+32:r15
+32:r16
+32:r17
+32:r18
+32:r19
+32:r20
+32:r21
+32:r22
+32:r23
+32:r24
+32:r25
+32:r26
+32:r27
+32:r28
+32:r29
+32:r30
+32:r31
+64:f0
+64:f1
+64:f2
+64:f3
+64:f4
+64:f5
+64:f6
+64:f7
+64:f8
+64:f9
+64:f10
+64:f11
+64:f12
+64:f13
+64:f14
+64:f15
+64:f16
+64:f17
+64:f18
+64:f19
+64:f20
+64:f21
+64:f22
+64:f23
+64:f24
+64:f25
+64:f26
+64:f27
+64:f28
+64:f29
+64:f30
+64:f31
+32:pc
+32:msr
+32:cr
+32:lr
+32:ctr
+32:xer
+64:fpscr
+32:orig_r3
+32:trap
+128:vr0
+128:vr1
+128:vr2
+128:vr3
+128:vr4
+128:vr5
+128:vr6
+128:vr7
+128:vr8
+128:vr9
+128:vr10
+128:vr11
+128:vr12
+128:vr13
+128:vr14
+128:vr15
+128:vr16
+128:vr17
+128:vr18
+128:vr19
+128:vr20
+128:vr21
+128:vr22
+128:vr23
+128:vr24
+128:vr25
+128:vr26
+128:vr27
+128:vr28
+128:vr29
+128:vr30
+128:vr31
+32:vscr
+32:vrsave
--- gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
+++ gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
@@ -0,0 +1,111 @@
+# DO NOT EDIT: generated from rs6000/powerpc-isa205-altivec64l.xml
+name:powerpc_isa205_altivec64l
+xmltarget:powerpc-isa205-altivec64l.xml
+expedite:r1,pc
+64:r0
+64:r1
+64:r2
+64:r3
+64:r4
+64:r5
+64:r6
+64:r7
+64:r8
+64:r9
+64:r10
+64:r11
+64:r12
+64:r13
+64:r14
+64:r15
+64:r16
+64:r17
+64:r18
+64:r19
+64:r20
+64:r21
+64:r22
+64:r23
+64:r24
+64:r25
+64:r26
+64:r27
+64:r28
+64:r29
+64:r30
+64:r31
+64:f0
+64:f1
+64:f2
+64:f3
+64:f4
+64:f5
+64:f6
+64:f7
+64:f8
+64:f9
+64:f10
+64:f11
+64:f12
+64:f13
+64:f14
+64:f15
+64:f16
+64:f17
+64:f18
+64:f19
+64:f20
+64:f21
+64:f22
+64:f23
+64:f24
+64:f25
+64:f26
+64:f27
+64:f28
+64:f29
+64:f30
+64:f31
+64:pc
+64:msr
+32:cr
+64:lr
+64:ctr
+32:xer
+64:fpscr
+64:orig_r3
+64:trap
+128:vr0
+128:vr1
+128:vr2
+128:vr3
+128:vr4
+128:vr5
+128:vr6
+128:vr7
+128:vr8
+128:vr9
+128:vr10
+128:vr11
+128:vr12
+128:vr13
+128:vr14
+128:vr15
+128:vr16
+128:vr17
+128:vr18
+128:vr19
+128:vr20
+128:vr21
+128:vr22
+128:vr23
+128:vr24
+128:vr25
+128:vr26
+128:vr27
+128:vr28
+128:vr29
+128:vr30
+128:vr31
+32:vscr
+32:vrsave
--- gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
+++ gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
@@ -0,0 +1,143 @@
+# DO NOT EDIT: generated from rs6000/powerpc-isa205-vsx32l.xml
+name:powerpc_isa205_vsx32l
+xmltarget:powerpc-isa205-vsx32l.xml
+expedite:r1,pc
+32:r0
+32:r1
+32:r2
+32:r3
+32:r4
+32:r5
+32:r6
+32:r7
+32:r8
+32:r9
+32:r10
+32:r11
+32:r12
+32:r13
+32:r14
+32:r15
+32:r16
+32:r17
+32:r18
+32:r19
+32:r20
+32:r21
+32:r22
+32:r23
+32:r24
+32:r25
+32:r26
+32:r27
+32:r28
+32:r29
+32:r30
+32:r31
+64:f0
+64:f1
+64:f2
+64:f3
+64:f4
+64:f5
+64:f6
+64:f7
+64:f8
+64:f9
+64:f10
+64:f11
+64:f12
+64:f13
+64:f14
+64:f15
+64:f16
+64:f17
+64:f18
+64:f19
+64:f20
+64:f21
+64:f22
+64:f23
+64:f24
+64:f25
+64:f26
+64:f27
+64:f28
+64:f29
+64:f30
+64:f31
+32:pc
+32:msr
+32:cr
+32:lr
+32:ctr
+32:xer
+64:fpscr
+32:orig_r3
+32:trap
+128:vr0
+128:vr1
+128:vr2
+128:vr3
+128:vr4
+128:vr5
+128:vr6
+128:vr7
+128:vr8
+128:vr9
+128:vr10
+128:vr11
+128:vr12
+128:vr13
+128:vr14
+128:vr15
+128:vr16
+128:vr17
+128:vr18
+128:vr19
+128:vr20
+128:vr21
+128:vr22
+128:vr23
+128:vr24
+128:vr25
+128:vr26
+128:vr27
+128:vr28
+128:vr29
+128:vr30
+128:vr31
+32:vscr
+32:vrsave
+64:vs0h
+64:vs1h
+64:vs2h
+64:vs3h
+64:vs4h
+64:vs5h
+64:vs6h
+64:vs7h
+64:vs8h
+64:vs9h
+64:vs10h
+64:vs11h
+64:vs12h
+64:vs13h
+64:vs14h
+64:vs15h
+64:vs16h
+64:vs17h
+64:vs18h
+64:vs19h
+64:vs20h
+64:vs21h
+64:vs22h
+64:vs23h
+64:vs24h
+64:vs25h
+64:vs26h
+64:vs27h
+64:vs28h
+64:vs29h
+64:vs30h
+64:vs31h
--- gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
+++ gdb-6.8.50.20080916-cvs/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
@@ -0,0 +1,143 @@
+# DO NOT EDIT: generated from rs6000/powerpc-isa205-vsx64l.xml
+name:powerpc_isa205_vsx64l
+xmltarget:powerpc-isa205-vsx64l.xml
+expedite:r1,pc
+64:r0
+64:r1
+64:r2
+64:r3
+64:r4
+64:r5
+64:r6
+64:r7
+64:r8
+64:r9
+64:r10
+64:r11
+64:r12
+64:r13
+64:r14
+64:r15
+64:r16
+64:r17
+64:r18
+64:r19
+64:r20
+64:r21
+64:r22
+64:r23
+64:r24
+64:r25
+64:r26
+64:r27
+64:r28
+64:r29
+64:r30
+64:r31
+64:f0
+64:f1
+64:f2
+64:f3
+64:f4
+64:f5
+64:f6
+64:f7
+64:f8
+64:f9
+64:f10
+64:f11
+64:f12
+64:f13
+64:f14
+64:f15
+64:f16
+64:f17
+64:f18
+64:f19
+64:f20
+64:f21
+64:f22
+64:f23
+64:f24
+64:f25
+64:f26
+64:f27
+64:f28
+64:f29
+64:f30
+64:f31
+64:pc
+64:msr
+32:cr
+64:lr
+64:ctr
+32:xer
+64:fpscr
+64:orig_r3
+64:trap
+128:vr0
+128:vr1
+128:vr2
+128:vr3
+128:vr4
+128:vr5
+128:vr6
+128:vr7
+128:vr8
+128:vr9
+128:vr10
+128:vr11
+128:vr12
+128:vr13
+128:vr14
+128:vr15
+128:vr16
+128:vr17
+128:vr18
+128:vr19
+128:vr20
+128:vr21
+128:vr22
+128:vr23
+128:vr24
+128:vr25
+128:vr26
+128:vr27
+128:vr28
+128:vr29
+128:vr30
+128:vr31
+32:vscr
+32:vrsave
+64:vs0h
+64:vs1h
+64:vs2h
+64:vs3h
+64:vs4h
+64:vs5h
+64:vs6h
+64:vs7h
+64:vs8h
+64:vs9h
+64:vs10h
+64:vs11h
+64:vs12h
+64:vs13h
+64:vs14h
+64:vs15h
+64:vs16h
+64:vs17h
+64:vs18h
+64:vs19h
+64:vs20h
+64:vs21h
+64:vs22h
+64:vs23h
+64:vs24h
+64:vs25h
+64:vs26h
+64:vs27h
+64:vs28h
+64:vs29h
+64:vs30h
+64:vs31h

1430
power7.diff Normal file

File diff suppressed because it is too large Load Diff