]> git.proxmox.com Git - qemu.git/commitdiff
moved i386 specific stuff outside elf.h
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 7 Apr 2003 21:33:03 +0000 (21:33 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 7 Apr 2003 21:33:03 +0000 (21:33 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@78 c046a42c-6fe2-441c-8c8c-71466251a162

linux-user/elfload.c

index 386991a495eb1c100b2480d7e275bd2ede2197c8..78d477c030af827190cc5d443a0773bbb87c0815 100644 (file)
 
 #include "qemu.h"
 
+#ifdef TARGET_I386
+
+#define ELF_START_MMAP 0x80000000
+
+typedef uint32_t  elf_greg_t;
+
+#define ELF_NGREG (sizeof (struct target_pt_regs) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef struct user_i387_struct elf_fpregset_t;
+
+/*
+ * This is used to ensure we don't load something for the wrong architecture.
+ */
+#define elf_check_arch(x) ( ((x) == EM_386) || ((x) == EM_486) )
+
+/*
+ * These are used to set parameters in the core dumps.
+ */
+#define ELF_CLASS      ELFCLASS32
+#define ELF_DATA       ELFDATA2LSB
+#define ELF_ARCH       EM_386
+
+       /* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program
+          starts %edx contains a pointer to a function which might be
+          registered using `atexit'.  This provides a mean for the
+          dynamic linker to call DT_FINI functions for shared libraries
+          that have been loaded before the code runs.
+
+          A value of 0 tells we have no such handler.  */
+#define ELF_PLAT_INIT(_r)      _r->edx = 0
+
+#define USE_ELF_CORE_DUMP
+#define ELF_EXEC_PAGESIZE      4096
+
+#endif
+
 #include "linux_bin.h"
 #include "elf.h"
 #include "segment.h"