rename global to __program_executable_name

This commit is contained in:
Jōshin 2023-12-14 19:44:43 -05:00
parent daf2156b5a
commit 57bd4bc693
No known key found for this signature in database
4 changed files with 9 additions and 8 deletions

View file

@ -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;
}

View file

@ -18,4 +18,4 @@
*/
#include "libc/runtime/runtime.h"
char *__myname;
char *__program_executable_name;

View file

@ -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;

View file

@ -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;