Use %gs as TLS register when dlopen() is linked

Fixes #938
This commit is contained in:
Justine Tunney 2023-11-08 01:11:17 -08:00
parent e961385e55
commit d71da7fc72
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
13 changed files with 71 additions and 40 deletions

View file

@ -136,10 +136,11 @@ static inline void InitProgramExecutableNameImpl(void) {
}
// give up and just copy argv[0] into it
char *p, *e;
if ((q = __argv[0])) {
CopyString:
char *p = g_prog.u.buf;
char *e = p + sizeof(g_prog.u.buf);
p = g_prog.u.buf;
e = p + sizeof(g_prog.u.buf);
while ((c = *q++)) {
if (p + 1 < e) {
*p++ = c;