mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
* utils.c (internal_vproblem): Guard call to fork with
HAVE_WORKING_FORK. * cli/cli-cmds.c (shell_escape): Guard call to vfork with HAVE_WORKING_VFORK and HAVE_WORKING_FORK. * remote-fileo.c (remote_fileio_mode_to_host): Accomodate lack of S_IRGRP and related macros. (remote_fileio_mode_to_target): Likewise.
This commit is contained in:
parent
a5324a3e50
commit
9b265ec209
@ -1,3 +1,14 @@
|
||||
2005-03-15 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* utils.c (internal_vproblem): Guard call to fork with
|
||||
HAVE_WORKING_FORK.
|
||||
* cli/cli-cmds.c (shell_escape): Guard call to vfork with
|
||||
HAVE_WORKING_VFORK and HAVE_WORKING_FORK.
|
||||
|
||||
* remote-fileo.c (remote_fileio_mode_to_host): Accomodate lack of
|
||||
S_IRGRP and related macros.
|
||||
(remote_fileio_mode_to_target): Likewise.
|
||||
|
||||
2005-03-14 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* Makefile.in (CLIBS): Link libbfd after libopcodes, as it is a
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* GDB CLI commands.
|
||||
|
||||
Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
@ -484,7 +484,8 @@ echo_command (char *text, int from_tty)
|
||||
static void
|
||||
shell_escape (char *arg, int from_tty)
|
||||
{
|
||||
#ifdef CANT_FORK
|
||||
#if defined(CANT_FORK) || \
|
||||
(!defined(HAVE_WORKING_VFORK) && !defined(HAVE_WORKING_FORK))
|
||||
/* If ARG is NULL, they want an inferior shell, but `system' just
|
||||
reports if the shell is available when passed a NULL arg. */
|
||||
int rc = system (arg ? arg : "");
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Remote File-I/O communications
|
||||
|
||||
Copyright 2003 Free Software Foundation, Inc.
|
||||
Copyright 2003, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
@ -162,18 +162,28 @@ remote_fileio_mode_to_host (long mode, int open_call)
|
||||
hmode |= S_IWUSR;
|
||||
if (mode & FILEIO_S_IXUSR)
|
||||
hmode |= S_IXUSR;
|
||||
#ifdef S_IRGRP
|
||||
if (mode & FILEIO_S_IRGRP)
|
||||
hmode |= S_IRGRP;
|
||||
#endif
|
||||
#ifdef S_IWGRP
|
||||
if (mode & FILEIO_S_IWGRP)
|
||||
hmode |= S_IWGRP;
|
||||
#endif
|
||||
#ifdef S_IXGRP
|
||||
if (mode & FILEIO_S_IXGRP)
|
||||
hmode |= S_IXGRP;
|
||||
#endif
|
||||
if (mode & FILEIO_S_IROTH)
|
||||
hmode |= S_IROTH;
|
||||
#ifdef S_IWOTH
|
||||
if (mode & FILEIO_S_IWOTH)
|
||||
hmode |= S_IWOTH;
|
||||
#endif
|
||||
#ifdef S_IXOTH
|
||||
if (mode & FILEIO_S_IXOTH)
|
||||
hmode |= S_IXOTH;
|
||||
#endif
|
||||
return hmode;
|
||||
}
|
||||
|
||||
@ -194,18 +204,28 @@ remote_fileio_mode_to_target (mode_t mode)
|
||||
tmode |= FILEIO_S_IWUSR;
|
||||
if (mode & S_IXUSR)
|
||||
tmode |= FILEIO_S_IXUSR;
|
||||
#ifdef S_IRGRP
|
||||
if (mode & S_IRGRP)
|
||||
tmode |= FILEIO_S_IRGRP;
|
||||
#endif
|
||||
#ifdef S_IWRGRP
|
||||
if (mode & S_IWGRP)
|
||||
tmode |= FILEIO_S_IWGRP;
|
||||
#endif
|
||||
#ifdef S_IXGRP
|
||||
if (mode & S_IXGRP)
|
||||
tmode |= FILEIO_S_IXGRP;
|
||||
#endif
|
||||
if (mode & S_IROTH)
|
||||
tmode |= FILEIO_S_IROTH;
|
||||
#ifdef S_IWOTH
|
||||
if (mode & S_IWOTH)
|
||||
tmode |= FILEIO_S_IWOTH;
|
||||
#endif
|
||||
#ifdef S_IXOTH
|
||||
if (mode & S_IXOTH)
|
||||
tmode |= FILEIO_S_IXOTH;
|
||||
#endif
|
||||
return tmode;
|
||||
}
|
||||
|
||||
|
@ -789,8 +789,10 @@ further debugging may prove unreliable.", file, line, problem->name, msg);
|
||||
{
|
||||
if (dump_core_p)
|
||||
{
|
||||
#ifdef HAVE_WORKING_FORK
|
||||
if (fork () == 0)
|
||||
abort (); /* NOTE: GDB has only three calls to abort(). */
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user