From: pbrook Date: Sun, 4 Mar 2007 00:52:16 +0000 (+0000) Subject: 64bit->win32 cross build fix. X-Git-Tag: TizenStudio_2.0_p2.3~13754 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a2d6d9650ed16b2cdb0b4876fe9efce7ef8ea6d;p=sdk%2Femulator%2Fqemu.git 64bit->win32 cross build fix. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2467 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/a.out.h b/a.out.h index 1f978c1..2d35ebf 100644 --- a/a.out.h +++ b/a.out.h @@ -25,9 +25,9 @@ extern "C" { struct external_filehdr { short f_magic; /* magic number */ short f_nscns; /* number of sections */ - unsigned long f_timdat; /* time & date stamp */ - unsigned long f_symptr; /* file pointer to symtab */ - unsigned long f_nsyms; /* number of symtab entries */ + host_ulong f_timdat; /* time & date stamp */ + host_ulong f_symptr; /* file pointer to symtab */ + host_ulong f_nsyms; /* number of symtab entries */ short f_opthdr; /* sizeof(optional hdr) */ short f_flags; /* flags */ }; @@ -72,12 +72,12 @@ typedef struct { unsigned short magic; /* type of file */ unsigned short vstamp; /* version stamp */ - unsigned long tsize; /* text size in bytes, padded to FW bdry*/ - unsigned long dsize; /* initialized data " " */ - unsigned long bsize; /* uninitialized data " " */ - unsigned long entry; /* entry pt. */ - unsigned long text_start; /* base of text used for this file */ - unsigned long data_start; /* base of data used for this file= + host_ulong tsize; /* text size in bytes, padded to FW bdry*/ + host_ulong dsize; /* initialized data " " */ + host_ulong bsize; /* uninitialized data " " */ + host_ulong entry; /* entry pt. */ + host_ulong text_start; /* base of text used for this file */ + host_ulong data_start; /* base of data used for this file= */ } AOUTHDR; @@ -103,16 +103,16 @@ AOUTHDR; struct external_scnhdr { char s_name[8]; /* section name */ - unsigned long s_paddr; /* physical address, offset + host_ulong s_paddr; /* physical address, offset of last addr in scn */ - unsigned long s_vaddr; /* virtual address */ - unsigned long s_size; /* section size */ - unsigned long s_scnptr; /* file ptr to raw data for section */ - unsigned long s_relptr; /* file ptr to relocation */ - unsigned long s_lnnoptr; /* file ptr to line numbers */ + host_ulong s_vaddr; /* virtual address */ + host_ulong s_size; /* section size */ + host_ulong s_scnptr; /* file ptr to raw data for section */ + host_ulong s_relptr; /* file ptr to relocation */ + host_ulong s_lnnoptr; /* file ptr to line numbers */ unsigned short s_nreloc; /* number of relocation entries */ unsigned short s_nlnno; /* number of line number entries*/ - unsigned long s_flags; /* flags */ + host_ulong s_flags; /* flags */ }; #define SCNHDR struct external_scnhdr @@ -136,8 +136,8 @@ struct external_scnhdr { */ struct external_lineno { union { - unsigned long l_symndx; /* function name symbol index, iff l_lnno 0 */ - unsigned long l_paddr; /* (physical) address of line number */ + host_ulong l_symndx; /* function name symbol index, iff l_lnno 0 */ + host_ulong l_paddr; /* (physical) address of line number */ } l_addr; unsigned short l_lnno; /* line number */ }; @@ -156,11 +156,11 @@ struct __attribute__((packed)) external_syment union { char e_name[E_SYMNMLEN]; struct { - unsigned long e_zeroes; - unsigned long e_offset; + host_ulong e_zeroes; + host_ulong e_offset; } e; } e; - unsigned long e_value; + host_ulong e_value; unsigned short e_scnum; unsigned short e_type; char e_sclass[1]; @@ -174,18 +174,18 @@ struct __attribute__((packed)) external_syment union external_auxent { struct { - unsigned long x_tagndx; /* str, un, or enum tag indx */ + host_ulong x_tagndx; /* str, un, or enum tag indx */ union { struct { unsigned short x_lnno; /* declaration line number */ unsigned short x_size; /* str/union/array size */ } x_lnsz; - unsigned long x_fsize; /* size of function */ + host_ulong x_fsize; /* size of function */ } x_misc; union { struct { /* if ISFCN, tag, or .bb */ - unsigned long x_lnnoptr;/* ptr to fcn line # */ - unsigned long x_endndx; /* entry ndx past block end */ + host_ulong x_lnnoptr;/* ptr to fcn line # */ + host_ulong x_endndx; /* entry ndx past block end */ } x_fcn; struct { /* if ISARY, up to 4 dimen. */ char x_dimen[E_DIMNUM][2]; @@ -197,22 +197,22 @@ union external_auxent { union { char x_fname[E_FILNMLEN]; struct { - unsigned long x_zeroes; - unsigned long x_offset; + host_ulong x_zeroes; + host_ulong x_offset; } x_n; } x_file; struct { - unsigned long x_scnlen; /* section length */ + host_ulong x_scnlen; /* section length */ unsigned short x_nreloc; /* # relocation entries */ unsigned short x_nlinno; /* # line numbers */ - unsigned long x_checksum; /* section COMDAT checksum */ + host_ulong x_checksum; /* section COMDAT checksum */ unsigned short x_associated;/* COMDAT associated section index */ char x_comdat[1]; /* COMDAT selection number */ } x_scn; struct { - unsigned long x_tvfill; /* tv fill value */ + host_ulong x_tvfill; /* tv fill value */ unsigned short x_tvlen; /* length of .tv */ char x_tvran[2][2]; /* tv range */ } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ @@ -344,7 +344,7 @@ struct external_PE_filehdr unsigned short e_oemid; /* OEM identifier (for e_oeminfo), 0x0 */ unsigned short e_oeminfo; /* OEM information; e_oemid specific, 0x0 */ char e_res2[10][2]; /* Reserved words, all 0x0 */ - unsigned long e_lfanew; /* File address of new exe header, 0x80 */ + host_ulong e_lfanew; /* File address of new exe header, 0x80 */ char dos_message[16][4]; /* other stuff, always follow DOS header */ unsigned int nt_signature; /* required NT signature, 0x4550 */ @@ -352,9 +352,9 @@ struct external_PE_filehdr unsigned short f_magic; /* magic number */ unsigned short f_nscns; /* number of sections */ - unsigned long f_timdat; /* time & date stamp */ - unsigned long f_symptr; /* file pointer to symtab */ - unsigned long f_nsyms; /* number of symtab entries */ + host_ulong f_timdat; /* time & date stamp */ + host_ulong f_symptr; /* file pointer to symtab */ + host_ulong f_nsyms; /* number of symtab entries */ unsigned short f_opthdr; /* sizeof(optional hdr) */ unsigned short f_flags; /* flags */ }; @@ -370,17 +370,17 @@ typedef struct { unsigned short magic; /* type of file */ unsigned short vstamp; /* version stamp */ - unsigned long tsize; /* text size in bytes, padded to FW bdry*/ - unsigned long dsize; /* initialized data " " */ - unsigned long bsize; /* uninitialized data " " */ - unsigned long entry; /* entry pt. */ - unsigned long text_start; /* base of text used for this file */ - unsigned long data_start; /* base of all data used for this file */ + host_ulong tsize; /* text size in bytes, padded to FW bdry*/ + host_ulong dsize; /* initialized data " " */ + host_ulong bsize; /* uninitialized data " " */ + host_ulong entry; /* entry pt. */ + host_ulong text_start; /* base of text used for this file */ + host_ulong data_start; /* base of all data used for this file */ /* NT extra fields; see internal.h for descriptions */ - unsigned long ImageBase; - unsigned long SectionAlignment; - unsigned long FileAlignment; + host_ulong ImageBase; + host_ulong SectionAlignment; + host_ulong FileAlignment; unsigned short MajorOperatingSystemVersion; unsigned short MinorOperatingSystemVersion; unsigned short MajorImageVersion; @@ -388,17 +388,17 @@ typedef struct unsigned short MajorSubsystemVersion; unsigned short MinorSubsystemVersion; char Reserved1[4]; - unsigned long SizeOfImage; - unsigned long SizeOfHeaders; - unsigned long CheckSum; + host_ulong SizeOfImage; + host_ulong SizeOfHeaders; + host_ulong CheckSum; unsigned short Subsystem; unsigned short DllCharacteristics; - unsigned long SizeOfStackReserve; - unsigned long SizeOfStackCommit; - unsigned long SizeOfHeapReserve; - unsigned long SizeOfHeapCommit; - unsigned long LoaderFlags; - unsigned long NumberOfRvaAndSizes; + host_ulong SizeOfStackReserve; + host_ulong SizeOfStackCommit; + host_ulong SizeOfHeapReserve; + host_ulong SizeOfHeapCommit; + host_ulong LoaderFlags; + host_ulong NumberOfRvaAndSizes; /* IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; */ char DataDirectory[16][2][4]; /* 16 entries, 2 elements/entry, 4 chars */ diff --git a/dyngen.c b/dyngen.c index c6a878c..953b36c 100644 --- a/dyngen.c +++ b/dyngen.c @@ -148,11 +148,11 @@ typedef uint64_t host_ulong; #ifdef CONFIG_FORMAT_COFF -#include "a.out.h" - typedef int32_t host_long; typedef uint32_t host_ulong; +#include "a.out.h" + #define FILENAMELEN 256 typedef struct coff_sym { @@ -1740,7 +1740,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, { EXE_SYM *sym; const char *sym_name, *p; - unsigned long val; + host_ulong val; int n; for(i = 0, sym = symtab; i < nb_syms; i++, sym++) { @@ -1772,7 +1772,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, #ifdef CONFIG_FORMAT_MACH offset -= section_hdr[sym->n_sect-1].addr; #endif - val = *(unsigned long *)(ptr + offset); + val = *(host_ulong *)(ptr + offset); #ifdef ELF_USES_RELOCA { int reloc_shndx, nb_relocs1, j;