From d86af2a0803cace7b0f616f2a696fb3e25e9b628 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Wed, 13 Aug 2014 17:07:44 +0200 Subject: [PATCH] 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 --- src/env/__init_tls.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/env/__init_tls.c b/src/env/__init_tls.c index 6cca9685..ddc2a736 100644 --- a/src/env/__init_tls.c +++ b/src/env/__init_tls.c @@ -91,12 +91,11 @@ void __init_tls(size_t *aux) libc.tls_size = 2*sizeof(void *)+T.size+T.align+sizeof(struct pthread); if (libc.tls_size > sizeof builtin_tls) { +#ifndef SYS_mmap2 +#define SYS_mmap2 SYS_mmap +#endif mem = (void *)__syscall( -#ifdef SYS_mmap2 SYS_mmap2, -#else - SYS_mmap, -#endif 0, libc.tls_size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); /* -4095...-1 cast to void * will crash on dereference anyway, -- 2.25.1