--- gcc-4.8.1/gcc/ada/adaint.c.orig +++ gcc-4.8.1/gcc/ada/adaint.c @@ -67,6 +67,11 @@ #include #endif +#if defined (linux) +#define _GNU_SOURCE 1 +#include +#endif + #ifdef VMS #define _POSIX_EXIT 1 #define HOST_EXECUTABLE_SUFFIX ".exe" @@ -3782,8 +3787,6 @@ return (void *) syscall (__NR_gettid); } -#include - /* glibc versions earlier than 2.7 do not define the routines to handle dynamically allocated CPU sets. For these targets, we use the static versions. */ @@ -3792,7 +3795,7 @@ /* Dynamic cpu sets */ -cpu_set_t *__gnat_cpu_alloc (size_t count) +void *__gnat_cpu_alloc (size_t count) { return CPU_ALLOC (count); } @@ -3802,30 +3805,30 @@ return CPU_ALLOC_SIZE (count); } -void __gnat_cpu_free (cpu_set_t *set) +void __gnat_cpu_free (void *set) { - CPU_FREE (set); + CPU_FREE ((cpu_set_t *) set); } -void __gnat_cpu_zero (size_t count, cpu_set_t *set) +void __gnat_cpu_zero (size_t count, void *set) { - CPU_ZERO_S (count, set); + CPU_ZERO_S (count, (cpu_set_t *) set); } -void __gnat_cpu_set (int cpu, size_t count, cpu_set_t *set) +void __gnat_cpu_set (int cpu, size_t count, void *set) { /* Ada handles CPU numbers starting from 1, while C identifies the first CPU by a 0, so we need to adjust. */ - CPU_SET_S (cpu - 1, count, set); + CPU_SET_S (cpu - 1, count, (cpu_set_t *) set); } #else /* Static cpu sets */ -cpu_set_t *__gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED) +void *__gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED) { - return (cpu_set_t *) xmalloc (sizeof (cpu_set_t)); + return xmalloc (sizeof (cpu_set_t)); } size_t __gnat_cpu_alloc_size (size_t count ATTRIBUTE_UNUSED) @@ -3833,21 +3836,21 @@ return sizeof (cpu_set_t); } -void __gnat_cpu_free (cpu_set_t *set) +void __gnat_cpu_free (void *set) { free (set); } -void __gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, cpu_set_t *set) +void __gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, void *set) { - CPU_ZERO (set); + CPU_ZERO ((cpu_set_t *) set); } -void __gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, cpu_set_t *set) +void __gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, void *set) { /* Ada handles CPU numbers starting from 1, while C identifies the first CPU by a 0, so we need to adjust. */ - CPU_SET (cpu - 1, set); + CPU_SET (cpu - 1, (cpu_set_t *) set); } #endif #endif --- gcc-4.8.1/gcc/ada/adaint.h.orig +++ gcc-4.8.1/gcc/ada/adaint.h @@ -259,13 +259,11 @@ /* Routines for interface to required CPU set primitives */ -#include - -extern cpu_set_t *__gnat_cpu_alloc (size_t); +extern void * __gnat_cpu_alloc (size_t); extern size_t __gnat_cpu_alloc_size (size_t); -extern void __gnat_cpu_free (cpu_set_t *); -extern void __gnat_cpu_zero (size_t, cpu_set_t *); -extern void __gnat_cpu_set (int, size_t, cpu_set_t *); +extern void __gnat_cpu_free (void *); +extern void __gnat_cpu_zero (size_t, void *); +extern void __gnat_cpu_set (int, size_t, void *); #endif #if defined (_WIN32)