diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-01-19 12:15:17 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-01-19 12:15:17 +0300 |
commit | 808aae3d13971fd7ccb474caff9bd89a9569795b (patch) | |
tree | cd8f1261c8db43844af1c02ecc5853daa172ccb6 /winsup/cygwin/errno.cc | |
parent | fc660168bf056b96c6825d3a4ef97b75261577d5 (diff) |
* errno.cc (errmap): Add error codes for invalid binaries.
* exec.cc (execvp): Call spawnve with _P_PATH_TYPE_EXEC flag
from here.
(execvpe): Ditto.
* spawn.cc (spawn_guts): Filter _P_PATH_TYPE_EXEC from mode and
store in p_type_exec. Call av::fixup with addtional p_type_exec
argument.
(spawnve): Check for filtered mode.
(spawnvpe): Add _P_PATH_TYPE_EXEC flag when calling spawnve.
(av::fixup): Accept additional bool parameter p_type_exec. Only check
for script if p_type_exec is true.
* winf.h (_P_PATH_TYPE_EXEC): Define.
(_P_MODE): Define.
(av::fixup): Declare with additional bool parameter.
Diffstat (limited to 'winsup/cygwin/errno.cc')
-rw-r--r-- | winsup/cygwin/errno.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/errno.cc b/winsup/cygwin/errno.cc index 58cdf4ae8..a9860f4a6 100644 --- a/winsup/cygwin/errno.cc +++ b/winsup/cygwin/errno.cc @@ -1,7 +1,7 @@ /* errno.cc: errno-related functions Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2006, 2008, 2009, 2010 Red Hat, Inc. + 2006, 2008, 2009, 2010, 2011 Red Hat, Inc. This file is part of Cygwin. @@ -37,6 +37,7 @@ static NO_COPY struct X (ACTIVE_CONNECTIONS, EAGAIN), X (ALREADY_EXISTS, EEXIST), X (BAD_DEVICE, ENODEV), + X (BAD_EXE_FORMAT, ENOEXEC), X (BAD_NETPATH, ENOENT), X (BAD_NET_NAME, ENOENT), X (BAD_NET_RESP, ENOSYS), @@ -67,6 +68,7 @@ static NO_COPY struct X (EA_TABLE_FULL, ENOSPC), X (END_OF_MEDIA, ENOSPC), X (EOM_OVERFLOW, EIO), + X (EXE_MARKED_INVALID, ENOEXEC), X (FILEMARK_DETECTED, EIO), X (FILENAME_EXCED_RANGE, ENAMETOOLONG), X (FILE_CORRUPT, EEXIST), @@ -81,11 +83,13 @@ static NO_COPY struct X (INVALID_DATA, EINVAL), X (INVALID_DRIVE, ENODEV), X (INVALID_EA_NAME, EINVAL), + X (INVALID_EXE_SIGNATURE, ENOEXEC), X (INVALID_FUNCTION, EBADRQC), X (INVALID_HANDLE, EBADF), X (INVALID_NAME, ENOENT), X (INVALID_PARAMETER, EINVAL), X (INVALID_SIGNAL_NUMBER, EINVAL), + X (IOPL_NOT_ENABLED, ENOEXEC), X (IO_DEVICE, EIO), X (IO_PENDING, EAGAIN), X (LOCK_VIOLATION, EACCES), |