Commit 7a2d6d9650ed16b2cdb0b4876fe9efce7ef8ea6d
1 parent
4ad5b06d
64bit->win32 cross build fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2467 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
56 additions
and
56 deletions
a.out.h
@@ -25,9 +25,9 @@ extern "C" { | @@ -25,9 +25,9 @@ extern "C" { | ||
25 | struct external_filehdr { | 25 | struct external_filehdr { |
26 | short f_magic; /* magic number */ | 26 | short f_magic; /* magic number */ |
27 | short f_nscns; /* number of sections */ | 27 | short f_nscns; /* number of sections */ |
28 | - unsigned long f_timdat; /* time & date stamp */ | ||
29 | - unsigned long f_symptr; /* file pointer to symtab */ | ||
30 | - unsigned long f_nsyms; /* number of symtab entries */ | 28 | + host_ulong f_timdat; /* time & date stamp */ |
29 | + host_ulong f_symptr; /* file pointer to symtab */ | ||
30 | + host_ulong f_nsyms; /* number of symtab entries */ | ||
31 | short f_opthdr; /* sizeof(optional hdr) */ | 31 | short f_opthdr; /* sizeof(optional hdr) */ |
32 | short f_flags; /* flags */ | 32 | short f_flags; /* flags */ |
33 | }; | 33 | }; |
@@ -72,12 +72,12 @@ typedef struct | @@ -72,12 +72,12 @@ typedef struct | ||
72 | { | 72 | { |
73 | unsigned short magic; /* type of file */ | 73 | unsigned short magic; /* type of file */ |
74 | unsigned short vstamp; /* version stamp */ | 74 | unsigned short vstamp; /* version stamp */ |
75 | - unsigned long tsize; /* text size in bytes, padded to FW bdry*/ | ||
76 | - unsigned long dsize; /* initialized data " " */ | ||
77 | - unsigned long bsize; /* uninitialized data " " */ | ||
78 | - unsigned long entry; /* entry pt. */ | ||
79 | - unsigned long text_start; /* base of text used for this file */ | ||
80 | - unsigned long data_start; /* base of data used for this file= | 75 | + host_ulong tsize; /* text size in bytes, padded to FW bdry*/ |
76 | + host_ulong dsize; /* initialized data " " */ | ||
77 | + host_ulong bsize; /* uninitialized data " " */ | ||
78 | + host_ulong entry; /* entry pt. */ | ||
79 | + host_ulong text_start; /* base of text used for this file */ | ||
80 | + host_ulong data_start; /* base of data used for this file= | ||
81 | */ | 81 | */ |
82 | } | 82 | } |
83 | AOUTHDR; | 83 | AOUTHDR; |
@@ -103,16 +103,16 @@ AOUTHDR; | @@ -103,16 +103,16 @@ AOUTHDR; | ||
103 | 103 | ||
104 | struct external_scnhdr { | 104 | struct external_scnhdr { |
105 | char s_name[8]; /* section name */ | 105 | char s_name[8]; /* section name */ |
106 | - unsigned long s_paddr; /* physical address, offset | 106 | + host_ulong s_paddr; /* physical address, offset |
107 | of last addr in scn */ | 107 | of last addr in scn */ |
108 | - unsigned long s_vaddr; /* virtual address */ | ||
109 | - unsigned long s_size; /* section size */ | ||
110 | - unsigned long s_scnptr; /* file ptr to raw data for section */ | ||
111 | - unsigned long s_relptr; /* file ptr to relocation */ | ||
112 | - unsigned long s_lnnoptr; /* file ptr to line numbers */ | 108 | + host_ulong s_vaddr; /* virtual address */ |
109 | + host_ulong s_size; /* section size */ | ||
110 | + host_ulong s_scnptr; /* file ptr to raw data for section */ | ||
111 | + host_ulong s_relptr; /* file ptr to relocation */ | ||
112 | + host_ulong s_lnnoptr; /* file ptr to line numbers */ | ||
113 | unsigned short s_nreloc; /* number of relocation entries */ | 113 | unsigned short s_nreloc; /* number of relocation entries */ |
114 | unsigned short s_nlnno; /* number of line number entries*/ | 114 | unsigned short s_nlnno; /* number of line number entries*/ |
115 | - unsigned long s_flags; /* flags */ | 115 | + host_ulong s_flags; /* flags */ |
116 | }; | 116 | }; |
117 | 117 | ||
118 | #define SCNHDR struct external_scnhdr | 118 | #define SCNHDR struct external_scnhdr |
@@ -136,8 +136,8 @@ struct external_scnhdr { | @@ -136,8 +136,8 @@ struct external_scnhdr { | ||
136 | */ | 136 | */ |
137 | struct external_lineno { | 137 | struct external_lineno { |
138 | union { | 138 | union { |
139 | - unsigned long l_symndx; /* function name symbol index, iff l_lnno 0 */ | ||
140 | - unsigned long l_paddr; /* (physical) address of line number */ | 139 | + host_ulong l_symndx; /* function name symbol index, iff l_lnno 0 */ |
140 | + host_ulong l_paddr; /* (physical) address of line number */ | ||
141 | } l_addr; | 141 | } l_addr; |
142 | unsigned short l_lnno; /* line number */ | 142 | unsigned short l_lnno; /* line number */ |
143 | }; | 143 | }; |
@@ -156,11 +156,11 @@ struct __attribute__((packed)) external_syment | @@ -156,11 +156,11 @@ struct __attribute__((packed)) external_syment | ||
156 | union { | 156 | union { |
157 | char e_name[E_SYMNMLEN]; | 157 | char e_name[E_SYMNMLEN]; |
158 | struct { | 158 | struct { |
159 | - unsigned long e_zeroes; | ||
160 | - unsigned long e_offset; | 159 | + host_ulong e_zeroes; |
160 | + host_ulong e_offset; | ||
161 | } e; | 161 | } e; |
162 | } e; | 162 | } e; |
163 | - unsigned long e_value; | 163 | + host_ulong e_value; |
164 | unsigned short e_scnum; | 164 | unsigned short e_scnum; |
165 | unsigned short e_type; | 165 | unsigned short e_type; |
166 | char e_sclass[1]; | 166 | char e_sclass[1]; |
@@ -174,18 +174,18 @@ struct __attribute__((packed)) external_syment | @@ -174,18 +174,18 @@ struct __attribute__((packed)) external_syment | ||
174 | 174 | ||
175 | union external_auxent { | 175 | union external_auxent { |
176 | struct { | 176 | struct { |
177 | - unsigned long x_tagndx; /* str, un, or enum tag indx */ | 177 | + host_ulong x_tagndx; /* str, un, or enum tag indx */ |
178 | union { | 178 | union { |
179 | struct { | 179 | struct { |
180 | unsigned short x_lnno; /* declaration line number */ | 180 | unsigned short x_lnno; /* declaration line number */ |
181 | unsigned short x_size; /* str/union/array size */ | 181 | unsigned short x_size; /* str/union/array size */ |
182 | } x_lnsz; | 182 | } x_lnsz; |
183 | - unsigned long x_fsize; /* size of function */ | 183 | + host_ulong x_fsize; /* size of function */ |
184 | } x_misc; | 184 | } x_misc; |
185 | union { | 185 | union { |
186 | struct { /* if ISFCN, tag, or .bb */ | 186 | struct { /* if ISFCN, tag, or .bb */ |
187 | - unsigned long x_lnnoptr;/* ptr to fcn line # */ | ||
188 | - unsigned long x_endndx; /* entry ndx past block end */ | 187 | + host_ulong x_lnnoptr;/* ptr to fcn line # */ |
188 | + host_ulong x_endndx; /* entry ndx past block end */ | ||
189 | } x_fcn; | 189 | } x_fcn; |
190 | struct { /* if ISARY, up to 4 dimen. */ | 190 | struct { /* if ISARY, up to 4 dimen. */ |
191 | char x_dimen[E_DIMNUM][2]; | 191 | char x_dimen[E_DIMNUM][2]; |
@@ -197,22 +197,22 @@ union external_auxent { | @@ -197,22 +197,22 @@ union external_auxent { | ||
197 | union { | 197 | union { |
198 | char x_fname[E_FILNMLEN]; | 198 | char x_fname[E_FILNMLEN]; |
199 | struct { | 199 | struct { |
200 | - unsigned long x_zeroes; | ||
201 | - unsigned long x_offset; | 200 | + host_ulong x_zeroes; |
201 | + host_ulong x_offset; | ||
202 | } x_n; | 202 | } x_n; |
203 | } x_file; | 203 | } x_file; |
204 | 204 | ||
205 | struct { | 205 | struct { |
206 | - unsigned long x_scnlen; /* section length */ | 206 | + host_ulong x_scnlen; /* section length */ |
207 | unsigned short x_nreloc; /* # relocation entries */ | 207 | unsigned short x_nreloc; /* # relocation entries */ |
208 | unsigned short x_nlinno; /* # line numbers */ | 208 | unsigned short x_nlinno; /* # line numbers */ |
209 | - unsigned long x_checksum; /* section COMDAT checksum */ | 209 | + host_ulong x_checksum; /* section COMDAT checksum */ |
210 | unsigned short x_associated;/* COMDAT associated section index */ | 210 | unsigned short x_associated;/* COMDAT associated section index */ |
211 | char x_comdat[1]; /* COMDAT selection number */ | 211 | char x_comdat[1]; /* COMDAT selection number */ |
212 | } x_scn; | 212 | } x_scn; |
213 | 213 | ||
214 | struct { | 214 | struct { |
215 | - unsigned long x_tvfill; /* tv fill value */ | 215 | + host_ulong x_tvfill; /* tv fill value */ |
216 | unsigned short x_tvlen; /* length of .tv */ | 216 | unsigned short x_tvlen; /* length of .tv */ |
217 | char x_tvran[2][2]; /* tv range */ | 217 | char x_tvran[2][2]; /* tv range */ |
218 | } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ | 218 | } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ |
@@ -344,7 +344,7 @@ struct external_PE_filehdr | @@ -344,7 +344,7 @@ struct external_PE_filehdr | ||
344 | unsigned short e_oemid; /* OEM identifier (for e_oeminfo), 0x0 */ | 344 | unsigned short e_oemid; /* OEM identifier (for e_oeminfo), 0x0 */ |
345 | unsigned short e_oeminfo; /* OEM information; e_oemid specific, 0x0 */ | 345 | unsigned short e_oeminfo; /* OEM information; e_oemid specific, 0x0 */ |
346 | char e_res2[10][2]; /* Reserved words, all 0x0 */ | 346 | char e_res2[10][2]; /* Reserved words, all 0x0 */ |
347 | - unsigned long e_lfanew; /* File address of new exe header, 0x80 */ | 347 | + host_ulong e_lfanew; /* File address of new exe header, 0x80 */ |
348 | char dos_message[16][4]; /* other stuff, always follow DOS header */ | 348 | char dos_message[16][4]; /* other stuff, always follow DOS header */ |
349 | unsigned int nt_signature; /* required NT signature, 0x4550 */ | 349 | unsigned int nt_signature; /* required NT signature, 0x4550 */ |
350 | 350 | ||
@@ -352,9 +352,9 @@ struct external_PE_filehdr | @@ -352,9 +352,9 @@ struct external_PE_filehdr | ||
352 | 352 | ||
353 | unsigned short f_magic; /* magic number */ | 353 | unsigned short f_magic; /* magic number */ |
354 | unsigned short f_nscns; /* number of sections */ | 354 | unsigned short f_nscns; /* number of sections */ |
355 | - unsigned long f_timdat; /* time & date stamp */ | ||
356 | - unsigned long f_symptr; /* file pointer to symtab */ | ||
357 | - unsigned long f_nsyms; /* number of symtab entries */ | 355 | + host_ulong f_timdat; /* time & date stamp */ |
356 | + host_ulong f_symptr; /* file pointer to symtab */ | ||
357 | + host_ulong f_nsyms; /* number of symtab entries */ | ||
358 | unsigned short f_opthdr; /* sizeof(optional hdr) */ | 358 | unsigned short f_opthdr; /* sizeof(optional hdr) */ |
359 | unsigned short f_flags; /* flags */ | 359 | unsigned short f_flags; /* flags */ |
360 | }; | 360 | }; |
@@ -370,17 +370,17 @@ typedef struct | @@ -370,17 +370,17 @@ typedef struct | ||
370 | { | 370 | { |
371 | unsigned short magic; /* type of file */ | 371 | unsigned short magic; /* type of file */ |
372 | unsigned short vstamp; /* version stamp */ | 372 | unsigned short vstamp; /* version stamp */ |
373 | - unsigned long tsize; /* text size in bytes, padded to FW bdry*/ | ||
374 | - unsigned long dsize; /* initialized data " " */ | ||
375 | - unsigned long bsize; /* uninitialized data " " */ | ||
376 | - unsigned long entry; /* entry pt. */ | ||
377 | - unsigned long text_start; /* base of text used for this file */ | ||
378 | - unsigned long data_start; /* base of all data used for this file */ | 373 | + host_ulong tsize; /* text size in bytes, padded to FW bdry*/ |
374 | + host_ulong dsize; /* initialized data " " */ | ||
375 | + host_ulong bsize; /* uninitialized data " " */ | ||
376 | + host_ulong entry; /* entry pt. */ | ||
377 | + host_ulong text_start; /* base of text used for this file */ | ||
378 | + host_ulong data_start; /* base of all data used for this file */ | ||
379 | 379 | ||
380 | /* NT extra fields; see internal.h for descriptions */ | 380 | /* NT extra fields; see internal.h for descriptions */ |
381 | - unsigned long ImageBase; | ||
382 | - unsigned long SectionAlignment; | ||
383 | - unsigned long FileAlignment; | 381 | + host_ulong ImageBase; |
382 | + host_ulong SectionAlignment; | ||
383 | + host_ulong FileAlignment; | ||
384 | unsigned short MajorOperatingSystemVersion; | 384 | unsigned short MajorOperatingSystemVersion; |
385 | unsigned short MinorOperatingSystemVersion; | 385 | unsigned short MinorOperatingSystemVersion; |
386 | unsigned short MajorImageVersion; | 386 | unsigned short MajorImageVersion; |
@@ -388,17 +388,17 @@ typedef struct | @@ -388,17 +388,17 @@ typedef struct | ||
388 | unsigned short MajorSubsystemVersion; | 388 | unsigned short MajorSubsystemVersion; |
389 | unsigned short MinorSubsystemVersion; | 389 | unsigned short MinorSubsystemVersion; |
390 | char Reserved1[4]; | 390 | char Reserved1[4]; |
391 | - unsigned long SizeOfImage; | ||
392 | - unsigned long SizeOfHeaders; | ||
393 | - unsigned long CheckSum; | 391 | + host_ulong SizeOfImage; |
392 | + host_ulong SizeOfHeaders; | ||
393 | + host_ulong CheckSum; | ||
394 | unsigned short Subsystem; | 394 | unsigned short Subsystem; |
395 | unsigned short DllCharacteristics; | 395 | unsigned short DllCharacteristics; |
396 | - unsigned long SizeOfStackReserve; | ||
397 | - unsigned long SizeOfStackCommit; | ||
398 | - unsigned long SizeOfHeapReserve; | ||
399 | - unsigned long SizeOfHeapCommit; | ||
400 | - unsigned long LoaderFlags; | ||
401 | - unsigned long NumberOfRvaAndSizes; | 396 | + host_ulong SizeOfStackReserve; |
397 | + host_ulong SizeOfStackCommit; | ||
398 | + host_ulong SizeOfHeapReserve; | ||
399 | + host_ulong SizeOfHeapCommit; | ||
400 | + host_ulong LoaderFlags; | ||
401 | + host_ulong NumberOfRvaAndSizes; | ||
402 | /* IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; */ | 402 | /* IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; */ |
403 | char DataDirectory[16][2][4]; /* 16 entries, 2 elements/entry, 4 chars */ | 403 | char DataDirectory[16][2][4]; /* 16 entries, 2 elements/entry, 4 chars */ |
404 | 404 |
dyngen.c
@@ -148,11 +148,11 @@ typedef uint64_t host_ulong; | @@ -148,11 +148,11 @@ typedef uint64_t host_ulong; | ||
148 | 148 | ||
149 | #ifdef CONFIG_FORMAT_COFF | 149 | #ifdef CONFIG_FORMAT_COFF |
150 | 150 | ||
151 | -#include "a.out.h" | ||
152 | - | ||
153 | typedef int32_t host_long; | 151 | typedef int32_t host_long; |
154 | typedef uint32_t host_ulong; | 152 | typedef uint32_t host_ulong; |
155 | 153 | ||
154 | +#include "a.out.h" | ||
155 | + | ||
156 | #define FILENAMELEN 256 | 156 | #define FILENAMELEN 256 |
157 | 157 | ||
158 | typedef struct coff_sym { | 158 | typedef struct coff_sym { |
@@ -1740,7 +1740,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, | @@ -1740,7 +1740,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, | ||
1740 | { | 1740 | { |
1741 | EXE_SYM *sym; | 1741 | EXE_SYM *sym; |
1742 | const char *sym_name, *p; | 1742 | const char *sym_name, *p; |
1743 | - unsigned long val; | 1743 | + host_ulong val; |
1744 | int n; | 1744 | int n; |
1745 | 1745 | ||
1746 | for(i = 0, sym = symtab; i < nb_syms; i++, sym++) { | 1746 | 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, | @@ -1772,7 +1772,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, | ||
1772 | #ifdef CONFIG_FORMAT_MACH | 1772 | #ifdef CONFIG_FORMAT_MACH |
1773 | offset -= section_hdr[sym->n_sect-1].addr; | 1773 | offset -= section_hdr[sym->n_sect-1].addr; |
1774 | #endif | 1774 | #endif |
1775 | - val = *(unsigned long *)(ptr + offset); | 1775 | + val = *(host_ulong *)(ptr + offset); |
1776 | #ifdef ELF_USES_RELOCA | 1776 | #ifdef ELF_USES_RELOCA |
1777 | { | 1777 | { |
1778 | int reloc_shndx, nb_relocs1, j; | 1778 | int reloc_shndx, nb_relocs1, j; |