fix #ifdef inside a macro argument list in __init_tls.c
C99 6.10.3p11 disallows such constructs so use an #ifdef outside of the argument list of __syscall
This commit is contained in:
parent
d146d4dc11
commit
d86af2a080
1 changed files with 4 additions and 5 deletions
9
src/env/__init_tls.c
vendored
9
src/env/__init_tls.c
vendored
|
|
@ -91,12 +91,11 @@ void __init_tls(size_t *aux)
|
||||||
libc.tls_size = 2*sizeof(void *)+T.size+T.align+sizeof(struct pthread);
|
libc.tls_size = 2*sizeof(void *)+T.size+T.align+sizeof(struct pthread);
|
||||||
|
|
||||||
if (libc.tls_size > sizeof builtin_tls) {
|
if (libc.tls_size > sizeof builtin_tls) {
|
||||||
mem = (void *)__syscall(
|
#ifndef SYS_mmap2
|
||||||
#ifdef SYS_mmap2
|
#define SYS_mmap2 SYS_mmap
|
||||||
SYS_mmap2,
|
|
||||||
#else
|
|
||||||
SYS_mmap,
|
|
||||||
#endif
|
#endif
|
||||||
|
mem = (void *)__syscall(
|
||||||
|
SYS_mmap2,
|
||||||
0, libc.tls_size, PROT_READ|PROT_WRITE,
|
0, libc.tls_size, PROT_READ|PROT_WRITE,
|
||||||
MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
|
MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
|
||||||
/* -4095...-1 cast to void * will crash on dereference anyway,
|
/* -4095...-1 cast to void * will crash on dereference anyway,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue