summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-02-01 08:30:55 +0000
committerEric Andersen <andersen@codepoet.org>2004-02-01 08:30:55 +0000
commit50abd263214639ca29ef03e2cd5f5eb235e850bf (patch)
treedd420c57600bad25a70e25d9651f5ab0c29e289b
parent911d37c56aad3cae3c29edca4092d735a2bb03b1 (diff)
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.
-rw-r--r--ldso/ldso/ldso.c4
-rw-r--r--ldso/ldso/sparc/dl-syscalls.h1
-rw-r--r--ldso/ldso/sparc/ld_syscalls.h1
3 files changed, 4 insertions, 2 deletions
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