* acconfig.h (HAVE_PREAD64): Add.
* configure.in: Check for pread64. * config.in: Regenerated. * configure: Regenerated. * lin-lwp.c (lin_lwp_xfer_memory): Call linux_proc_xfer_memory. * linux-proc.c (linux_proc_xfer_memory): New function. * config/nm-linux.h (linux_proc_xfer_memory): Add prototype.
This commit is contained in:
parent
afbfa4076a
commit
eb78484829
8 changed files with 193 additions and 67 deletions
|
@ -1,3 +1,13 @@
|
|||
2002-11-25 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* acconfig.h (HAVE_PREAD64): Add.
|
||||
* configure.in: Check for pread64.
|
||||
* config.in: Regenerated.
|
||||
* configure: Regenerated.
|
||||
* lin-lwp.c (lin_lwp_xfer_memory): Call linux_proc_xfer_memory.
|
||||
* linux-proc.c (linux_proc_xfer_memory): New function.
|
||||
* config/nm-linux.h (linux_proc_xfer_memory): Add prototype.
|
||||
|
||||
2002-11-25 David Carlton <carlton@math.stanford.edu>
|
||||
|
||||
* dwarf2read.c (scan_partial_symbols): Descend into namespace
|
||||
|
|
|
@ -49,6 +49,9 @@
|
|||
/* Define if <sys/procfs.h> has pr_siginfo64_t */
|
||||
#undef HAVE_PR_SIGINFO64_T
|
||||
|
||||
/* Define if the pread64 function is available. */
|
||||
#undef HAVE_PREAD64
|
||||
|
||||
/* Define if <link.h> exists and defines struct link_map which has
|
||||
members with an ``l_'' prefix. (For Solaris, SVR4, and
|
||||
SVR4-like systems.) */
|
||||
|
|
|
@ -80,6 +80,9 @@
|
|||
/* Define if your struct reg has r_gs. */
|
||||
#undef HAVE_STRUCT_REG_R_GS
|
||||
|
||||
/* Define if the pread64 function is available. */
|
||||
#undef HAVE_PREAD64
|
||||
|
||||
/* Define if <link.h> exists and defines struct link_map which has
|
||||
members with an ``l_'' prefix. (For Solaris, SVR4, and
|
||||
SVR4-like systems.) */
|
||||
|
@ -517,3 +520,12 @@
|
|||
/* Define if <thread_db.h> has the TD_NOTALLOC error code. */
|
||||
#undef THREAD_DB_HAS_TD_NOTALLOC
|
||||
|
||||
/* Define to be a string naming the default host character set. */
|
||||
#undef GDB_DEFAULT_HOST_CHARSET
|
||||
|
||||
/* Define if you have the iconv() function. */
|
||||
#undef HAVE_ICONV
|
||||
|
||||
/* Define as const if the declaration of iconv() needs const. */
|
||||
#undef ICONV_CONST
|
||||
|
||||
|
|
|
@ -71,4 +71,7 @@ extern void lin_thread_get_thread_signals (sigset_t *mask);
|
|||
/* Override child_pid_to_exec_file in 'inftarg.c'. */
|
||||
#define CHILD_PID_TO_EXEC_FILE
|
||||
|
||||
|
||||
struct mem_attrib;
|
||||
extern int linux_proc_xfer_memory (CORE_ADDR addr, char *myaddr, int len,
|
||||
int write, struct mem_attrib *attrib,
|
||||
struct target_ops *target);
|
||||
|
|
160
gdb/configure
vendored
160
gdb/configure
vendored
|
@ -6583,6 +6583,36 @@ EOF
|
|||
|
||||
fi
|
||||
|
||||
if test $host = $target; then
|
||||
case $target in
|
||||
*-linux*)
|
||||
save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_LARGEFILE64_SOURCE"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6593 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
int main() {
|
||||
pread64 (0, NULL, 0, 0);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ENABLE_CFLAGS="$ENABLE_CFLAGS -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_LARGEFILE64_SOURCE"
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_PREAD64 1
|
||||
EOF
|
||||
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
fi
|
||||
rm -f conftest*
|
||||
CFLAGS=$save_CFLAGS
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-gdbcli or --disable-gdbcli was given.
|
||||
if test "${enable_gdbcli+set}" = set; then
|
||||
|
@ -6774,7 +6804,7 @@ WERROR_CFLAGS=""
|
|||
if test "x${build_warnings}" != x -a "x$GCC" = xyes
|
||||
then
|
||||
echo $ac_n "checking compiler warning flags""... $ac_c" 1>&6
|
||||
echo "configure:6778: checking compiler warning flags" >&5
|
||||
echo "configure:6808: checking compiler warning flags" >&5
|
||||
# Separate out the -Werror flag as some files just cannot be
|
||||
# compiled with it enabled.
|
||||
for w in ${build_warnings}; do
|
||||
|
@ -6784,14 +6814,14 @@ echo "configure:6778: checking compiler warning flags" >&5
|
|||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $w"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6788 "configure"
|
||||
#line 6818 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6795: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:6825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
WARN_CFLAGS="${WARN_CFLAGS} $w"
|
||||
else
|
||||
|
@ -6851,12 +6881,12 @@ fi
|
|||
|
||||
if test $want_included_regex = false; then
|
||||
echo $ac_n "checking for GNU regex""... $ac_c" 1>&6
|
||||
echo "configure:6855: checking for GNU regex" >&5
|
||||
echo "configure:6885: checking for GNU regex" >&5
|
||||
if eval "test \"`echo '$''{'gdb_cv_have_gnu_regex'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6860 "configure"
|
||||
#line 6890 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <gnu-versions.h>
|
||||
#include <sys/types.h>
|
||||
|
@ -6868,7 +6898,7 @@ int main() {
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:6902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
gdb_cv_have_gnu_regex=yes
|
||||
else
|
||||
|
@ -6897,12 +6927,12 @@ fi
|
|||
|
||||
# In the Cygwin environment, we need some additional flags.
|
||||
echo $ac_n "checking for cygwin""... $ac_c" 1>&6
|
||||
echo "configure:6901: checking for cygwin" >&5
|
||||
echo "configure:6931: checking for cygwin" >&5
|
||||
if eval "test \"`echo '$''{'gdb_cv_os_cygwin'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6906 "configure"
|
||||
#line 6936 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
|
||||
|
@ -6940,7 +6970,7 @@ if test x$gdb_cv_os_cygwin = xyes; then
|
|||
else
|
||||
TERM_LIB=
|
||||
echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
|
||||
echo "configure:6944: checking for tgetent in -lncurses" >&5
|
||||
echo "configure:6974: checking for tgetent in -lncurses" >&5
|
||||
ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -6948,7 +6978,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lncurses $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6952 "configure"
|
||||
#line 6982 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -6959,7 +6989,7 @@ int main() {
|
|||
tgetent()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -6978,7 +7008,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
|||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
echo $ac_n "checking for tgetent in -lHcurses""... $ac_c" 1>&6
|
||||
echo "configure:6982: checking for tgetent in -lHcurses" >&5
|
||||
echo "configure:7012: checking for tgetent in -lHcurses" >&5
|
||||
ac_lib_var=`echo Hcurses'_'tgetent | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -6986,7 +7016,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lHcurses $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6990 "configure"
|
||||
#line 7020 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -6997,7 +7027,7 @@ int main() {
|
|||
tgetent()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7016,7 +7046,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
|||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
echo $ac_n "checking for tgetent in -ltermlib""... $ac_c" 1>&6
|
||||
echo "configure:7020: checking for tgetent in -ltermlib" >&5
|
||||
echo "configure:7050: checking for tgetent in -ltermlib" >&5
|
||||
ac_lib_var=`echo termlib'_'tgetent | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -7024,7 +7054,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ltermlib $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7028 "configure"
|
||||
#line 7058 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7035,7 +7065,7 @@ int main() {
|
|||
tgetent()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7054,7 +7084,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
|||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
|
||||
echo "configure:7058: checking for tgetent in -ltermcap" >&5
|
||||
echo "configure:7088: checking for tgetent in -ltermcap" >&5
|
||||
ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -7062,7 +7092,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ltermcap $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7066 "configure"
|
||||
#line 7096 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7073,7 +7103,7 @@ int main() {
|
|||
tgetent()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7092,7 +7122,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
|||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6
|
||||
echo "configure:7096: checking for tgetent in -lcurses" >&5
|
||||
echo "configure:7126: checking for tgetent in -lcurses" >&5
|
||||
ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -7100,7 +7130,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lcurses $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7104 "configure"
|
||||
#line 7134 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7111,7 +7141,7 @@ int main() {
|
|||
tgetent()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7130,7 +7160,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
|||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
echo $ac_n "checking for tgetent in -lterminfo""... $ac_c" 1>&6
|
||||
echo "configure:7134: checking for tgetent in -lterminfo" >&5
|
||||
echo "configure:7164: checking for tgetent in -lterminfo" >&5
|
||||
ac_lib_var=`echo terminfo'_'tgetent | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -7138,7 +7168,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lterminfo $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7142 "configure"
|
||||
#line 7172 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7149,7 +7179,7 @@ int main() {
|
|||
tgetent()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -7314,7 +7344,7 @@ if test "${with_tclconfig+set}" = set; then
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6
|
||||
echo "configure:7318: checking for Tcl configuration" >&5
|
||||
echo "configure:7348: checking for Tcl configuration" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7422,7 +7452,7 @@ if test "${with_tkconfig+set}" = set; then
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Tk configuration""... $ac_c" 1>&6
|
||||
echo "configure:7426: checking for Tk configuration" >&5
|
||||
echo "configure:7456: checking for Tk configuration" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_tkconfig'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7531,7 +7561,7 @@ fi
|
|||
|
||||
no_tcl=true
|
||||
echo $ac_n "checking for Tcl private headers. dir=${configdir}""... $ac_c" 1>&6
|
||||
echo "configure:7535: checking for Tcl private headers. dir=${configdir}" >&5
|
||||
echo "configure:7565: checking for Tcl private headers. dir=${configdir}" >&5
|
||||
# Check whether --with-tclinclude or --without-tclinclude was given.
|
||||
if test "${with_tclinclude+set}" = set; then
|
||||
withval="$with_tclinclude"
|
||||
|
@ -7597,17 +7627,17 @@ fi
|
|||
if test x"${ac_cv_c_tclh}" = x ; then
|
||||
ac_safe=`echo "tclInt.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for tclInt.h""... $ac_c" 1>&6
|
||||
echo "configure:7601: checking for tclInt.h" >&5
|
||||
echo "configure:7631: checking for tclInt.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7606 "configure"
|
||||
#line 7636 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <tclInt.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:7611: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:7641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -7667,7 +7697,7 @@ fi
|
|||
#
|
||||
no_tk=true
|
||||
echo $ac_n "checking for Tk private headers""... $ac_c" 1>&6
|
||||
echo "configure:7671: checking for Tk private headers" >&5
|
||||
echo "configure:7701: checking for Tk private headers" >&5
|
||||
# Check whether --with-tkinclude or --without-tkinclude was given.
|
||||
if test "${with_tkinclude+set}" = set; then
|
||||
withval="$with_tkinclude"
|
||||
|
@ -7733,17 +7763,17 @@ fi
|
|||
if test x"${ac_cv_c_tkh}" = x ; then
|
||||
ac_safe=`echo "tk.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for tk.h""... $ac_c" 1>&6
|
||||
echo "configure:7737: checking for tk.h" >&5
|
||||
echo "configure:7767: checking for tk.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7742 "configure"
|
||||
#line 7772 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <tk.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:7747: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:7777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -7789,7 +7819,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for Itcl private headers. srcdir=${srcdir}""... $ac_c" 1>&6
|
||||
echo "configure:7793: checking for Itcl private headers. srcdir=${srcdir}" >&5
|
||||
echo "configure:7823: checking for Itcl private headers. srcdir=${srcdir}" >&5
|
||||
if test x"${ac_cv_c_itclh}" = x ; then
|
||||
for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do
|
||||
if test -f $i/generic/itcl.h ; then
|
||||
|
@ -7812,7 +7842,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for Itk private headers. srcdir=${srcdir}""... $ac_c" 1>&6
|
||||
echo "configure:7816: checking for Itk private headers. srcdir=${srcdir}" >&5
|
||||
echo "configure:7846: checking for Itk private headers. srcdir=${srcdir}" >&5
|
||||
if test x"${ac_cv_c_itkh}" = x ; then
|
||||
for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do
|
||||
if test -f $i/generic/itk.h ; then
|
||||
|
@ -7835,7 +7865,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for Tix private headers. srcdir=${srcdir}""... $ac_c" 1>&6
|
||||
echo "configure:7839: checking for Tix private headers. srcdir=${srcdir}" >&5
|
||||
echo "configure:7869: checking for Tix private headers. srcdir=${srcdir}" >&5
|
||||
if test x"${ac_cv_c_tixh}" = x ; then
|
||||
for i in ${srcdir}/../tix ${srcdir}/../../tix ${srcdir}/../../../tix ; do
|
||||
if test -f $i/generic/tix.h ; then
|
||||
|
@ -7887,7 +7917,7 @@ if test "${with_itclconfig+set}" = set; then
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Itcl configuration""... $ac_c" 1>&6
|
||||
echo "configure:7891: checking for Itcl configuration" >&5
|
||||
echo "configure:7921: checking for Itcl configuration" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_itclconfig'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7990,7 +8020,7 @@ if test "${with_itkconfig+set}" = set; then
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Itk configuration""... $ac_c" 1>&6
|
||||
echo "configure:7994: checking for Itk configuration" >&5
|
||||
echo "configure:8024: checking for Itk configuration" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_itkconfig'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8093,7 +8123,7 @@ if test "${with_tixconfig+set}" = set; then
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Tix configuration""... $ac_c" 1>&6
|
||||
echo "configure:8097: checking for Tix configuration" >&5
|
||||
echo "configure:8127: checking for Tix configuration" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_tixconfig'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8239,7 +8269,7 @@ fi
|
|||
# Uses ac_ vars as temps to allow command line to override cache and checks.
|
||||
# --without-x overrides everything else, but does not touch the cache.
|
||||
echo $ac_n "checking for X""... $ac_c" 1>&6
|
||||
echo "configure:8243: checking for X" >&5
|
||||
echo "configure:8273: checking for X" >&5
|
||||
|
||||
# Check whether --with-x or --without-x was given.
|
||||
if test "${with_x+set}" = set; then
|
||||
|
@ -8301,12 +8331,12 @@ if test "$ac_x_includes" = NO; then
|
|||
|
||||
# First, try using that file with no special directory specified.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 8305 "configure"
|
||||
#line 8335 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$x_direct_test_include>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:8310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:8340: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -8375,14 +8405,14 @@ if test "$ac_x_libraries" = NO; then
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-l$x_direct_test_library $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 8379 "configure"
|
||||
#line 8409 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
${x_direct_test_function}()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:8386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:8416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
LIBS="$ac_save_LIBS"
|
||||
# We can link X programs with no special library path.
|
||||
|
@ -8674,7 +8704,7 @@ fi
|
|||
# ``gdbserver'' can only be built in a native configuration.
|
||||
if test x"${target}" = x"${host}"; then
|
||||
echo $ac_n "checking whether gdbserver is supported on this host""... $ac_c" 1>&6
|
||||
echo "configure:8678: checking whether gdbserver is supported on this host" >&5
|
||||
echo "configure:8708: checking whether gdbserver is supported on this host" >&5
|
||||
if test x"${build_gdbserver}" = xyes ; then
|
||||
configdirs="${configdirs} gdbserver"
|
||||
SUBDIRS="${SUBDIRS} gdbserver"
|
||||
|
@ -8736,7 +8766,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
||||
echo "configure:8740: checking whether ln -s works" >&5
|
||||
echo "configure:8770: checking whether ln -s works" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8760,12 +8790,12 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
|
||||
echo "configure:8764: checking for Cygwin environment" >&5
|
||||
echo "configure:8794: checking for Cygwin environment" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 8769 "configure"
|
||||
#line 8799 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
|
@ -8776,7 +8806,7 @@ int main() {
|
|||
return __CYGWIN__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:8780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:8810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_cygwin=yes
|
||||
else
|
||||
|
@ -8793,19 +8823,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
|
|||
CYGWIN=
|
||||
test "$ac_cv_cygwin" = yes && CYGWIN=yes
|
||||
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
|
||||
echo "configure:8797: checking for mingw32 environment" >&5
|
||||
echo "configure:8827: checking for mingw32 environment" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 8802 "configure"
|
||||
#line 8832 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return __MINGW32__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:8809: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:8839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_mingw32=yes
|
||||
else
|
||||
|
@ -8824,7 +8854,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
|
|||
|
||||
|
||||
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
|
||||
echo "configure:8828: checking for executable suffix" >&5
|
||||
echo "configure:8858: checking for executable suffix" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8834,7 +8864,7 @@ else
|
|||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_exeext=
|
||||
if { (eval echo configure:8838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||
if { (eval echo configure:8868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||
for file in conftest.*; do
|
||||
case $file in
|
||||
*.c | *.o | *.obj | *.ilk | *.pdb) ;;
|
||||
|
@ -8876,7 +8906,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for iconv""... $ac_c" 1>&6
|
||||
echo "configure:8880: checking for iconv" >&5
|
||||
echo "configure:8910: checking for iconv" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8884,7 +8914,7 @@ else
|
|||
am_cv_func_iconv="no, consider installing GNU libiconv"
|
||||
am_cv_lib_iconv=no
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 8888 "configure"
|
||||
#line 8918 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
#include <iconv.h>
|
||||
|
@ -8894,7 +8924,7 @@ iconv_t cd = iconv_open("","");
|
|||
iconv_close(cd);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:8898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:8928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_func_iconv=yes
|
||||
else
|
||||
|
@ -8906,7 +8936,7 @@ rm -f conftest*
|
|||
am_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -liconv"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 8910 "configure"
|
||||
#line 8940 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
#include <iconv.h>
|
||||
|
@ -8916,7 +8946,7 @@ iconv_t cd = iconv_open("","");
|
|||
iconv_close(cd);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:8920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:8950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_lib_iconv=yes
|
||||
am_cv_func_iconv=yes
|
||||
|
@ -8937,13 +8967,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6
|
|||
EOF
|
||||
|
||||
echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
|
||||
echo "configure:8941: checking for iconv declaration" >&5
|
||||
echo "configure:8971: checking for iconv declaration" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 8947 "configure"
|
||||
#line 8977 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
@ -8962,7 +8992,7 @@ int main() {
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:8966: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:8996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
am_cv_proto_iconv_arg1=""
|
||||
else
|
||||
|
|
|
@ -617,6 +617,23 @@ if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
|
|||
[Define if <thread_db.h> has the TD_NOTALLOC error code.])
|
||||
fi
|
||||
|
||||
dnl linux-proc.c wants to use pread64, which may require special CFLAGS
|
||||
dnl -D_BSD_SOURCE is normally assumed but we have to specify it because of
|
||||
dnl -D_XOPEN_SOURCE=500.
|
||||
if test $host = $target; then
|
||||
case $target in
|
||||
*-linux*)
|
||||
save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_LARGEFILE64_SOURCE"
|
||||
AC_TRY_LINK([#include <unistd.h>],
|
||||
[pread64 (0, NULL, 0, 0);],
|
||||
[ENABLE_CFLAGS="$ENABLE_CFLAGS -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_LARGEFILE64_SOURCE"
|
||||
AC_DEFINE(HAVE_PREAD64)], [])
|
||||
CFLAGS=$save_CFLAGS
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
dnl The CLI cannot be disabled yet, but may be in the future
|
||||
|
||||
dnl Handle CLI sub-directory configury.
|
||||
|
|
|
@ -1380,6 +1380,8 @@ lin_lwp_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
|
|||
if (is_lwp (inferior_ptid))
|
||||
inferior_ptid = pid_to_ptid (GET_LWP (inferior_ptid));
|
||||
|
||||
xfer = linux_proc_xfer_memory (memaddr, myaddr, len, write, attrib, target);
|
||||
if (xfer == 0)
|
||||
xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target);
|
||||
|
||||
do_cleanups (old_chain);
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <sys/procfs.h> /* for elf_gregset etc. */
|
||||
#include <sys/stat.h> /* for struct stat */
|
||||
#include <ctype.h> /* for isdigit */
|
||||
#include <unistd.h> /* for open, pread64 */
|
||||
#include <fcntl.h> /* for O_RDONLY */
|
||||
#include "regcache.h" /* for registers_changed */
|
||||
#include "gregset.h" /* for gregset */
|
||||
#include "gdbcore.h" /* for get_exec_file */
|
||||
|
@ -33,6 +35,10 @@
|
|||
#include "cli/cli-decode.h" /* for add_info */
|
||||
#include "gdb_string.h"
|
||||
|
||||
#ifndef O_LARGEFILE
|
||||
#define O_LARGEFILE 0
|
||||
#endif
|
||||
|
||||
/* Function: child_pid_to_exec_file
|
||||
*
|
||||
* Accepts an integer pid
|
||||
|
@ -577,3 +583,46 @@ Specify any of the following keywords for detailed info:\n\
|
|||
status -- list a different bunch of random process info.\n\
|
||||
all -- list all available /proc info.");
|
||||
}
|
||||
|
||||
int linux_proc_xfer_memory (CORE_ADDR addr, char *myaddr, int len, int write,
|
||||
struct mem_attrib *attrib,
|
||||
struct target_ops *target)
|
||||
{
|
||||
int fd, ret;
|
||||
char filename[64];
|
||||
|
||||
if (write)
|
||||
return 0;
|
||||
|
||||
/* Don't bother for one word. */
|
||||
if (len < 3 * sizeof (long))
|
||||
return 0;
|
||||
|
||||
/* We could keep this file open and cache it - possibly one
|
||||
per thread. That requires some juggling, but is even faster. */
|
||||
sprintf (filename, "/proc/%d/mem", PIDGET (inferior_ptid));
|
||||
fd = open (filename, O_RDONLY | O_LARGEFILE);
|
||||
if (fd == -1)
|
||||
return 0;
|
||||
|
||||
/* If pread64 is available, use it. It's faster if the kernel
|
||||
supports it (only one syscall), and it's 64-bit safe even
|
||||
on 32-bit platforms (for instance, SPARC debugging a SPARC64
|
||||
application).
|
||||
|
||||
We play some autoconf and CFLAGS games to get this declaration
|
||||
exposed: -D_XOPEN_SOURCE=500 -D_LARGEFILE64_SOURCE. And then
|
||||
a -D_BSD_SOURCE to counteract the defaults for _XOPEN_SOURCE. */
|
||||
#ifdef HAVE_PREAD64
|
||||
if (pread64 (fd, myaddr, len, addr) != len)
|
||||
#else
|
||||
if (lseek (fd, addr, SEEK_SET) == -1
|
||||
|| read (fd, myaddr, len) != len)
|
||||
#endif
|
||||
ret = 0;
|
||||
else
|
||||
ret = len;
|
||||
|
||||
close (fd);
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue