summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2010-12-26 21:11:38 +0000
committerChristopher Faylor <me@cgf.cx>2010-12-26 21:11:38 +0000
commit589e430baaacf262a725154b4c437387f4ac2160 (patch)
tree9d807912daf81427f5ac936ab5439eddf5749d22
parentd64bda8409e7f670fb5782cf7e9505a48504c8ef (diff)
downloadcygnal-589e430baaacf262a725154b4c437387f4ac2160.tar.gz
cygnal-589e430baaacf262a725154b4c437387f4ac2160.tar.bz2
cygnal-589e430baaacf262a725154b4c437387f4ac2160.zip
cygwin:
* cygwin.din: Export program_invocation_name and program_invocation_short_name. * dcrt0.cc: Set program_invocation*name to correct values, based on argv[0]. * globals.cc (program_invocation_name): Define. (program_invocation_short_name): Ditto newlib: * libc/include/sys/errno.h (program_invocation_name): Declare. (program_invocation_short_name): Ditto.
-rw-r--r--newlib/ChangeLog5
-rw-r--r--newlib/libc/include/sys/errno.h2
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/cygwin.din2
-rw-r--r--winsup/cygwin/dcrt0.cc2
-rw-r--r--winsup/cygwin/globals.cc2
6 files changed, 21 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index de6226c91..ea7e76f45 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,8 @@
+2010-12-26 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * libc/include/sys/errno.h (program_invocation_name): Declare.
+ (program_invocation_short_name): Ditto.
+
2010-12-16 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: Update with 1.19.0 info.
diff --git a/newlib/libc/include/sys/errno.h b/newlib/libc/include/sys/errno.h
index ac45fbc53..c93b250c3 100644
--- a/newlib/libc/include/sys/errno.h
+++ b/newlib/libc/include/sys/errno.h
@@ -22,6 +22,8 @@ extern __IMPORT int _sys_nerr;
#ifdef __CYGWIN__
extern __IMPORT const char * const sys_errlist[];
extern __IMPORT int sys_nerr;
+extern __IMPORT char *program_invocation_name;
+extern __IMPORT char *program_invocation_short_name;
#endif
#define __errno_r(ptr) ((ptr)->_errno)
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 823d7d2f5..dd1feef15 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,11 @@
+2010-12-26 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygwin.din: Export program_invocation_name and program_invocation_short_name.
+ * dcrt0.cc: Set program_invocation*name to correct values, based on
+ argv[0].
+ * globals.cc (program_invocation_name): Define.
+ (program_invocation_short_name): Ditto.
+
2010-12-16 Corinna Vinschen <corinna@vinschen.de>
* security.cc (alloc_sd): Really fix erroneous inheritence entry
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index 4de550fcc..3ebba1c67 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -1161,6 +1161,8 @@ powf NOSIGFE
_powf = powf NOSIGFE
pread SIGFE
printf SIGFE
+program_invocation_name DATA
+program_invocation_short_name DATA
_printf = printf SIGFE
pselect SIGFE
pthread_atfork SIGFE
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 4aca47495..4c2a66936 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -915,6 +915,8 @@ dll_crt0_1 (void *)
++__progname;
else
__progname = __argv[0];
+ program_invocation_name = __argv[0];
+ program_invocation_short_name = __progname;
if (__progname)
{
char *cp = strchr (__progname, '\0') - 4;
diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc
index 801ae742d..f04c8e3ea 100644
--- a/winsup/cygwin/globals.cc
+++ b/winsup/cygwin/globals.cc
@@ -138,6 +138,8 @@ extern "C"
char ***main_environ = &__cygwin_environ;
/* __progname used in getopt error message */
char *__progname;
+ char *program_invocation_name;
+ char *program_invocation_short_name;
static MTinterface _mtinterf;
struct per_process __cygwin_user_data =
{/* initial_sp */ 0, /* magic_biscuit */ 0,