gdb/
* libunwind-frame.c: Rename to ... * ia64-libunwind-tdep.c: ... here. * libunwind-frame.h: Rename to ... * ia64-libunwind-tdep.h: ... here. * Makefile.in (HFILES_NO_SRCDIR): Rename libunwind-frame.h to ia64-libunwind-tdep.h. (ALLDEPFILES): Rename libunwind-frame.c to ia64-libunwind-tdep.c. * README (--with-libunwind): Rename to ... (--with-libunwind-ia64): ... here, note it is ia64 specific now. * config.in: Regenerate. * configure: Regenerate. * configure.ac: New option --with-libunwind-ia64, make the AS_HELP_STRING ia64 specific. Deprecate option --with-libunwind. Remove AC_DEFINE for HAVE_LIBUNWIND. * ia64-libunwind-tdep.c: Make the file top comment ia64 specific. Rename libunwind-frame.h #include to ia64-libunwind-tdep.h. Rename libunwind-frame in the general comment. * ia64-libunwind-tdep.h: Make the file top comment ia64 specific. Rename symbol LIBUNWIND_FRAME_H to IA64_TDEP_LIBUNWIND_FRAME_H. Move forward declarations inside #ifndef. Rename libunwind-frame in the general comment. * ia64-tdep.c: Rename libunwind-frame.h #include to ia64-libunwind-tdep.h. (ia64_gdb2uw_regnum, ia64_uw2gdb_regnum, ia64_is_fpreg) (ia64_libunwind_descr): Rename libunwind-frame to ia64-libunwind-tdep in these function comments. * ia64-tdep.h: Rename libunwind-frame.h #include to ia64-libunwind-tdep.h. * ia64-vms-tdep.c (ia64_vms_libunwind_descr): Rename libunwind-frame to ia64-libunwind-tdep in that data comment.
This commit is contained in:
parent
3755cbfddc
commit
05e7c24434
11 changed files with 143 additions and 81 deletions
|
@ -1,3 +1,36 @@
|
|||
2012-03-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* libunwind-frame.c: Rename to ...
|
||||
* ia64-libunwind-tdep.c: ... here.
|
||||
* libunwind-frame.h: Rename to ...
|
||||
* ia64-libunwind-tdep.h: ... here.
|
||||
* Makefile.in (HFILES_NO_SRCDIR): Rename libunwind-frame.h to
|
||||
ia64-libunwind-tdep.h.
|
||||
(ALLDEPFILES): Rename libunwind-frame.c to ia64-libunwind-tdep.c.
|
||||
* README (--with-libunwind): Rename to ...
|
||||
(--with-libunwind-ia64): ... here, note it is ia64 specific now.
|
||||
* config.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
* configure.ac: New option --with-libunwind-ia64, make the
|
||||
AS_HELP_STRING ia64 specific. Deprecate option --with-libunwind.
|
||||
Remove AC_DEFINE for HAVE_LIBUNWIND.
|
||||
* ia64-libunwind-tdep.c: Make the file top comment ia64 specific.
|
||||
Rename libunwind-frame.h #include to ia64-libunwind-tdep.h.
|
||||
Rename libunwind-frame in the general comment.
|
||||
* ia64-libunwind-tdep.h: Make the file top comment ia64 specific.
|
||||
Rename symbol LIBUNWIND_FRAME_H to IA64_TDEP_LIBUNWIND_FRAME_H.
|
||||
Move forward declarations inside #ifndef. Rename libunwind-frame in
|
||||
the general comment.
|
||||
* ia64-tdep.c: Rename libunwind-frame.h #include to
|
||||
ia64-libunwind-tdep.h.
|
||||
(ia64_gdb2uw_regnum, ia64_uw2gdb_regnum, ia64_is_fpreg)
|
||||
(ia64_libunwind_descr): Rename libunwind-frame to
|
||||
ia64-libunwind-tdep in these function comments.
|
||||
* ia64-tdep.h: Rename libunwind-frame.h #include to
|
||||
ia64-libunwind-tdep.h.
|
||||
* ia64-vms-tdep.c (ia64_vms_libunwind_descr): Rename libunwind-frame to
|
||||
ia64-libunwind-tdep in that data comment.
|
||||
|
||||
2012-03-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* libunwind-frame.h (struct frame_unwind): New declaration.
|
||||
|
|
|
@ -780,7 +780,7 @@ ser-unix.h inf-ptrace.h terminal.h ui-out.h frame-base.h \
|
|||
f-lang.h dwarf2loc.h value.h sparc-tdep.h defs.h target-descriptions.h \
|
||||
objfiles.h vec.h disasm.h mips-tdep.h ser-base.h \
|
||||
gdb_curses.h bfd-target.h memattr.h inferior.h ax.h dummy-frame.h \
|
||||
inflow.h fbsd-nat.h libunwind-frame.h completer.h inf-ttrace.h \
|
||||
inflow.h fbsd-nat.h ia64-libunwind-tdep.h completer.h inf-ttrace.h \
|
||||
solib-target.h gdb_vfork.h alpha-tdep.h dwarf2expr.h \
|
||||
m2-lang.h stack.h charset.h addrmap.h command.h solist.h source.h \
|
||||
target.h prologue-value.h cp-abi.h tui/tui-hooks.h tui/tui.h \
|
||||
|
@ -1463,7 +1463,7 @@ ALLDEPFILES = \
|
|||
ia64-linux-nat.c ia64-linux-tdep.c ia64-tdep.c ia64-vms-tdep.c \
|
||||
inf-ptrace.c inf-ttrace.c \
|
||||
irix5-nat.c \
|
||||
libunwind-frame.c \
|
||||
ia64-libunwind-tdep.c \
|
||||
linux-fork.c \
|
||||
linux-tdep.c \
|
||||
linux-record.c \
|
||||
|
|
|
@ -446,10 +446,10 @@ prefer; but you may abbreviate option names if you use `--'.
|
|||
Build GDB with the gdbtk GUI interface. Requires TCL/Tk to be
|
||||
installed.
|
||||
|
||||
`--with-libunwind'
|
||||
Use the libunwind library for unwinding function call stack. See
|
||||
http://www.nongnu.org/libunwind/index.html fro details.
|
||||
Supported only on some platforms.
|
||||
`--with-libunwind-ia64'
|
||||
Use the libunwind library for unwinding function call stack on ia64
|
||||
target platforms.
|
||||
See http://www.nongnu.org/libunwind/index.html for details.
|
||||
|
||||
`--with-curses'
|
||||
Use the curses library instead of the termcap library, for
|
||||
|
|
|
@ -239,9 +239,6 @@
|
|||
/* Define if Python 2.7 is being used. */
|
||||
#undef HAVE_LIBPYTHON2_7
|
||||
|
||||
/* Define if libunwind library is being used. */
|
||||
#undef HAVE_LIBUNWIND
|
||||
|
||||
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
|
||||
#undef HAVE_LIBUNWIND_IA64_H
|
||||
|
||||
|
|
72
gdb/configure
vendored
72
gdb/configure
vendored
|
@ -957,7 +957,7 @@ enable_gdbcli
|
|||
enable_gdbmi
|
||||
enable_tui
|
||||
enable_gdbtk
|
||||
with_libunwind
|
||||
with_libunwind_ia64
|
||||
with_curses
|
||||
enable_profiling
|
||||
with_pkgversion
|
||||
|
@ -1659,7 +1659,7 @@ Optional Packages:
|
|||
[DATADIR/gdb]
|
||||
--with-relocated-sources=PATH
|
||||
automatically relocate this path for source files
|
||||
--with-libunwind use libunwind frame unwinding support
|
||||
--with-libunwind-ia64 use libunwind frame unwinding for ia64 targets
|
||||
--with-curses use the curses library instead of the termcap
|
||||
library
|
||||
--with-pkgversion=PKG Use PKG in the version string in place of "GDB"
|
||||
|
@ -8196,37 +8196,51 @@ $as_echo "$as_me: WARNING: gdbtk isn't supported on $host; disabling" >&2;}
|
|||
enable_gdbtk=no ;;
|
||||
esac
|
||||
|
||||
# Libunwind support.
|
||||
# Libunwind support for ia64.
|
||||
|
||||
# Check whether --with-libunwind was given.
|
||||
if test "${with_libunwind+set}" = set; then :
|
||||
withval=$with_libunwind; case "${withval}" in
|
||||
yes) enable_libunwind=yes ;;
|
||||
no) enable_libunwind=no ;;
|
||||
*) as_fn_error "bad value ${withval} for GDB with-libunwind option" "$LINENO" 5 ;;
|
||||
esac
|
||||
|
||||
# Check whether --with-libunwind-ia64 was given.
|
||||
if test "${with_libunwind_ia64+set}" = set; then :
|
||||
withval=$with_libunwind_ia64;
|
||||
else
|
||||
|
||||
for ac_header in libunwind-ia64.h
|
||||
do :
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "libunwind-ia64.h" "ac_cv_header_libunwind_ia64_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_libunwind_ia64_h" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_LIBUNWIND_IA64_H 1
|
||||
_ACEOF
|
||||
|
||||
with_libunwind_ia64=auto
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
if test x"$ac_cv_header_libunwind_ia64_h" = xyes; then
|
||||
enable_libunwind=yes;
|
||||
# Backward compatibility option.
|
||||
if test "${with_libunwind+set}" = set; then
|
||||
if test x"$with_libunwind_ia64" != xauto; then
|
||||
as_fn_error "option --with-libunwind is deprecated, use --with-libunwind-ia64" "$LINENO" 5
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: option --with-libunwind is deprecated, use --with-libunwind-ia64" >&5
|
||||
$as_echo "$as_me: WARNING: option --with-libunwind is deprecated, use --with-libunwind-ia64" >&2;}
|
||||
with_libunwind_ia64="$with_libunwind"
|
||||
fi
|
||||
|
||||
case "$with_libunwind_ia64" in
|
||||
yes | no)
|
||||
;;
|
||||
auto)
|
||||
for ac_header in libunwind-ia64.h
|
||||
do :
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "libunwind-ia64.h" "ac_cv_header_libunwind_ia64_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_libunwind_ia64_h" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_LIBUNWIND_IA64_H 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
if test x"$enable_libunwind" = xyes; then
|
||||
with_libunwind_ia64=$ac_cv_header_libunwind_ia64_h
|
||||
;;
|
||||
*)
|
||||
as_fn_error "bad value $with_libunwind_ia64 for GDB --with-libunwind-ia64 option" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x"$with_libunwind_ia64" = xyes; then
|
||||
for ac_header in libunwind-ia64.h
|
||||
do :
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "libunwind-ia64.h" "ac_cv_header_libunwind_ia64_h" "$ac_includes_default"
|
||||
|
@ -8239,12 +8253,12 @@ fi
|
|||
|
||||
done
|
||||
|
||||
|
||||
$as_echo "#define HAVE_LIBUNWIND 1" >>confdefs.h
|
||||
|
||||
CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
|
||||
CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
|
||||
CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
|
||||
if test x"$ac_cv_header_libunwind_ia64_h" != xyes; then
|
||||
as_fn_error "GDB option --with-libunwind-ia64 requires libunwind-ia64.h" "$LINENO" 5
|
||||
fi
|
||||
CONFIG_OBS="$CONFIG_OBS ia64-libunwind-tdep.o"
|
||||
CONFIG_DEPS="$CONFIG_DEPS ia64-libunwind-tdep.o"
|
||||
CONFIG_SRCS="$CONFIG_SRCS ia64-libunwind-tdep.c"
|
||||
fi
|
||||
|
||||
opt_curses=no
|
||||
|
|
|
@ -328,26 +328,44 @@ case $host_os in
|
|||
enable_gdbtk=no ;;
|
||||
esac
|
||||
|
||||
# Libunwind support.
|
||||
AC_ARG_WITH(libunwind,
|
||||
AS_HELP_STRING([--with-libunwind], [use libunwind frame unwinding support]),
|
||||
[case "${withval}" in
|
||||
yes) enable_libunwind=yes ;;
|
||||
no) enable_libunwind=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
|
||||
esac],[
|
||||
AC_CHECK_HEADERS(libunwind-ia64.h)
|
||||
if test x"$ac_cv_header_libunwind_ia64_h" = xyes; then
|
||||
enable_libunwind=yes;
|
||||
fi
|
||||
])
|
||||
# Libunwind support for ia64.
|
||||
|
||||
if test x"$enable_libunwind" = xyes; then
|
||||
AC_ARG_WITH(libunwind-ia64,
|
||||
AS_HELP_STRING([--with-libunwind-ia64],
|
||||
[use libunwind frame unwinding for ia64 targets]),,
|
||||
[with_libunwind_ia64=auto])
|
||||
|
||||
# Backward compatibility option.
|
||||
if test "${with_libunwind+set}" = set; then
|
||||
if test x"$with_libunwind_ia64" != xauto; then
|
||||
AC_MSG_ERROR(
|
||||
[option --with-libunwind is deprecated, use --with-libunwind-ia64])
|
||||
fi
|
||||
AC_MSG_WARN([option --with-libunwind is deprecated, use --with-libunwind-ia64])
|
||||
with_libunwind_ia64="$with_libunwind"
|
||||
fi
|
||||
|
||||
case "$with_libunwind_ia64" in
|
||||
yes | no)
|
||||
;;
|
||||
auto)
|
||||
AC_CHECK_HEADERS(libunwind-ia64.h)
|
||||
with_libunwind_ia64=$ac_cv_header_libunwind_ia64_h
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(
|
||||
[bad value $with_libunwind_ia64 for GDB --with-libunwind-ia64 option])
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x"$with_libunwind_ia64" = xyes; then
|
||||
AC_CHECK_HEADERS(libunwind-ia64.h)
|
||||
AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if libunwind library is being used.])
|
||||
CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
|
||||
CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
|
||||
CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
|
||||
if test x"$ac_cv_header_libunwind_ia64_h" != xyes; then
|
||||
AC_MSG_ERROR([GDB option --with-libunwind-ia64 requires libunwind-ia64.h])
|
||||
fi
|
||||
CONFIG_OBS="$CONFIG_OBS ia64-libunwind-tdep.o"
|
||||
CONFIG_DEPS="$CONFIG_DEPS ia64-libunwind-tdep.o"
|
||||
CONFIG_SRCS="$CONFIG_SRCS ia64-libunwind-tdep.c"
|
||||
fi
|
||||
|
||||
opt_curses=no
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Frame unwinder for frames using the libunwind library.
|
||||
/* Frame unwinder for ia64 frames using the libunwind library.
|
||||
|
||||
Copyright (C) 2003-2004, 2006-2012 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -36,12 +36,12 @@
|
|||
#include "gdb_assert.h"
|
||||
#include "gdb_string.h"
|
||||
|
||||
#include "libunwind-frame.h"
|
||||
#include "ia64-libunwind-tdep.h"
|
||||
|
||||
#include "complaints.h"
|
||||
|
||||
/* IA-64 is the only target that currently uses libunwind-frame. Note
|
||||
how UNW_TARGET, UNW_OBJ, etc. are compile time constants below.
|
||||
/* IA-64 is the only target that currently uses ia64-libunwind-tdep.
|
||||
Note how UNW_TARGET, UNW_OBJ, etc. are compile time constants below.
|
||||
Those come from libunwind's headers, and are target dependent.
|
||||
Also, some of libunwind's typedefs are target dependent, as e.g.,
|
||||
unw_word_t. If some other target wants to use this, we will need
|
|
@ -1,4 +1,4 @@
|
|||
/* Frame unwinder for frames with libunwind frame information.
|
||||
/* Frame unwinder for ia64 frames with libunwind frame information.
|
||||
|
||||
Copyright (C) 2003, 2006-2012 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -19,21 +19,21 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IA64_LIBUNWIND_TDEP_H
|
||||
#define IA64_LIBUNWIND_TDEP_H 1
|
||||
|
||||
struct frame_info;
|
||||
struct frame_id;
|
||||
struct regcache;
|
||||
struct gdbarch;
|
||||
struct frame_unwind;
|
||||
|
||||
#ifndef LIBUNWIND_FRAME_H
|
||||
#define LIBUNWIND_FRAME_H 1
|
||||
|
||||
/* IA-64 is the only target that currently uses libunwind. If some
|
||||
other target wants to use it, we will need to do some abstracting
|
||||
in order to make it possible to have more than one libunwind-frame
|
||||
instance. Including "libunwind.h" is wrong as that ends up
|
||||
including the libunwind-$(arch).h for the host gdb is running
|
||||
on. */
|
||||
in order to make it possible to have more than one
|
||||
ia64-libunwind-tdep instance. Including "libunwind.h" is wrong as
|
||||
that ends up including the libunwind-$(arch).h for the host gdb is
|
||||
running on. */
|
||||
#include "libunwind-ia64.h"
|
||||
|
||||
struct libunwind_descr
|
||||
|
@ -74,4 +74,4 @@ int libunwind_get_reg_special (struct gdbarch *gdbarch,
|
|||
struct regcache *regcache,
|
||||
int regnum, void *buf);
|
||||
|
||||
#endif /* libunwind-frame.h */
|
||||
#endif /* IA64_LIBUNWIND_TDEP_H */
|
|
@ -42,7 +42,7 @@
|
|||
|
||||
#ifdef HAVE_LIBUNWIND_IA64_H
|
||||
#include "elf/ia64.h" /* for PT_IA_64_UNWIND value */
|
||||
#include "libunwind-frame.h"
|
||||
#include "ia64-libunwind-tdep.h"
|
||||
|
||||
/* Note: KERNEL_START is supposed to be an address which is not going
|
||||
to ever contain any valid unwind info. For ia64 linux, the choice
|
||||
|
@ -2417,8 +2417,8 @@ ia64_rse_skip_regs (uint64_t addr, long num_regs)
|
|||
return addr + ((num_regs + delta/0x3f) << 3);
|
||||
}
|
||||
|
||||
/* Gdb libunwind-frame callback function to convert from an ia64 gdb register
|
||||
number to a libunwind register number. */
|
||||
/* Gdb ia64-libunwind-tdep callback function to convert from an ia64 gdb
|
||||
register number to a libunwind register number. */
|
||||
static int
|
||||
ia64_gdb2uw_regnum (int regnum)
|
||||
{
|
||||
|
@ -2450,8 +2450,8 @@ ia64_gdb2uw_regnum (int regnum)
|
|||
return -1;
|
||||
}
|
||||
|
||||
/* Gdb libunwind-frame callback function to convert from a libunwind register
|
||||
number to a ia64 gdb register number. */
|
||||
/* Gdb ia64-libunwind-tdep callback function to convert from a libunwind
|
||||
register number to a ia64 gdb register number. */
|
||||
static int
|
||||
ia64_uw2gdb_regnum (int uw_regnum)
|
||||
{
|
||||
|
@ -2481,8 +2481,8 @@ ia64_uw2gdb_regnum (int uw_regnum)
|
|||
return -1;
|
||||
}
|
||||
|
||||
/* Gdb libunwind-frame callback function to reveal if register is a float
|
||||
register or not. */
|
||||
/* Gdb ia64-libunwind-tdep callback function to reveal if register is
|
||||
a float register or not. */
|
||||
static int
|
||||
ia64_is_fpreg (int uw_regnum)
|
||||
{
|
||||
|
@ -3176,8 +3176,8 @@ unw_accessors_t ia64_unw_rse_accessors =
|
|||
/* get_proc_name */
|
||||
};
|
||||
|
||||
/* Set of ia64 gdb libunwind-frame callbacks and data for generic
|
||||
libunwind-frame code to use. */
|
||||
/* Set of ia64-libunwind-tdep gdb callbacks and data for generic
|
||||
ia64-libunwind-tdep code to use. */
|
||||
struct libunwind_descr ia64_libunwind_descr =
|
||||
{
|
||||
ia64_gdb2uw_regnum,
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#ifdef HAVE_LIBUNWIND_IA64_H
|
||||
#include "libunwind-ia64.h"
|
||||
#include "libunwind-frame.h"
|
||||
#include "ia64-libunwind-tdep.h"
|
||||
#endif
|
||||
|
||||
/* Register numbers of various important registers. */
|
||||
|
|
|
@ -123,8 +123,8 @@ ia64_vms_get_dyn_info_list (unw_addr_space_t as,
|
|||
static unw_accessors_t ia64_vms_unw_accessors;
|
||||
static unw_accessors_t ia64_vms_unw_rse_accessors;
|
||||
|
||||
/* Set of ia64 gdb libunwind-frame callbacks and data for generic
|
||||
libunwind-frame code to use. */
|
||||
/* Set of ia64-libunwind-tdep gdb callbacks and data for generic
|
||||
ia64-libunwind-tdep code to use. */
|
||||
static struct libunwind_descr ia64_vms_libunwind_descr;
|
||||
|
||||
#endif /* HAVE_LIBUNWIND_IA64_H */
|
||||
|
|
Loading…
Add table
Reference in a new issue