diff --git a/libc/calls/getprogramexecutablename.greg.c b/libc/calls/getprogramexecutablename.greg.c index 84a030953..89be34faa 100644 --- a/libc/calls/getprogramexecutablename.greg.c +++ b/libc/calls/getprogramexecutablename.greg.c @@ -52,7 +52,8 @@ static inline int IsAlpha(int c) { } static inline void InitProgramExecutableNameImpl(void) { - if (__myname) { + if (__program_executable_name) { + /* already set by the loader */ return; } npassert(!issetugid()); // TODO(mrdomino): pathname security @@ -80,7 +81,7 @@ static inline void InitProgramExecutableNameImpl(void) { char c, *q; if (IsMetal()) { - __myname = APE_COM_NAME; + __program_executable_name = APE_COM_NAME; return; } @@ -167,7 +168,7 @@ static inline void InitProgramExecutableNameImpl(void) { g_prog.u.buf[0] = 0; UseBuf: - __myname = g_prog.u.buf; + __program_executable_name = g_prog.u.buf; } static void InitProgramExecutableName(void) { @@ -181,5 +182,5 @@ static void InitProgramExecutableName(void) { */ char *GetProgramExecutableName(void) { cosmo_once(&g_prog.once, InitProgramExecutableName); - return __myname; + return __program_executable_name; } diff --git a/libc/nexgen32e/myname2.c b/libc/nexgen32e/myname2.c index e95a67ddf..bbc9a1183 100644 --- a/libc/nexgen32e/myname2.c +++ b/libc/nexgen32e/myname2.c @@ -18,4 +18,4 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/runtime/runtime.h" -char *__myname; +char *__program_executable_name; diff --git a/libc/runtime/cosmo2.c b/libc/runtime/cosmo2.c index 06289578c..57067b5ab 100644 --- a/libc/runtime/cosmo2.c +++ b/libc/runtime/cosmo2.c @@ -78,7 +78,7 @@ static const char *DecodeMagnum(const char *p, long *r) { return *r = x, p; } -wontreturn textstartup void cosmo(long *sp, struct Syslib *m1, char *myname) { +wontreturn textstartup void cosmo(long *sp, struct Syslib *m1, char *exename) { // get startup timestamp as early as possible // its used by --strace and also kprintf() %T @@ -108,9 +108,9 @@ wontreturn textstartup void cosmo(long *sp, struct Syslib *m1, char *myname) { __envp = envp; __auxv = auxv; environ = envp; + __program_executable_name = exename; program_invocation_name = argv[0]; __oldstack = (intptr_t)sp; - __myname = myname; // detect apple m1 environment const char *magnums; diff --git a/libc/runtime/runtime.h b/libc/runtime/runtime.h index 30fa713e3..5e5958f5a 100644 --- a/libc/runtime/runtime.h +++ b/libc/runtime/runtime.h @@ -71,7 +71,7 @@ extern char **__argv; extern char **__envp; extern unsigned long *__auxv; extern intptr_t __oldstack; -extern char *__myname; +extern char *__program_executable_name; extern uint64_t __nosync; extern int __strace; extern int __ftrace;