diff options
author | Carmelo Amoroso <carmelo.amoroso@st.com> | 2007-12-03 20:58:30 +0000 |
---|---|---|
committer | Carmelo Amoroso <carmelo.amoroso@st.com> | 2007-12-03 20:58:30 +0000 |
commit | 763c6d06bc87904923b1df920c031df4559df589 (patch) | |
tree | 0a7dd2b7fd4d4202bf9f1a09c7f7d14101651e59 | |
parent | fa3a19983dbd3df1fdcb1a9a583eab771f3412fd (diff) |
Some versions of gcc consider inline merely a hint. AVR32 depends on the
system calls actually being inlined, so AVR32 needs to use
__always_inline instead of just inline. The attached patch changes this
for the system calls.
Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
-rw-r--r-- | ldso/include/dl-syscall.h | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h index ec42fbd64..d017866eb 100644 --- a/ldso/include/dl-syscall.h +++ b/ldso/include/dl-syscall.h @@ -59,69 +59,69 @@ dynamic linking at all, so we cannot return any error codes. We just punt if there is an error. */ #define __NR__dl_exit __NR_exit -static inline _syscall1(void, _dl_exit, int, status); +static __always_inline _syscall1(void, _dl_exit, int, status); #define __NR__dl_close __NR_close -static inline _syscall1(int, _dl_close, int, fd); +static __always_inline _syscall1(int, _dl_close, int, fd); #define __NR__dl_open __NR_open -static inline _syscall3(int, _dl_open, const char *, fn, int, flags, +static __always_inline _syscall3(int, _dl_open, const char *, fn, int, flags, __kernel_mode_t, mode); #define __NR__dl_write __NR_write -static inline _syscall3(unsigned long, _dl_write, int, fd, +static __always_inline _syscall3(unsigned long, _dl_write, int, fd, const void *, buf, unsigned long, count); #define __NR__dl_read __NR_read -static inline _syscall3(unsigned long, _dl_read, int, fd, +static __always_inline _syscall3(unsigned long, _dl_read, int, fd, const void *, buf, unsigned long, count); #define __NR__dl_mprotect __NR_mprotect -static inline _syscall3(int, _dl_mprotect, const void *, addr, +static __always_inline _syscall3(int, _dl_mprotect, const void *, addr, unsigned long, len, int, prot); #define __NR__dl_stat __NR_stat -static inline _syscall2(int, _dl_stat, const char *, file_name, +static __always_inline _syscall2(int, _dl_stat, const char *, file_name, struct stat *, buf); #define __NR__dl_fstat __NR_fstat -static inline _syscall2(int, _dl_fstat, int, fd, struct stat *, buf); +static __always_inline _syscall2(int, _dl_fstat, int, fd, struct stat *, buf); #define __NR__dl_munmap __NR_munmap -static inline _syscall2(int, _dl_munmap, void *, start, unsigned long, length); +static __always_inline _syscall2(int, _dl_munmap, void *, start, unsigned long, length); #ifdef __NR_getxuid # define __NR_getuid __NR_getxuid #endif #define __NR__dl_getuid __NR_getuid -static inline _syscall0(uid_t, _dl_getuid); +static __always_inline _syscall0(uid_t, _dl_getuid); #ifndef __NR_geteuid # define __NR_geteuid __NR_getuid #endif #define __NR__dl_geteuid __NR_geteuid -static inline _syscall0(uid_t, _dl_geteuid); +static __always_inline _syscall0(uid_t, _dl_geteuid); #ifdef __NR_getxgid # define __NR_getgid __NR_getxgid #endif #define __NR__dl_getgid __NR_getgid -static inline _syscall0(gid_t, _dl_getgid); +static __always_inline _syscall0(gid_t, _dl_getgid); #ifndef __NR_getegid # define __NR_getegid __NR_getgid #endif #define __NR__dl_getegid __NR_getegid -static inline _syscall0(gid_t, _dl_getegid); +static __always_inline _syscall0(gid_t, _dl_getegid); #ifdef __NR_getxpid # define __NR_getpid __NR_getxpid #endif #define __NR__dl_getpid __NR_getpid -static inline _syscall0(gid_t, _dl_getpid); +static __always_inline _syscall0(gid_t, _dl_getpid); #define __NR__dl_readlink __NR_readlink -static inline _syscall3(int, _dl_readlink, const char *, path, char *, buf, +static __always_inline _syscall3(int, _dl_readlink, const char *, path, char *, buf, size_t, bufsiz); #ifdef __UCLIBC_HAS_SSP__ @@ -150,14 +150,14 @@ static inline _syscall2(int, _dl_gettimeofday, struct timeval *, tv, #if defined(__UCLIBC_MMAP_HAS_6_ARGS__) && defined(__NR_mmap) # define __NR__dl_mmap __NR_mmap -static inline _syscall6(void *, _dl_mmap, void *, start, size_t, length, +static __always_inline _syscall6(void *, _dl_mmap, void *, start, size_t, length, int, prot, int, flags, int, fd, off_t, offset); /* then try mmap2() */ #elif defined(__NR_mmap2) # define __NR___syscall_mmap2 __NR_mmap2 -static inline _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, size_t, len, +static __always_inline _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, size_t, len, int, prot, int, flags, int, fd, off_t, offset); /* Some architectures always use 12 as page shift for mmap2() eventhough the @@ -168,7 +168,7 @@ static inline _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, size_t, len, # define MMAP2_PAGE_SHIFT 12 #endif -static inline void * _dl_mmap(void * addr, unsigned long size, int prot, +static __always_inline void * _dl_mmap(void * addr, unsigned long size, int prot, int flags, int fd, unsigned long offset) { if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1)) @@ -181,8 +181,8 @@ static inline void * _dl_mmap(void * addr, unsigned long size, int prot, #elif defined(__NR_mmap) # define __NR__dl_mmap_real __NR_mmap -static inline _syscall1(void *, _dl_mmap_real, unsigned long *, buffer); -static inline void * _dl_mmap(void * addr, unsigned long size, int prot, +static __always_inline _syscall1(void *, _dl_mmap_real, unsigned long *, buffer); +static __always_inline void * _dl_mmap(void * addr, unsigned long size, int prot, int flags, int fd, unsigned long offset) { unsigned long buffer[6]; |