From 50abd263214639ca29ef03e2cd5f5eb235e850bf Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sun, 1 Feb 2004 08:30:55 +0000 Subject: Jakub Bogusz writes: Hello, the attached patch fixes ldso compilation on sparc-linux (at least with sparc32 userland). It was made against uClibc 0.9.21, but it's still OK with 0.9.26. There were three problems: - missing __NR_getpid definition - conflicting prototypes in elfinterp.c - syntax error (missing semicolon) in ldso.c With this patch shared libraries and ldso can be built on sparc. It contains also ldso.c syntax fix for m68k - there was the same mistake two lines earlier; but I didn't test build on m68k. --- ldso/ldso/ldso.c | 4 ++-- ldso/ldso/sparc/dl-syscalls.h | 1 + ldso/ldso/sparc/ld_syscalls.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'ldso') diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index f563a570a..a95b39230 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -278,9 +278,9 @@ LD_BOOT(unsigned long args) #if defined(__i386__) __asm__("\tmovl %%ebx,%0\n\t":"=a"(got)); #elif defined(__m68k__) - __asm__("movel %%a5,%0":"=g"(got)) + __asm__("movel %%a5,%0":"=g"(got)); #elif defined(__sparc__) - __asm__("\tmov %%l7,%0\n\t":"=r"(got)) + __asm__("\tmov %%l7,%0\n\t":"=r"(got)); #elif defined(__arm__) __asm__("\tmov %0, r10\n\t":"=r"(got)); #elif defined(__powerpc__) diff --git a/ldso/ldso/sparc/dl-syscalls.h b/ldso/ldso/sparc/dl-syscalls.h index 27ae2905c..4222b2468 100644 --- a/ldso/ldso/sparc/dl-syscalls.h +++ b/ldso/ldso/sparc/dl-syscalls.h @@ -8,6 +8,7 @@ #define __NR_write 4 #define __NR_open 5 #define __NR_close 6 +#define __NR_getpid 20 #define __NR_getuid 24 #define __NR_getgid 47 #define __NR_geteuid 49 diff --git a/ldso/ldso/sparc/ld_syscalls.h b/ldso/ldso/sparc/ld_syscalls.h index 27ae2905c..4222b2468 100644 --- a/ldso/ldso/sparc/ld_syscalls.h +++ b/ldso/ldso/sparc/ld_syscalls.h @@ -8,6 +8,7 @@ #define __NR_write 4 #define __NR_open 5 #define __NR_close 6 +#define __NR_getpid 20 #define __NR_getuid 24 #define __NR_getgid 47 #define __NR_geteuid 49 -- cgit v1.2.3