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) { static inline void InitProgramExecutableNameImpl(void) {
if (__myname) { if (__program_executable_name) {
/* already set by the loader */
return; return;
} }
npassert(!issetugid()); // TODO(mrdomino): pathname security npassert(!issetugid()); // TODO(mrdomino): pathname security
@ -80,7 +81,7 @@ static inline void InitProgramExecutableNameImpl(void) {
char c, *q; char c, *q;
if (IsMetal()) { if (IsMetal()) {
__myname = APE_COM_NAME; __program_executable_name = APE_COM_NAME;
return; return;
} }
@ -167,7 +168,7 @@ static inline void InitProgramExecutableNameImpl(void) {
g_prog.u.buf[0] = 0; g_prog.u.buf[0] = 0;
UseBuf: UseBuf:
__myname = g_prog.u.buf; __program_executable_name = g_prog.u.buf;
} }
static void InitProgramExecutableName(void) { static void InitProgramExecutableName(void) {
@ -181,5 +182,5 @@ static void InitProgramExecutableName(void) {
*/ */
char *GetProgramExecutableName(void) { char *GetProgramExecutableName(void) {
cosmo_once(&g_prog.once, InitProgramExecutableName); cosmo_once(&g_prog.once, InitProgramExecutableName);
return __myname; return __program_executable_name;
} }

View file

@ -18,4 +18,4 @@
*/ */
#include "libc/runtime/runtime.h" #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; 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 // get startup timestamp as early as possible
// its used by --strace and also kprintf() %T // 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; __envp = envp;
__auxv = auxv; __auxv = auxv;
environ = envp; environ = envp;
__program_executable_name = exename;
program_invocation_name = argv[0]; program_invocation_name = argv[0];
__oldstack = (intptr_t)sp; __oldstack = (intptr_t)sp;
__myname = myname;
// detect apple m1 environment // detect apple m1 environment
const char *magnums; const char *magnums;

View file

@ -71,7 +71,7 @@ extern char **__argv;
extern char **__envp; extern char **__envp;
extern unsigned long *__auxv; extern unsigned long *__auxv;
extern intptr_t __oldstack; extern intptr_t __oldstack;
extern char *__myname; extern char *__program_executable_name;
extern uint64_t __nosync; extern uint64_t __nosync;
extern int __strace; extern int __strace;
extern int __ftrace; extern int __ftrace;