moved i386 specific stuff outside elf.h
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@78 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
8857052055
commit
30ac07d4f0
@ -12,6 +12,43 @@
|
|||||||
|
|
||||||
#include "qemu.h"
|
#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 "linux_bin.h"
|
||||||
#include "elf.h"
|
#include "elf.h"
|
||||||
#include "segment.h"
|
#include "segment.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user