summaryrefslogtreecommitdiff
path: root/ldso/include
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-09-15 07:50:58 +0000
committerMike Frysinger <vapier@gentoo.org>2007-09-15 07:50:58 +0000
commitc0441bbed5d817b4f8f7f27f5d066760f73d6bbc (patch)
treef4bd2877dc770691e9bba20fb7e25c3d41e80067 /ldso/include
parentd9ec80053e440a08251e88a50bfaa283d9e00795 (diff)
Blue Swirl writes:
I got the library to compile with the attached patches, though dynamic loader crashes early. In buildroot I changed the architecture name by hand from sparc to sparc64, otherwise the compiler produced 32-bit files with V9 (64-bit) instructions. This configuration is not supported by QEMU, so I aimed for pure 64-bit. I think Sparc64 option needs to be added to buildroot. The _Qp_ ops seem to be required by the ABI. This and setjmp patches are just hacks to get the compilation further. The _Qp_ ops can be found in glibc, would it be OK to use those? V9 assembler requires declarations for global register use. The mem* functions in sparc32 directory did not work. They are actually used only by the hybrid 32-bit + V9 CPU configuration.
Diffstat (limited to 'ldso/include')
-rw-r--r--ldso/include/dl-syscall.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
index b42416a52..ec42fbd64 100644
--- a/ldso/include/dl-syscall.h
+++ b/ldso/include/dl-syscall.h
@@ -16,7 +16,11 @@
/* Pull in whatever this particular arch's kernel thinks the kernel version of
* struct stat should look like. It turns out that each arch has a different
* opinion on the subject, and different kernel revs use different names... */
+#if defined(__sparc_v9__) && (__WORDSIZE == 64)
+#define kernel_stat64 stat
+#else
#define kernel_stat stat
+#endif
#include <bits/kernel_stat.h>
#include <bits/kernel_types.h>