[gdbserver] return ENOSYS if readlink not supported.
This reproduces on the GDBserver side what GDB does when readlink is not supported. gdb/gdbserver/ChangeLog: * configure.ac: Add readlink to AC_CHECK_FUNCS list. * configure, config.in: Regenerate. * hostio.c: Provide an alternate implementation if HAVE_READLINK is not defined.
This commit is contained in:
parent
1916efaf84
commit
f8255c2a40
@ -1,3 +1,10 @@
|
||||
2012-02-09 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* configure.ac: Add readlink to AC_CHECK_FUNCS list.
|
||||
* configure, config.in: Regenerate.
|
||||
* hostio.c: Provide an alternate implementation if HAVE_READLINK
|
||||
is not defined.
|
||||
|
||||
2012-02-02 Pedro Alves <palves@redhat.com>
|
||||
|
||||
Try SIGKILL first, then PTRACE_KILL.
|
||||
|
@ -128,6 +128,9 @@
|
||||
/* Define to 1 if you have the `pwrite' function. */
|
||||
#undef HAVE_PWRITE
|
||||
|
||||
/* Define to 1 if you have the `readlink' function. */
|
||||
#undef HAVE_READLINK
|
||||
|
||||
/* Define to 1 if you have the <sgtty.h> header file. */
|
||||
#undef HAVE_SGTTY_H
|
||||
|
||||
|
2
gdb/gdbserver/configure
vendored
2
gdb/gdbserver/configure
vendored
@ -4163,7 +4163,7 @@ fi
|
||||
|
||||
done
|
||||
|
||||
for ac_func in pread pwrite pread64
|
||||
for ac_func in pread pwrite pread64 readlink
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
|
@ -43,7 +43,7 @@ AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
|
||||
errno.h fcntl.h signal.h sys/file.h malloc.h dnl
|
||||
sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
|
||||
netinet/tcp.h arpa/inet.h sys/wait.h)
|
||||
AC_CHECK_FUNCS(pread pwrite pread64)
|
||||
AC_CHECK_FUNCS(pread pwrite pread64 readlink)
|
||||
AC_REPLACE_FUNCS(memmem vasprintf vsnprintf)
|
||||
|
||||
# Check for UST
|
||||
|
@ -459,6 +459,7 @@ handle_unlink (char *own_buf)
|
||||
static void
|
||||
handle_readlink (char *own_buf, int *new_packet_len)
|
||||
{
|
||||
#if defined (HAVE_READLINK)
|
||||
char filename[PATH_MAX], linkname[PATH_MAX];
|
||||
char *p;
|
||||
int ret, bytes_sent;
|
||||
@ -485,6 +486,9 @@ handle_readlink (char *own_buf, int *new_packet_len)
|
||||
to return a partial response, but simply fail. */
|
||||
if (bytes_sent < ret)
|
||||
sprintf (own_buf, "F-1,%x", FILEIO_ENAMETOOLONG);
|
||||
#else /* ! HAVE_READLINK */
|
||||
sprintf (own_buf, "F-1,%x", FILEIO_ENOSYS);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Handle all the 'F' file transfer packets. */
|
||||
|
Loading…
Reference in New Issue
Block a user