]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
set ELF_HWCAP for SPARC and SPARC64
authorArtyom Tarasenko <atar4qemu@gmail.com>
Thu, 14 Jul 2011 17:37:06 +0000 (19:37 +0200)
committerBlue Swirl <blauwirbel@gmail.com>
Thu, 14 Jul 2011 17:41:29 +0000 (17:41 +0000)
setting ELF_HWCAP fixes dynamic library loading for Linux/sparc64
This patch allows loading busybox from Debian 6 initrd

Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
linux-user/elfload.c

index b2746f25587f8a5a7f4c091db1f9f4715e85e911..443d246adafa43e0fa0369fff6e6868d0f7ab771 100644 (file)
@@ -417,7 +417,8 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUState *env)
 #ifdef TARGET_SPARC64
 
 #define ELF_START_MMAP 0x80000000
-
+#define ELF_HWCAP  (HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | HWCAP_SPARC_SWAP \
+                    | HWCAP_SPARC_MULDIV | HWCAP_SPARC_V9)
 #ifndef TARGET_ABI32
 #define elf_check_arch(x) ( (x) == EM_SPARCV9 || (x) == EM_SPARC32PLUS )
 #else
@@ -450,7 +451,8 @@ static inline void init_thread(struct target_pt_regs *regs,
 
 #else
 #define ELF_START_MMAP 0x80000000
-
+#define ELF_HWCAP  (HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | HWCAP_SPARC_SWAP \
+                    | HWCAP_SPARC_MULDIV)
 #define elf_check_arch(x) ( (x) == EM_SPARC )
 
 #define ELF_CLASS   ELFCLASS32