summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/elf.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-03-17 22:05:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-03-17 22:05:47 +0000
commit27cfca1ec98e91261b1a5355d10a8996464b63af (patch)
tree8e895a53e372fa682b4c0a585b9377d67ed70d0e /include/asm-sparc64/elf.h
parent6a76fb7214c477ccf6582bd79c5b4ccc4f9c41b1 (diff)
Look Ma' what I found on my harddisk ...
o New faster syscalls for 2.1.x, too o Upgrade to 2.1.89. Don't try to run this. It's flaky as hell. But feel free to debug ...
Diffstat (limited to 'include/asm-sparc64/elf.h')
-rw-r--r--include/asm-sparc64/elf.h37
1 files changed, 31 insertions, 6 deletions
diff --git a/include/asm-sparc64/elf.h b/include/asm-sparc64/elf.h
index caf1c9434..a6891d681 100644
--- a/include/asm-sparc64/elf.h
+++ b/include/asm-sparc64/elf.h
@@ -1,4 +1,4 @@
-/* $Id: elf.h,v 1.8 1997/08/21 18:09:07 richard Exp $ */
+/* $Id: elf.h,v 1.13 1997/10/03 18:44:14 davem Exp $ */
#ifndef __ASM_SPARC64_ELF_H
#define __ASM_SPARC64_ELF_H
@@ -25,10 +25,6 @@ typedef unsigned long elf_fpregset_t;
#define ELF_DATA ELFDATA2MSB
#endif
-#ifndef ELF_FLAGS_INIT
-#define ELF_FLAGS_INIT current->tss.flags &= ~SPARC_FLAG_32BIT
-#endif
-
/*
* This is used to ensure we don't load something for the wrong architecture.
*/
@@ -45,7 +41,36 @@ typedef unsigned long elf_fpregset_t;
that it will "exec", and that there is sufficient room for the brk. */
#ifndef ELF_ET_DYN_BASE
-#define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3)
+#define ELF_ET_DYN_BASE 0x50000000000
+#endif
+
+
+/* This yields a mask that user programs can use to figure out what
+ instruction set this cpu supports. */
+
+/* On Ultra, we support all of the v8 capabilities. */
+#define ELF_HWCAP (HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | \
+ HWCAP_SPARC_SWAP | HWCAP_SPARC_MULDIV)
+
+/* This yields a string that ld.so will use to load implementation
+ specific libraries for optimization. This is more specific in
+ intent than poking at uname or /proc/cpuinfo. */
+
+#define ELF_PLATFORM (NULL)
+
+#ifdef __KERNEL__
+#define SET_PERSONALITY(ex, ibcs2) \
+do { \
+ if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
+ current->tss.flags |= SPARC_FLAG_32BIT; \
+ else \
+ current->tss.flags &= ~SPARC_FLAG_32BIT; \
+ \
+ if (ibcs2) \
+ current->personality = PER_SVR4; \
+ else if (current->personality != PER_LINUX32) \
+ current->personality = PER_LINUX; \
+} while (0)
#endif
#endif /* !(__ASM_SPARC64_ELF_H) */