mirror of git://git.musl-libc.org/musl
avoid "inline" in public headers for strict c89 compatibility
while musl itself requires a c99 compiler, some applications insist on being compiled with c89 compilers, and use of "inline" in the headers was breaking them. much of this had been avoided already by just skipping the inline keyword in pre-c99 compilers or modes, but this new unified solution is cleaner and may/should result in better code generation in the default gcc configuration.
This commit is contained in:
parent
3f62f76cab
commit
fb247fafa0
|
@ -7,37 +7,37 @@
|
|||
|
||||
long (__syscall)(long, ...);
|
||||
|
||||
static inline long __syscall0(long n)
|
||||
static __inline long __syscall0(long n)
|
||||
{
|
||||
return (__syscall)(n);
|
||||
}
|
||||
|
||||
static inline long __syscall1(long n, long a)
|
||||
static __inline long __syscall1(long n, long a)
|
||||
{
|
||||
return (__syscall)(n, a);
|
||||
}
|
||||
|
||||
static inline long __syscall2(long n, long a, long b)
|
||||
static __inline long __syscall2(long n, long a, long b)
|
||||
{
|
||||
return (__syscall)(n, a, b);
|
||||
}
|
||||
|
||||
static inline long __syscall3(long n, long a, long b, long c)
|
||||
static __inline long __syscall3(long n, long a, long b, long c)
|
||||
{
|
||||
return (__syscall)(n, a, b, c);
|
||||
}
|
||||
|
||||
static inline long __syscall4(long n, long a, long b, long c, long d)
|
||||
static __inline long __syscall4(long n, long a, long b, long c, long d)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d);
|
||||
}
|
||||
|
||||
static inline long __syscall5(long n, long a, long b, long c, long d, long e)
|
||||
static __inline long __syscall5(long n, long a, long b, long c, long d, long e)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d, e);
|
||||
}
|
||||
|
||||
static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
|
||||
static __inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d, e, f);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#define __SYSCALL_SSLEN 8
|
||||
|
||||
static inline long __syscall0(long __n)
|
||||
static __inline long __syscall0(long __n)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n) : "memory");
|
||||
|
@ -14,42 +14,42 @@ static inline long __syscall0(long __n)
|
|||
|
||||
#ifndef __PIC__
|
||||
|
||||
static inline long __syscall1(long __n, long __a1)
|
||||
static __inline long __syscall1(long __n, long __a1)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1) : "memory");
|
||||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall2(long __n, long __a1, long __a2)
|
||||
static __inline long __syscall2(long __n, long __a1, long __a2)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2) : "memory");
|
||||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
||||
static __inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3) : "memory");
|
||||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
|
||||
static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4) : "memory");
|
||||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4), "D"(__a5) : "memory");
|
||||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
|
||||
static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("pushl %7 ; pushl %%ebp ; mov 4(%%esp),%%ebp ; int $128 ; popl %%ebp ; popl %%ecx"
|
||||
|
@ -59,7 +59,7 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __
|
|||
|
||||
#else
|
||||
|
||||
static inline long __syscall1(long __n, long __a1)
|
||||
static __inline long __syscall1(long __n, long __a1)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
|
||||
|
@ -67,7 +67,7 @@ static inline long __syscall1(long __n, long __a1)
|
|||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall2(long __n, long __a1, long __a2)
|
||||
static __inline long __syscall2(long __n, long __a1, long __a2)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
|
||||
|
@ -75,7 +75,7 @@ static inline long __syscall2(long __n, long __a1, long __a2)
|
|||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
||||
static __inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
|
||||
|
@ -83,7 +83,7 @@ static inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
|||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
|
||||
static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
|
||||
|
@ -92,7 +92,7 @@ static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __
|
|||
}
|
||||
|
||||
#if 0
|
||||
static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("pushl %2 ; pushl %%ebx ; mov 4(%%esp),%%ebx ; int $128 ; popl %%ebx ; popl %%ecx"
|
||||
|
@ -100,13 +100,13 @@ static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __
|
|||
return __ret;
|
||||
}
|
||||
#else
|
||||
static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
{
|
||||
return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5);
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
|
||||
static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
|
||||
{
|
||||
return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5, __a6);
|
||||
}
|
||||
|
|
|
@ -7,37 +7,37 @@
|
|||
|
||||
long (__syscall)(long, ...);
|
||||
|
||||
static inline long __syscall0(long n)
|
||||
static __inline long __syscall0(long n)
|
||||
{
|
||||
return (__syscall)(n);
|
||||
}
|
||||
|
||||
static inline long __syscall1(long n, long a)
|
||||
static __inline long __syscall1(long n, long a)
|
||||
{
|
||||
return (__syscall)(n, a);
|
||||
}
|
||||
|
||||
static inline long __syscall2(long n, long a, long b)
|
||||
static __inline long __syscall2(long n, long a, long b)
|
||||
{
|
||||
return (__syscall)(n, a, b);
|
||||
}
|
||||
|
||||
static inline long __syscall3(long n, long a, long b, long c)
|
||||
static __inline long __syscall3(long n, long a, long b, long c)
|
||||
{
|
||||
return (__syscall)(n, a, b, c);
|
||||
}
|
||||
|
||||
static inline long __syscall4(long n, long a, long b, long c, long d)
|
||||
static __inline long __syscall4(long n, long a, long b, long c, long d)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d);
|
||||
}
|
||||
|
||||
static inline long __syscall5(long n, long a, long b, long c, long d, long e)
|
||||
static __inline long __syscall5(long n, long a, long b, long c, long d, long e)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d, e);
|
||||
}
|
||||
|
||||
static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
|
||||
static __inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
|
||||
{
|
||||
return (__syscall)(n, a, b, c, d, e, f);
|
||||
}
|
||||
|
|
|
@ -3,21 +3,21 @@
|
|||
|
||||
#define __SYSCALL_SSLEN 8
|
||||
|
||||
static inline long __syscall0(long __n)
|
||||
static __inline long __syscall0(long __n)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n) : "rcx", "r11", "memory");
|
||||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall1(long __n, long __a1)
|
||||
static __inline long __syscall1(long __n, long __a1)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n), "D"(__a1) : "rcx", "r11", "memory");
|
||||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall2(long __n, long __a1, long __a2)
|
||||
static __inline long __syscall2(long __n, long __a1, long __a2)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n), "D"(__a1), "S"(__a2)
|
||||
|
@ -25,7 +25,7 @@ static inline long __syscall2(long __n, long __a1, long __a2)
|
|||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
||||
static __inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
||||
{
|
||||
unsigned long __ret;
|
||||
__asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n), "D"(__a1), "S"(__a2),
|
||||
|
@ -33,7 +33,7 @@ static inline long __syscall3(long __n, long __a1, long __a2, long __a3)
|
|||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
|
||||
static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
|
||||
{
|
||||
unsigned long __ret;
|
||||
register long __r10 __asm__("r10") = __a4;
|
||||
|
@ -42,7 +42,7 @@ static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __
|
|||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
|
||||
{
|
||||
unsigned long __ret;
|
||||
register long __r10 __asm__("r10") = __a4;
|
||||
|
@ -52,7 +52,7 @@ static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __
|
|||
return __ret;
|
||||
}
|
||||
|
||||
static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
|
||||
static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
|
||||
{
|
||||
unsigned long __ret;
|
||||
register long __r10 __asm__("r10") = __a4;
|
||||
|
|
|
@ -3,26 +3,21 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
inline
|
||||
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
|
||||
#define __inline inline
|
||||
#endif
|
||||
static uint16_t __bswap_16(uint16_t __x)
|
||||
|
||||
static __inline uint16_t __bswap_16(uint16_t __x)
|
||||
{
|
||||
return __x<<8 | __x>>8;
|
||||
}
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
inline
|
||||
#endif
|
||||
static uint32_t __bswap_32(uint32_t __x)
|
||||
static __inline uint32_t __bswap_32(uint32_t __x)
|
||||
{
|
||||
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
|
||||
}
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
inline
|
||||
#endif
|
||||
static uint64_t __bswap_64(uint64_t __x)
|
||||
static __inline uint64_t __bswap_64(uint64_t __x)
|
||||
{
|
||||
return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#ifndef _ENDIAN_H
|
||||
#define _ENDIAN_H
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
|
||||
#define __inline inline
|
||||
#endif
|
||||
|
||||
#define __LITTLE_ENDIAN 1234
|
||||
#define __BIG_ENDIAN 4321
|
||||
#define __PDP_ENDIAN 3412
|
||||
|
@ -20,26 +24,17 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
inline
|
||||
#endif
|
||||
static uint16_t __bswap16(uint16_t __x)
|
||||
static __inline uint16_t __bswap16(uint16_t __x)
|
||||
{
|
||||
return __x<<8 | __x>>8;
|
||||
}
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
inline
|
||||
#endif
|
||||
static uint32_t __bswap32(uint32_t __x)
|
||||
static __inline uint32_t __bswap32(uint32_t __x)
|
||||
{
|
||||
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
|
||||
}
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
inline
|
||||
#endif
|
||||
static uint64_t __bswap64(uint64_t __x)
|
||||
static __inline uint64_t __bswap64(uint64_t __x)
|
||||
{
|
||||
return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
|
||||
#define __inline inline
|
||||
#endif
|
||||
|
||||
#define __NEED_float_t
|
||||
#define __NEED_double_t
|
||||
#define __NEED___uint16_t
|
||||
|
@ -83,10 +87,7 @@ int __signbitl(long double);
|
|||
|
||||
#define isunordered(x,y) (isnan((x)) ? ((void)(y),1) : isnan((y)))
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
inline
|
||||
#endif
|
||||
static int __isrel(long double __x, long double __y, int __rel)
|
||||
static __inline int __isrel(long double __x, long double __y, int __rel)
|
||||
{
|
||||
if (isunordered(__x, __y)) return 0;
|
||||
if (__rel==-2) return __x < __y;
|
||||
|
|
|
@ -4,6 +4,10 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
|
||||
#define __inline inline
|
||||
#endif
|
||||
|
||||
long __syscall_ret(unsigned long);
|
||||
long __syscall(long, ...);
|
||||
long syscall(long, ...);
|
||||
|
|
Loading…
Reference in New Issue