Commit 992f48a036cccf7101e31bf3e5d901ce5320e886
1 parent
b227a8e9
Support for 32 bit ABI on 64 bit targets (only enabled Sparc64)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3396 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
41 changed files
with
1042 additions
and
997 deletions
Makefile.target
@@ -31,7 +31,10 @@ CPPFLAGS+=-I$(SRC_PATH)/darwin-user -I$(SRC_PATH)/darwin-user/$(TARGET_ARCH) | @@ -31,7 +31,10 @@ CPPFLAGS+=-I$(SRC_PATH)/darwin-user -I$(SRC_PATH)/darwin-user/$(TARGET_ARCH) | ||
31 | endif | 31 | endif |
32 | ifdef CONFIG_LINUX_USER | 32 | ifdef CONFIG_LINUX_USER |
33 | VPATH+=:$(SRC_PATH)/linux-user | 33 | VPATH+=:$(SRC_PATH)/linux-user |
34 | -CPPFLAGS+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH) | 34 | +ifndef TARGET_ABI_DIR |
35 | + TARGET_ABI_DIR=$(TARGET_ARCH) | ||
36 | +endif | ||
37 | +CPPFLAGS+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) | ||
35 | endif | 38 | endif |
36 | BASE_CFLAGS= | 39 | BASE_CFLAGS= |
37 | BASE_LDFLAGS= | 40 | BASE_LDFLAGS= |
@@ -66,6 +69,11 @@ ifeq ($(TARGET_ARCH),mips64) | @@ -66,6 +69,11 @@ ifeq ($(TARGET_ARCH),mips64) | ||
66 | TARGET_ARCH2=mips64el | 69 | TARGET_ARCH2=mips64el |
67 | endif | 70 | endif |
68 | endif | 71 | endif |
72 | +ifeq ($(TARGET_ARCH),sparc64) | ||
73 | + ifeq ($(TARGET_ABI_DIR),sparc) | ||
74 | + TARGET_ARCH2=sparc32plus | ||
75 | + endif | ||
76 | +endif | ||
69 | QEMU_USER=qemu-$(TARGET_ARCH2) | 77 | QEMU_USER=qemu-$(TARGET_ARCH2) |
70 | # system emulator name | 78 | # system emulator name |
71 | ifdef CONFIG_SOFTMMU | 79 | ifdef CONFIG_SOFTMMU |
configure
@@ -504,7 +504,7 @@ if test -z "$target_list" ; then | @@ -504,7 +504,7 @@ if test -z "$target_list" ; then | ||
504 | fi | 504 | fi |
505 | # the following are Linux specific | 505 | # the following are Linux specific |
506 | if [ "$linux_user" = "yes" ] ; then | 506 | if [ "$linux_user" = "yes" ] ; then |
507 | - target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user sh4-linux-user ppc-linux-user ppc64-linux-user x86_64-linux-user cris-linux-user $target_list" | 507 | + target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user sparc64-linux-user sparc32plus-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user sh4-linux-user ppc-linux-user ppc64-linux-user x86_64-linux-user cris-linux-user $target_list" |
508 | fi | 508 | fi |
509 | # the following are Darwin specific | 509 | # the following are Darwin specific |
510 | if [ "$darwin_user" = "yes" ] ; then | 510 | if [ "$darwin_user" = "yes" ] ; then |
@@ -933,6 +933,7 @@ target_bigendian="no" | @@ -933,6 +933,7 @@ target_bigendian="no" | ||
933 | [ "$target_cpu" = "armeb" ] && target_bigendian=yes | 933 | [ "$target_cpu" = "armeb" ] && target_bigendian=yes |
934 | [ "$target_cpu" = "sparc" ] && target_bigendian=yes | 934 | [ "$target_cpu" = "sparc" ] && target_bigendian=yes |
935 | [ "$target_cpu" = "sparc64" ] && target_bigendian=yes | 935 | [ "$target_cpu" = "sparc64" ] && target_bigendian=yes |
936 | +[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes | ||
936 | [ "$target_cpu" = "ppc" ] && target_bigendian=yes | 937 | [ "$target_cpu" = "ppc" ] && target_bigendian=yes |
937 | [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes | 938 | [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes |
938 | [ "$target_cpu" = "ppc64" ] && target_bigendian=yes | 939 | [ "$target_cpu" = "ppc64" ] && target_bigendian=yes |
@@ -1026,6 +1027,13 @@ elif test "$target_cpu" = "sparc64" ; then | @@ -1026,6 +1027,13 @@ elif test "$target_cpu" = "sparc64" ; then | ||
1026 | echo "#define TARGET_SPARC 1" >> $config_h | 1027 | echo "#define TARGET_SPARC 1" >> $config_h |
1027 | echo "#define TARGET_SPARC64 1" >> $config_h | 1028 | echo "#define TARGET_SPARC64 1" >> $config_h |
1028 | elfload32="yes" | 1029 | elfload32="yes" |
1030 | +elif test "$target_cpu" = "sparc32plus" ; then | ||
1031 | + echo "TARGET_ARCH=sparc64" >> $config_mak | ||
1032 | + echo "TARGET_ABI_DIR=sparc" >> $config_mak | ||
1033 | + echo "#define TARGET_ARCH \"sparc64\"" >> $config_h | ||
1034 | + echo "#define TARGET_SPARC 1" >> $config_h | ||
1035 | + echo "#define TARGET_SPARC64 1" >> $config_h | ||
1036 | + echo "#define TARGET_ABI32 1" >> $config_h | ||
1029 | elif test "$target_cpu" = "ppc" ; then | 1037 | elif test "$target_cpu" = "ppc" ; then |
1030 | echo "TARGET_ARCH=ppc" >> $config_mak | 1038 | echo "TARGET_ARCH=ppc" >> $config_mak |
1031 | echo "#define TARGET_ARCH \"ppc\"" >> $config_h | 1039 | echo "#define TARGET_ARCH \"ppc\"" >> $config_h |
@@ -1113,7 +1121,7 @@ if test "$target_darwin_user" = "yes" ; then | @@ -1113,7 +1121,7 @@ if test "$target_darwin_user" = "yes" ; then | ||
1113 | echo "#define CONFIG_DARWIN_USER 1" >> $config_h | 1121 | echo "#define CONFIG_DARWIN_USER 1" >> $config_h |
1114 | fi | 1122 | fi |
1115 | 1123 | ||
1116 | -if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then | 1124 | +if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "sparc32plus" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then |
1117 | echo "CONFIG_SOFTFLOAT=yes" >> $config_mak | 1125 | echo "CONFIG_SOFTFLOAT=yes" >> $config_mak |
1118 | echo "#define CONFIG_SOFTFLOAT 1" >> $config_h | 1126 | echo "#define CONFIG_SOFTFLOAT 1" >> $config_h |
1119 | fi | 1127 | fi |
linux-user/alpha/syscall.h
@@ -2,40 +2,40 @@ | @@ -2,40 +2,40 @@ | ||
2 | #define __USER_DS (1) | 2 | #define __USER_DS (1) |
3 | 3 | ||
4 | struct target_pt_regs { | 4 | struct target_pt_regs { |
5 | - target_ulong r0; | ||
6 | - target_ulong r1; | ||
7 | - target_ulong r2; | ||
8 | - target_ulong r3; | ||
9 | - target_ulong r4; | ||
10 | - target_ulong r5; | ||
11 | - target_ulong r6; | ||
12 | - target_ulong r7; | ||
13 | - target_ulong r8; | ||
14 | - target_ulong r19; | ||
15 | - target_ulong r20; | ||
16 | - target_ulong r21; | ||
17 | - target_ulong r22; | ||
18 | - target_ulong r23; | ||
19 | - target_ulong r24; | ||
20 | - target_ulong r25; | ||
21 | - target_ulong r26; | ||
22 | - target_ulong r27; | ||
23 | - target_ulong r28; | ||
24 | - target_ulong hae; | 5 | + abi_ulong r0; |
6 | + abi_ulong r1; | ||
7 | + abi_ulong r2; | ||
8 | + abi_ulong r3; | ||
9 | + abi_ulong r4; | ||
10 | + abi_ulong r5; | ||
11 | + abi_ulong r6; | ||
12 | + abi_ulong r7; | ||
13 | + abi_ulong r8; | ||
14 | + abi_ulong r19; | ||
15 | + abi_ulong r20; | ||
16 | + abi_ulong r21; | ||
17 | + abi_ulong r22; | ||
18 | + abi_ulong r23; | ||
19 | + abi_ulong r24; | ||
20 | + abi_ulong r25; | ||
21 | + abi_ulong r26; | ||
22 | + abi_ulong r27; | ||
23 | + abi_ulong r28; | ||
24 | + abi_ulong hae; | ||
25 | /* JRP - These are the values provided to a0-a2 by PALcode */ | 25 | /* JRP - These are the values provided to a0-a2 by PALcode */ |
26 | - target_ulong trap_a0; | ||
27 | - target_ulong trap_a1; | ||
28 | - target_ulong trap_a2; | 26 | + abi_ulong trap_a0; |
27 | + abi_ulong trap_a1; | ||
28 | + abi_ulong trap_a2; | ||
29 | /* These are saved by PAL-code: */ | 29 | /* These are saved by PAL-code: */ |
30 | - target_ulong ps; | ||
31 | - target_ulong pc; | ||
32 | - target_ulong gp; | ||
33 | - target_ulong r16; | ||
34 | - target_ulong r17; | ||
35 | - target_ulong r18; | 30 | + abi_ulong ps; |
31 | + abi_ulong pc; | ||
32 | + abi_ulong gp; | ||
33 | + abi_ulong r16; | ||
34 | + abi_ulong r17; | ||
35 | + abi_ulong r18; | ||
36 | /* Those is needed by qemu to temporary store the user stack pointer */ | 36 | /* Those is needed by qemu to temporary store the user stack pointer */ |
37 | - target_ulong usp; | ||
38 | - target_ulong unique; | 37 | + abi_ulong usp; |
38 | + abi_ulong unique; | ||
39 | }; | 39 | }; |
40 | 40 | ||
41 | #define UNAME_MACHINE "alpha" | 41 | #define UNAME_MACHINE "alpha" |
linux-user/alpha/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 4096 | 21 | #define TARGET_MINSIGSTKSZ 4096 |
22 | #define TARGET_SIGSTKSZ 16384 | 22 | #define TARGET_SIGSTKSZ 16384 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUAlphaState *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUAlphaState *state) |
25 | { | 25 | { |
26 | return state->ir[IR_SP]; | 26 | return state->ir[IR_SP]; |
27 | } | 27 | } |
linux-user/arm/syscall.h
linux-user/arm/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUARMState *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUARMState *state) |
25 | { | 25 | { |
26 | return state->regs[13]; | 26 | return state->regs[13]; |
27 | } | 27 | } |
linux-user/cris/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_ulong ss_size; | ||
11 | - target_long ss_flags; | 9 | + abi_ulong ss_sp; |
10 | + abi_ulong ss_size; | ||
11 | + abi_long ss_flags; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUCRISState *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUCRISState *state) |
25 | { | 25 | { |
26 | return state->regs[14]; | 26 | return state->regs[14]; |
27 | } | 27 | } |
linux-user/elfload.c
@@ -172,7 +172,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | @@ -172,7 +172,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | ||
172 | 172 | ||
173 | static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) | 173 | static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) |
174 | { | 174 | { |
175 | - target_long stack = infop->start_stack; | 175 | + abi_long stack = infop->start_stack; |
176 | memset(regs, 0, sizeof(*regs)); | 176 | memset(regs, 0, sizeof(*regs)); |
177 | regs->ARM_cpsr = 0x10; | 177 | regs->ARM_cpsr = 0x10; |
178 | if (infop->entry & 1) | 178 | if (infop->entry & 1) |
@@ -214,7 +214,11 @@ enum | @@ -214,7 +214,11 @@ enum | ||
214 | 214 | ||
215 | #define ELF_START_MMAP 0x80000000 | 215 | #define ELF_START_MMAP 0x80000000 |
216 | 216 | ||
217 | +#ifndef TARGET_ABI32 | ||
217 | #define elf_check_arch(x) ( (x) == EM_SPARCV9 || (x) == EM_SPARC32PLUS ) | 218 | #define elf_check_arch(x) ( (x) == EM_SPARCV9 || (x) == EM_SPARC32PLUS ) |
219 | +#else | ||
220 | +#define elf_check_arch(x) ( (x) == EM_SPARC32PLUS || (x) == EM_SPARC ) | ||
221 | +#endif | ||
218 | 222 | ||
219 | #define ELF_CLASS ELFCLASS64 | 223 | #define ELF_CLASS ELFCLASS64 |
220 | #define ELF_DATA ELFDATA2MSB | 224 | #define ELF_DATA ELFDATA2MSB |
@@ -224,14 +228,20 @@ enum | @@ -224,14 +228,20 @@ enum | ||
224 | 228 | ||
225 | static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) | 229 | static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) |
226 | { | 230 | { |
231 | +#ifndef TARGET_ABI32 | ||
227 | regs->tstate = 0; | 232 | regs->tstate = 0; |
233 | +#endif | ||
228 | regs->pc = infop->entry; | 234 | regs->pc = infop->entry; |
229 | regs->npc = regs->pc + 4; | 235 | regs->npc = regs->pc + 4; |
230 | regs->y = 0; | 236 | regs->y = 0; |
237 | +#ifdef TARGET_ABI32 | ||
238 | + regs->u_regs[14] = infop->start_stack - 16 * 4; | ||
239 | +#else | ||
231 | if (personality(infop->personality) == PER_LINUX32) | 240 | if (personality(infop->personality) == PER_LINUX32) |
232 | regs->u_regs[14] = infop->start_stack - 16 * 4; | 241 | regs->u_regs[14] = infop->start_stack - 16 * 4; |
233 | else | 242 | else |
234 | regs->u_regs[14] = infop->start_stack - 16 * 8 - STACK_BIAS; | 243 | regs->u_regs[14] = infop->start_stack - 16 * 8 - STACK_BIAS; |
244 | +#endif | ||
235 | } | 245 | } |
236 | 246 | ||
237 | #else | 247 | #else |
@@ -313,10 +323,10 @@ do { \ | @@ -313,10 +323,10 @@ do { \ | ||
313 | 323 | ||
314 | static inline void init_thread(struct target_pt_regs *_regs, struct image_info *infop) | 324 | static inline void init_thread(struct target_pt_regs *_regs, struct image_info *infop) |
315 | { | 325 | { |
316 | - target_ulong pos = infop->start_stack; | ||
317 | - target_ulong tmp; | 326 | + abi_ulong pos = infop->start_stack; |
327 | + abi_ulong tmp; | ||
318 | #ifdef TARGET_PPC64 | 328 | #ifdef TARGET_PPC64 |
319 | - target_ulong entry, toc; | 329 | + abi_ulong entry, toc; |
320 | #endif | 330 | #endif |
321 | 331 | ||
322 | _regs->msr = 1 << MSR_PR; /* Set user mode */ | 332 | _regs->msr = 1 << MSR_PR; /* Set user mode */ |
@@ -333,9 +343,9 @@ static inline void init_thread(struct target_pt_regs *_regs, struct image_info * | @@ -333,9 +343,9 @@ static inline void init_thread(struct target_pt_regs *_regs, struct image_info * | ||
333 | * execution of PPC BSD programs. | 343 | * execution of PPC BSD programs. |
334 | */ | 344 | */ |
335 | _regs->gpr[3] = tgetl(pos); | 345 | _regs->gpr[3] = tgetl(pos); |
336 | - pos += sizeof(target_ulong); | 346 | + pos += sizeof(abi_ulong); |
337 | _regs->gpr[4] = pos; | 347 | _regs->gpr[4] = pos; |
338 | - for (tmp = 1; tmp != 0; pos += sizeof(target_ulong)) | 348 | + for (tmp = 1; tmp != 0; pos += sizeof(abi_ulong)) |
339 | tmp = ldl(pos); | 349 | tmp = ldl(pos); |
340 | _regs->gpr[5] = pos; | 350 | _regs->gpr[5] = pos; |
341 | } | 351 | } |
@@ -475,9 +485,9 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | @@ -475,9 +485,9 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | ||
475 | #define ELF_HWCAP 0 | 485 | #define ELF_HWCAP 0 |
476 | #endif | 486 | #endif |
477 | 487 | ||
478 | -#ifdef OVERRIDE_ELF_CLASS | 488 | +#ifdef TARGET_ABI32 |
479 | #undef ELF_CLASS | 489 | #undef ELF_CLASS |
480 | -#define ELF_CLASS OVERRIDE_ELF_CLASS | 490 | +#define ELF_CLASS ELFCLASS32 |
481 | #undef bswaptls | 491 | #undef bswaptls |
482 | #define bswaptls(ptr) bswap32s(ptr) | 492 | #define bswaptls(ptr) bswap32s(ptr) |
483 | #endif | 493 | #endif |
@@ -588,8 +598,8 @@ static void bswap_sym(struct elf_sym *sym) | @@ -588,8 +598,8 @@ static void bswap_sym(struct elf_sym *sym) | ||
588 | * to be put directly into the top of new user memory. | 598 | * to be put directly into the top of new user memory. |
589 | * | 599 | * |
590 | */ | 600 | */ |
591 | -static target_ulong copy_elf_strings(int argc,char ** argv, void **page, | ||
592 | - target_ulong p) | 601 | +static abi_ulong copy_elf_strings(int argc,char ** argv, void **page, |
602 | + abi_ulong p) | ||
593 | { | 603 | { |
594 | char *tmp, *tmp1, *pag = NULL; | 604 | char *tmp, *tmp1, *pag = NULL; |
595 | int len, offset = 0; | 605 | int len, offset = 0; |
@@ -638,10 +648,10 @@ static target_ulong copy_elf_strings(int argc,char ** argv, void **page, | @@ -638,10 +648,10 @@ static target_ulong copy_elf_strings(int argc,char ** argv, void **page, | ||
638 | return p; | 648 | return p; |
639 | } | 649 | } |
640 | 650 | ||
641 | -static target_ulong setup_arg_pages(target_ulong p, struct linux_binprm *bprm, | ||
642 | - struct image_info *info) | 651 | +static abi_ulong setup_arg_pages(abi_ulong p, struct linux_binprm *bprm, |
652 | + struct image_info *info) | ||
643 | { | 653 | { |
644 | - target_ulong stack_base, size, error; | 654 | + abi_ulong stack_base, size, error; |
645 | int i; | 655 | int i; |
646 | 656 | ||
647 | /* Create enough stack to hold everything. If we don't use | 657 | /* Create enough stack to hold everything. If we don't use |
@@ -677,7 +687,7 @@ static target_ulong setup_arg_pages(target_ulong p, struct linux_binprm *bprm, | @@ -677,7 +687,7 @@ static target_ulong setup_arg_pages(target_ulong p, struct linux_binprm *bprm, | ||
677 | return p; | 687 | return p; |
678 | } | 688 | } |
679 | 689 | ||
680 | -static void set_brk(target_ulong start, target_ulong end) | 690 | +static void set_brk(abi_ulong start, abi_ulong end) |
681 | { | 691 | { |
682 | /* page-align the start and end addresses... */ | 692 | /* page-align the start and end addresses... */ |
683 | start = HOST_PAGE_ALIGN(start); | 693 | start = HOST_PAGE_ALIGN(start); |
@@ -696,9 +706,9 @@ static void set_brk(target_ulong start, target_ulong end) | @@ -696,9 +706,9 @@ static void set_brk(target_ulong start, target_ulong end) | ||
696 | /* We need to explicitly zero any fractional pages after the data | 706 | /* We need to explicitly zero any fractional pages after the data |
697 | section (i.e. bss). This would contain the junk from the file that | 707 | section (i.e. bss). This would contain the junk from the file that |
698 | should not be in memory. */ | 708 | should not be in memory. */ |
699 | -static void padzero(target_ulong elf_bss, target_ulong last_bss) | 709 | +static void padzero(abi_ulong elf_bss, abi_ulong last_bss) |
700 | { | 710 | { |
701 | - target_ulong nbyte; | 711 | + abi_ulong nbyte; |
702 | 712 | ||
703 | if (elf_bss >= last_bss) | 713 | if (elf_bss >= last_bss) |
704 | return; | 714 | return; |
@@ -709,7 +719,7 @@ static void padzero(target_ulong elf_bss, target_ulong last_bss) | @@ -709,7 +719,7 @@ static void padzero(target_ulong elf_bss, target_ulong last_bss) | ||
709 | patch target_mmap(), but it is more complicated as the file | 719 | patch target_mmap(), but it is more complicated as the file |
710 | size must be known */ | 720 | size must be known */ |
711 | if (qemu_real_host_page_size < qemu_host_page_size) { | 721 | if (qemu_real_host_page_size < qemu_host_page_size) { |
712 | - target_ulong end_addr, end_addr1; | 722 | + abi_ulong end_addr, end_addr1; |
713 | end_addr1 = (elf_bss + qemu_real_host_page_size - 1) & | 723 | end_addr1 = (elf_bss + qemu_real_host_page_size - 1) & |
714 | ~(qemu_real_host_page_size - 1); | 724 | ~(qemu_real_host_page_size - 1); |
715 | end_addr = HOST_PAGE_ALIGN(elf_bss); | 725 | end_addr = HOST_PAGE_ALIGN(elf_bss); |
@@ -731,16 +741,16 @@ static void padzero(target_ulong elf_bss, target_ulong last_bss) | @@ -731,16 +741,16 @@ static void padzero(target_ulong elf_bss, target_ulong last_bss) | ||
731 | } | 741 | } |
732 | 742 | ||
733 | 743 | ||
734 | -static target_ulong create_elf_tables(target_ulong p, int argc, int envc, | ||
735 | - struct elfhdr * exec, | ||
736 | - target_ulong load_addr, | ||
737 | - target_ulong load_bias, | ||
738 | - target_ulong interp_load_addr, int ibcs, | ||
739 | - struct image_info *info) | 744 | +static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc, |
745 | + struct elfhdr * exec, | ||
746 | + abi_ulong load_addr, | ||
747 | + abi_ulong load_bias, | ||
748 | + abi_ulong interp_load_addr, int ibcs, | ||
749 | + struct image_info *info) | ||
740 | { | 750 | { |
741 | - target_ulong sp; | 751 | + abi_ulong sp; |
742 | int size; | 752 | int size; |
743 | - target_ulong u_platform; | 753 | + abi_ulong u_platform; |
744 | const char *k_platform; | 754 | const char *k_platform; |
745 | const int n = sizeof(elf_addr_t); | 755 | const int n = sizeof(elf_addr_t); |
746 | 756 | ||
@@ -756,7 +766,7 @@ static target_ulong create_elf_tables(target_ulong p, int argc, int envc, | @@ -756,7 +766,7 @@ static target_ulong create_elf_tables(target_ulong p, int argc, int envc, | ||
756 | /* | 766 | /* |
757 | * Force 16 byte _final_ alignment here for generality. | 767 | * Force 16 byte _final_ alignment here for generality. |
758 | */ | 768 | */ |
759 | - sp = sp &~ (target_ulong)15; | 769 | + sp = sp &~ (abi_ulong)15; |
760 | size = (DLINFO_ITEMS + 1) * 2; | 770 | size = (DLINFO_ITEMS + 1) * 2; |
761 | if (k_platform) | 771 | if (k_platform) |
762 | size += 2; | 772 | size += 2; |
@@ -786,18 +796,18 @@ static target_ulong create_elf_tables(target_ulong p, int argc, int envc, | @@ -786,18 +796,18 @@ static target_ulong create_elf_tables(target_ulong p, int argc, int envc, | ||
786 | NEW_AUX_ENT (AT_NULL, 0); | 796 | NEW_AUX_ENT (AT_NULL, 0); |
787 | 797 | ||
788 | /* There must be exactly DLINFO_ITEMS entries here. */ | 798 | /* There must be exactly DLINFO_ITEMS entries here. */ |
789 | - NEW_AUX_ENT(AT_PHDR, (target_ulong)(load_addr + exec->e_phoff)); | ||
790 | - NEW_AUX_ENT(AT_PHENT, (target_ulong)(sizeof (struct elf_phdr))); | ||
791 | - NEW_AUX_ENT(AT_PHNUM, (target_ulong)(exec->e_phnum)); | ||
792 | - NEW_AUX_ENT(AT_PAGESZ, (target_ulong)(TARGET_PAGE_SIZE)); | ||
793 | - NEW_AUX_ENT(AT_BASE, (target_ulong)(interp_load_addr)); | ||
794 | - NEW_AUX_ENT(AT_FLAGS, (target_ulong)0); | 799 | + NEW_AUX_ENT(AT_PHDR, (abi_ulong)(load_addr + exec->e_phoff)); |
800 | + NEW_AUX_ENT(AT_PHENT, (abi_ulong)(sizeof (struct elf_phdr))); | ||
801 | + NEW_AUX_ENT(AT_PHNUM, (abi_ulong)(exec->e_phnum)); | ||
802 | + NEW_AUX_ENT(AT_PAGESZ, (abi_ulong)(TARGET_PAGE_SIZE)); | ||
803 | + NEW_AUX_ENT(AT_BASE, (abi_ulong)(interp_load_addr)); | ||
804 | + NEW_AUX_ENT(AT_FLAGS, (abi_ulong)0); | ||
795 | NEW_AUX_ENT(AT_ENTRY, load_bias + exec->e_entry); | 805 | NEW_AUX_ENT(AT_ENTRY, load_bias + exec->e_entry); |
796 | - NEW_AUX_ENT(AT_UID, (target_ulong) getuid()); | ||
797 | - NEW_AUX_ENT(AT_EUID, (target_ulong) geteuid()); | ||
798 | - NEW_AUX_ENT(AT_GID, (target_ulong) getgid()); | ||
799 | - NEW_AUX_ENT(AT_EGID, (target_ulong) getegid()); | ||
800 | - NEW_AUX_ENT(AT_HWCAP, (target_ulong) ELF_HWCAP); | 806 | + NEW_AUX_ENT(AT_UID, (abi_ulong) getuid()); |
807 | + NEW_AUX_ENT(AT_EUID, (abi_ulong) geteuid()); | ||
808 | + NEW_AUX_ENT(AT_GID, (abi_ulong) getgid()); | ||
809 | + NEW_AUX_ENT(AT_EGID, (abi_ulong) getegid()); | ||
810 | + NEW_AUX_ENT(AT_HWCAP, (abi_ulong) ELF_HWCAP); | ||
801 | if (k_platform) | 811 | if (k_platform) |
802 | NEW_AUX_ENT(AT_PLATFORM, u_platform); | 812 | NEW_AUX_ENT(AT_PLATFORM, u_platform); |
803 | #ifdef ARCH_DLINFO | 813 | #ifdef ARCH_DLINFO |
@@ -814,17 +824,17 @@ static target_ulong create_elf_tables(target_ulong p, int argc, int envc, | @@ -814,17 +824,17 @@ static target_ulong create_elf_tables(target_ulong p, int argc, int envc, | ||
814 | } | 824 | } |
815 | 825 | ||
816 | 826 | ||
817 | -static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | ||
818 | - int interpreter_fd, | ||
819 | - target_ulong *interp_load_addr) | 827 | +static abi_ulong load_elf_interp(struct elfhdr * interp_elf_ex, |
828 | + int interpreter_fd, | ||
829 | + abi_ulong *interp_load_addr) | ||
820 | { | 830 | { |
821 | struct elf_phdr *elf_phdata = NULL; | 831 | struct elf_phdr *elf_phdata = NULL; |
822 | struct elf_phdr *eppnt; | 832 | struct elf_phdr *eppnt; |
823 | - target_ulong load_addr = 0; | 833 | + abi_ulong load_addr = 0; |
824 | int load_addr_set = 0; | 834 | int load_addr_set = 0; |
825 | int retval; | 835 | int retval; |
826 | - target_ulong last_bss, elf_bss; | ||
827 | - target_ulong error; | 836 | + abi_ulong last_bss, elf_bss; |
837 | + abi_ulong error; | ||
828 | int i; | 838 | int i; |
829 | 839 | ||
830 | elf_bss = 0; | 840 | elf_bss = 0; |
@@ -838,20 +848,20 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | @@ -838,20 +848,20 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | ||
838 | if ((interp_elf_ex->e_type != ET_EXEC && | 848 | if ((interp_elf_ex->e_type != ET_EXEC && |
839 | interp_elf_ex->e_type != ET_DYN) || | 849 | interp_elf_ex->e_type != ET_DYN) || |
840 | !elf_check_arch(interp_elf_ex->e_machine)) { | 850 | !elf_check_arch(interp_elf_ex->e_machine)) { |
841 | - return ~((target_ulong)0UL); | 851 | + return ~((abi_ulong)0UL); |
842 | } | 852 | } |
843 | 853 | ||
844 | 854 | ||
845 | /* Now read in all of the header information */ | 855 | /* Now read in all of the header information */ |
846 | 856 | ||
847 | if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > TARGET_PAGE_SIZE) | 857 | if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > TARGET_PAGE_SIZE) |
848 | - return ~(target_ulong)0UL; | 858 | + return ~(abi_ulong)0UL; |
849 | 859 | ||
850 | elf_phdata = (struct elf_phdr *) | 860 | elf_phdata = (struct elf_phdr *) |
851 | malloc(sizeof(struct elf_phdr) * interp_elf_ex->e_phnum); | 861 | malloc(sizeof(struct elf_phdr) * interp_elf_ex->e_phnum); |
852 | 862 | ||
853 | if (!elf_phdata) | 863 | if (!elf_phdata) |
854 | - return ~((target_ulong)0UL); | 864 | + return ~((abi_ulong)0UL); |
855 | 865 | ||
856 | /* | 866 | /* |
857 | * If the size of this structure has changed, then punt, since | 867 | * If the size of this structure has changed, then punt, since |
@@ -859,7 +869,7 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | @@ -859,7 +869,7 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | ||
859 | */ | 869 | */ |
860 | if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) { | 870 | if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) { |
861 | free(elf_phdata); | 871 | free(elf_phdata); |
862 | - return ~((target_ulong)0UL); | 872 | + return ~((abi_ulong)0UL); |
863 | } | 873 | } |
864 | 874 | ||
865 | retval = lseek(interpreter_fd, interp_elf_ex->e_phoff, SEEK_SET); | 875 | retval = lseek(interpreter_fd, interp_elf_ex->e_phoff, SEEK_SET); |
@@ -900,8 +910,8 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | @@ -900,8 +910,8 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | ||
900 | if (eppnt->p_type == PT_LOAD) { | 910 | if (eppnt->p_type == PT_LOAD) { |
901 | int elf_type = MAP_PRIVATE | MAP_DENYWRITE; | 911 | int elf_type = MAP_PRIVATE | MAP_DENYWRITE; |
902 | int elf_prot = 0; | 912 | int elf_prot = 0; |
903 | - target_ulong vaddr = 0; | ||
904 | - target_ulong k; | 913 | + abi_ulong vaddr = 0; |
914 | + abi_ulong k; | ||
905 | 915 | ||
906 | if (eppnt->p_flags & PF_R) elf_prot = PROT_READ; | 916 | if (eppnt->p_flags & PF_R) elf_prot = PROT_READ; |
907 | if (eppnt->p_flags & PF_W) elf_prot |= PROT_WRITE; | 917 | if (eppnt->p_flags & PF_W) elf_prot |= PROT_WRITE; |
@@ -921,7 +931,7 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | @@ -921,7 +931,7 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | ||
921 | /* Real error */ | 931 | /* Real error */ |
922 | close(interpreter_fd); | 932 | close(interpreter_fd); |
923 | free(elf_phdata); | 933 | free(elf_phdata); |
924 | - return ~((target_ulong)0UL); | 934 | + return ~((abi_ulong)0UL); |
925 | } | 935 | } |
926 | 936 | ||
927 | if (!load_addr_set && interp_elf_ex->e_type == ET_DYN) { | 937 | if (!load_addr_set && interp_elf_ex->e_type == ET_DYN) { |
@@ -966,7 +976,7 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | @@ -966,7 +976,7 @@ static target_ulong load_elf_interp(struct elfhdr * interp_elf_ex, | ||
966 | free(elf_phdata); | 976 | free(elf_phdata); |
967 | 977 | ||
968 | *interp_load_addr = load_addr; | 978 | *interp_load_addr = load_addr; |
969 | - return ((target_ulong) interp_elf_ex->e_entry) + load_addr; | 979 | + return ((abi_ulong) interp_elf_ex->e_entry) + load_addr; |
970 | } | 980 | } |
971 | 981 | ||
972 | /* Best attempt to load symbols from this ELF object. */ | 982 | /* Best attempt to load symbols from this ELF object. */ |
@@ -1054,22 +1064,22 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1054,22 +1064,22 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1054 | struct elfhdr interp_elf_ex; | 1064 | struct elfhdr interp_elf_ex; |
1055 | struct exec interp_ex; | 1065 | struct exec interp_ex; |
1056 | int interpreter_fd = -1; /* avoid warning */ | 1066 | int interpreter_fd = -1; /* avoid warning */ |
1057 | - target_ulong load_addr, load_bias; | 1067 | + abi_ulong load_addr, load_bias; |
1058 | int load_addr_set = 0; | 1068 | int load_addr_set = 0; |
1059 | unsigned int interpreter_type = INTERPRETER_NONE; | 1069 | unsigned int interpreter_type = INTERPRETER_NONE; |
1060 | unsigned char ibcs2_interpreter; | 1070 | unsigned char ibcs2_interpreter; |
1061 | int i; | 1071 | int i; |
1062 | - target_ulong mapped_addr; | 1072 | + abi_ulong mapped_addr; |
1063 | struct elf_phdr * elf_ppnt; | 1073 | struct elf_phdr * elf_ppnt; |
1064 | struct elf_phdr *elf_phdata; | 1074 | struct elf_phdr *elf_phdata; |
1065 | - target_ulong elf_bss, k, elf_brk; | 1075 | + abi_ulong elf_bss, k, elf_brk; |
1066 | int retval; | 1076 | int retval; |
1067 | char * elf_interpreter; | 1077 | char * elf_interpreter; |
1068 | - target_ulong elf_entry, interp_load_addr = 0; | 1078 | + abi_ulong elf_entry, interp_load_addr = 0; |
1069 | int status; | 1079 | int status; |
1070 | - target_ulong start_code, end_code, start_data, end_data; | ||
1071 | - target_ulong reloc_func_desc = 0; | ||
1072 | - target_ulong elf_stack; | 1080 | + abi_ulong start_code, end_code, start_data, end_data; |
1081 | + abi_ulong reloc_func_desc = 0; | ||
1082 | + abi_ulong elf_stack; | ||
1073 | char passed_fileno[6]; | 1083 | char passed_fileno[6]; |
1074 | 1084 | ||
1075 | ibcs2_interpreter = 0; | 1085 | ibcs2_interpreter = 0; |
@@ -1125,9 +1135,9 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1125,9 +1135,9 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1125 | elf_brk = 0; | 1135 | elf_brk = 0; |
1126 | 1136 | ||
1127 | 1137 | ||
1128 | - elf_stack = ~((target_ulong)0UL); | 1138 | + elf_stack = ~((abi_ulong)0UL); |
1129 | elf_interpreter = NULL; | 1139 | elf_interpreter = NULL; |
1130 | - start_code = ~((target_ulong)0UL); | 1140 | + start_code = ~((abi_ulong)0UL); |
1131 | end_code = 0; | 1141 | end_code = 0; |
1132 | start_data = 0; | 1142 | start_data = 0; |
1133 | end_data = 0; | 1143 | end_data = 0; |
@@ -1263,9 +1273,9 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1263,9 +1273,9 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1263 | /* OK, This is the point of no return */ | 1273 | /* OK, This is the point of no return */ |
1264 | info->end_data = 0; | 1274 | info->end_data = 0; |
1265 | info->end_code = 0; | 1275 | info->end_code = 0; |
1266 | - info->start_mmap = (target_ulong)ELF_START_MMAP; | 1276 | + info->start_mmap = (abi_ulong)ELF_START_MMAP; |
1267 | info->mmap = 0; | 1277 | info->mmap = 0; |
1268 | - elf_entry = (target_ulong) elf_ex.e_entry; | 1278 | + elf_entry = (abi_ulong) elf_ex.e_entry; |
1269 | 1279 | ||
1270 | /* Do this so that we can load the interpreter, if need be. We will | 1280 | /* Do this so that we can load the interpreter, if need be. We will |
1271 | change some of these later */ | 1281 | change some of these later */ |
@@ -1282,7 +1292,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1282,7 +1292,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1282 | for(i = 0, elf_ppnt = elf_phdata; i < elf_ex.e_phnum; i++, elf_ppnt++) { | 1292 | for(i = 0, elf_ppnt = elf_phdata; i < elf_ex.e_phnum; i++, elf_ppnt++) { |
1283 | int elf_prot = 0; | 1293 | int elf_prot = 0; |
1284 | int elf_flags = 0; | 1294 | int elf_flags = 0; |
1285 | - target_ulong error; | 1295 | + abi_ulong error; |
1286 | 1296 | ||
1287 | if (elf_ppnt->p_type != PT_LOAD) | 1297 | if (elf_ppnt->p_type != PT_LOAD) |
1288 | continue; | 1298 | continue; |
@@ -1374,7 +1384,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1374,7 +1384,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1374 | close(interpreter_fd); | 1384 | close(interpreter_fd); |
1375 | free(elf_interpreter); | 1385 | free(elf_interpreter); |
1376 | 1386 | ||
1377 | - if (elf_entry == ~((target_ulong)0UL)) { | 1387 | + if (elf_entry == ~((abi_ulong)0UL)) { |
1378 | printf("Unable to load interpreter\n"); | 1388 | printf("Unable to load interpreter\n"); |
1379 | free(elf_phdata); | 1389 | free(elf_phdata); |
1380 | exit(-1); | 1390 | exit(-1); |
linux-user/elfload32.c
linux-user/flat.h
@@ -22,25 +22,25 @@ | @@ -22,25 +22,25 @@ | ||
22 | 22 | ||
23 | struct flat_hdr { | 23 | struct flat_hdr { |
24 | char magic[4]; | 24 | char magic[4]; |
25 | - target_ulong rev; /* version (as above) */ | ||
26 | - target_ulong entry; /* Offset of first executable instruction | ||
27 | - with text segment from beginning of file */ | ||
28 | - target_ulong data_start; /* Offset of data segment from beginning of | ||
29 | - file */ | ||
30 | - target_ulong data_end; /* Offset of end of data segment | ||
31 | - from beginning of file */ | ||
32 | - target_ulong bss_end; /* Offset of end of bss segment from beginning | ||
33 | - of file */ | 25 | + abi_ulong rev; /* version (as above) */ |
26 | + abi_ulong entry; /* Offset of first executable instruction | ||
27 | + with text segment from beginning of file */ | ||
28 | + abi_ulong data_start; /* Offset of data segment from beginning of | ||
29 | + file */ | ||
30 | + abi_ulong data_end; /* Offset of end of data segment | ||
31 | + from beginning of file */ | ||
32 | + abi_ulong bss_end; /* Offset of end of bss segment from beginning | ||
33 | + of file */ | ||
34 | 34 | ||
35 | /* (It is assumed that data_end through bss_end forms the bss segment.) */ | 35 | /* (It is assumed that data_end through bss_end forms the bss segment.) */ |
36 | 36 | ||
37 | - target_ulong stack_size; /* Size of stack, in bytes */ | ||
38 | - target_ulong reloc_start; /* Offset of relocation records from | ||
39 | - beginning of file */ | ||
40 | - target_ulong reloc_count; /* Number of relocation records */ | ||
41 | - target_ulong flags; | ||
42 | - target_ulong build_date; /* When the program/library was built */ | ||
43 | - target_ulong filler[5]; /* Reservered, set to zero */ | 37 | + abi_ulong stack_size; /* Size of stack, in bytes */ |
38 | + abi_ulong reloc_start; /* Offset of relocation records from | ||
39 | + beginning of file */ | ||
40 | + abi_ulong reloc_count; /* Number of relocation records */ | ||
41 | + abi_ulong flags; | ||
42 | + abi_ulong build_date; /* When the program/library was built */ | ||
43 | + abi_ulong filler[5]; /* Reservered, set to zero */ | ||
44 | }; | 44 | }; |
45 | 45 | ||
46 | #define FLAT_FLAG_RAM 0x0001 /* load program entirely into RAM */ | 46 | #define FLAT_FLAG_RAM 0x0001 /* load program entirely into RAM */ |
linux-user/flatload.c
@@ -63,13 +63,13 @@ | @@ -63,13 +63,13 @@ | ||
63 | #define UNLOADED_LIB 0x7ff000ff /* Placeholder for unused library */ | 63 | #define UNLOADED_LIB 0x7ff000ff /* Placeholder for unused library */ |
64 | 64 | ||
65 | struct lib_info { | 65 | struct lib_info { |
66 | - target_ulong start_code; /* Start of text segment */ | ||
67 | - target_ulong start_data; /* Start of data segment */ | ||
68 | - target_ulong end_data; /* Start of bss section */ | ||
69 | - target_ulong start_brk; /* End of data segment */ | ||
70 | - target_ulong text_len; /* Length of text segment */ | ||
71 | - target_ulong entry; /* Start address for this module */ | ||
72 | - target_ulong build_date; /* When this one was compiled */ | 66 | + abi_ulong start_code; /* Start of text segment */ |
67 | + abi_ulong start_data; /* Start of data segment */ | ||
68 | + abi_ulong end_data; /* Start of bss section */ | ||
69 | + abi_ulong start_brk; /* End of data segment */ | ||
70 | + abi_ulong text_len; /* Length of text segment */ | ||
71 | + abi_ulong entry; /* Start address for this module */ | ||
72 | + abi_ulong build_date; /* When this one was compiled */ | ||
73 | short loaded; /* Has this library been loaded? */ | 73 | short loaded; /* Has this library been loaded? */ |
74 | }; | 74 | }; |
75 | 75 | ||
@@ -89,7 +89,7 @@ struct linux_binprm; | @@ -89,7 +89,7 @@ struct linux_binprm; | ||
89 | */ | 89 | */ |
90 | 90 | ||
91 | /* Push a block of strings onto the guest stack. */ | 91 | /* Push a block of strings onto the guest stack. */ |
92 | -static target_ulong copy_strings(target_ulong p, int n, char **s) | 92 | +static abi_ulong copy_strings(abi_ulong p, int n, char **s) |
93 | { | 93 | { |
94 | int len; | 94 | int len; |
95 | 95 | ||
@@ -102,8 +102,8 @@ static target_ulong copy_strings(target_ulong p, int n, char **s) | @@ -102,8 +102,8 @@ static target_ulong copy_strings(target_ulong p, int n, char **s) | ||
102 | return p; | 102 | return p; |
103 | } | 103 | } |
104 | 104 | ||
105 | -int target_pread(int fd, target_ulong ptr, target_ulong len, | ||
106 | - target_ulong offset) | 105 | +int target_pread(int fd, abi_ulong ptr, abi_ulong len, |
106 | + abi_ulong offset) | ||
107 | { | 107 | { |
108 | void *buf; | 108 | void *buf; |
109 | int ret; | 109 | int ret; |
@@ -262,15 +262,15 @@ out: | @@ -262,15 +262,15 @@ out: | ||
262 | 262 | ||
263 | /****************************************************************************/ | 263 | /****************************************************************************/ |
264 | 264 | ||
265 | -static target_ulong | ||
266 | -calc_reloc(target_ulong r, struct lib_info *p, int curid, int internalp) | 265 | +static abi_ulong |
266 | +calc_reloc(abi_ulong r, struct lib_info *p, int curid, int internalp) | ||
267 | { | 267 | { |
268 | - target_ulong addr; | 268 | + abi_ulong addr; |
269 | int id; | 269 | int id; |
270 | - target_ulong start_brk; | ||
271 | - target_ulong start_data; | ||
272 | - target_ulong text_len; | ||
273 | - target_ulong start_code; | 270 | + abi_ulong start_brk; |
271 | + abi_ulong start_data; | ||
272 | + abi_ulong text_len; | ||
273 | + abi_ulong start_code; | ||
274 | 274 | ||
275 | #ifdef CONFIG_BINFMT_SHARED_FLAT | 275 | #ifdef CONFIG_BINFMT_SHARED_FLAT |
276 | #error needs checking | 276 | #error needs checking |
@@ -381,19 +381,19 @@ void old_reloc(struct lib_info *libinfo, uint32_t rl) | @@ -381,19 +381,19 @@ void old_reloc(struct lib_info *libinfo, uint32_t rl) | ||
381 | /****************************************************************************/ | 381 | /****************************************************************************/ |
382 | 382 | ||
383 | static int load_flat_file(struct linux_binprm * bprm, | 383 | static int load_flat_file(struct linux_binprm * bprm, |
384 | - struct lib_info *libinfo, int id, target_ulong *extra_stack) | 384 | + struct lib_info *libinfo, int id, abi_ulong *extra_stack) |
385 | { | 385 | { |
386 | struct flat_hdr * hdr; | 386 | struct flat_hdr * hdr; |
387 | - target_ulong textpos = 0, datapos = 0, result; | ||
388 | - target_ulong realdatastart = 0; | ||
389 | - target_ulong text_len, data_len, bss_len, stack_len, flags; | ||
390 | - target_ulong memp = 0; /* for finding the brk area */ | ||
391 | - target_ulong extra; | ||
392 | - target_ulong reloc = 0, rp; | 387 | + abi_ulong textpos = 0, datapos = 0, result; |
388 | + abi_ulong realdatastart = 0; | ||
389 | + abi_ulong text_len, data_len, bss_len, stack_len, flags; | ||
390 | + abi_ulong memp = 0; /* for finding the brk area */ | ||
391 | + abi_ulong extra; | ||
392 | + abi_ulong reloc = 0, rp; | ||
393 | int i, rev, relocs = 0; | 393 | int i, rev, relocs = 0; |
394 | - target_ulong fpos; | ||
395 | - target_ulong start_code, end_code; | ||
396 | - target_ulong indx_len; | 394 | + abi_ulong fpos; |
395 | + abi_ulong start_code, end_code; | ||
396 | + abi_ulong indx_len; | ||
397 | 397 | ||
398 | hdr = ((struct flat_hdr *) bprm->buf); /* exec-header */ | 398 | hdr = ((struct flat_hdr *) bprm->buf); /* exec-header */ |
399 | 399 | ||
@@ -440,14 +440,14 @@ static int load_flat_file(struct linux_binprm * bprm, | @@ -440,14 +440,14 @@ static int load_flat_file(struct linux_binprm * bprm, | ||
440 | /* | 440 | /* |
441 | * calculate the extra space we need to map in | 441 | * calculate the extra space we need to map in |
442 | */ | 442 | */ |
443 | - extra = relocs * sizeof(target_ulong); | 443 | + extra = relocs * sizeof(abi_ulong); |
444 | if (extra < bss_len + stack_len) | 444 | if (extra < bss_len + stack_len) |
445 | extra = bss_len + stack_len; | 445 | extra = bss_len + stack_len; |
446 | 446 | ||
447 | /* Add space for library base pointers. Make sure this does not | 447 | /* Add space for library base pointers. Make sure this does not |
448 | misalign the doesn't misalign the data segment. */ | 448 | misalign the doesn't misalign the data segment. */ |
449 | - indx_len = MAX_SHARED_LIBS * sizeof(target_ulong); | ||
450 | - indx_len = (indx_len + 15) & ~(target_ulong)15; | 449 | + indx_len = MAX_SHARED_LIBS * sizeof(abi_ulong); |
450 | + indx_len = (indx_len + 15) & ~(abi_ulong)15; | ||
451 | 451 | ||
452 | /* | 452 | /* |
453 | * there are a couple of cases here, the separate code/data | 453 | * there are a couple of cases here, the separate code/data |
@@ -485,12 +485,12 @@ static int load_flat_file(struct linux_binprm * bprm, | @@ -485,12 +485,12 @@ static int load_flat_file(struct linux_binprm * bprm, | ||
485 | #ifdef CONFIG_BINFMT_ZFLAT | 485 | #ifdef CONFIG_BINFMT_ZFLAT |
486 | if (flags & FLAT_FLAG_GZDATA) { | 486 | if (flags & FLAT_FLAG_GZDATA) { |
487 | result = decompress_exec(bprm, fpos, (char *) datapos, | 487 | result = decompress_exec(bprm, fpos, (char *) datapos, |
488 | - data_len + (relocs * sizeof(target_ulong))) | 488 | + data_len + (relocs * sizeof(abi_ulong))) |
489 | } else | 489 | } else |
490 | #endif | 490 | #endif |
491 | { | 491 | { |
492 | result = target_pread(bprm->fd, datapos, | 492 | result = target_pread(bprm->fd, datapos, |
493 | - data_len + (relocs * sizeof(target_ulong)), | 493 | + data_len + (relocs * sizeof(abi_ulong)), |
494 | fpos); | 494 | fpos); |
495 | } | 495 | } |
496 | if (result < 0) { | 496 | if (result < 0) { |
@@ -544,7 +544,7 @@ static int load_flat_file(struct linux_binprm * bprm, | @@ -544,7 +544,7 @@ static int load_flat_file(struct linux_binprm * bprm, | ||
544 | text_len, 0); | 544 | text_len, 0); |
545 | if (result >= 0) { | 545 | if (result >= 0) { |
546 | result = target_pread(bprm->fd, datapos, | 546 | result = target_pread(bprm->fd, datapos, |
547 | - data_len + (relocs * sizeof(target_ulong)), | 547 | + data_len + (relocs * sizeof(abi_ulong)), |
548 | ntohl(hdr->data_start)); | 548 | ntohl(hdr->data_start)); |
549 | } | 549 | } |
550 | } | 550 | } |
@@ -597,7 +597,7 @@ static int load_flat_file(struct linux_binprm * bprm, | @@ -597,7 +597,7 @@ static int load_flat_file(struct linux_binprm * bprm, | ||
597 | if (flags & FLAT_FLAG_GOTPIC) { | 597 | if (flags & FLAT_FLAG_GOTPIC) { |
598 | rp = datapos; | 598 | rp = datapos; |
599 | while (1) { | 599 | while (1) { |
600 | - target_ulong addr; | 600 | + abi_ulong addr; |
601 | addr = tgetl(rp); | 601 | addr = tgetl(rp); |
602 | if (addr == -1) | 602 | if (addr == -1) |
603 | break; | 603 | break; |
@@ -607,7 +607,7 @@ static int load_flat_file(struct linux_binprm * bprm, | @@ -607,7 +607,7 @@ static int load_flat_file(struct linux_binprm * bprm, | ||
607 | return -ENOEXEC; | 607 | return -ENOEXEC; |
608 | tputl(rp, addr); | 608 | tputl(rp, addr); |
609 | } | 609 | } |
610 | - rp += sizeof(target_ulong); | 610 | + rp += sizeof(abi_ulong); |
611 | } | 611 | } |
612 | } | 612 | } |
613 | 613 | ||
@@ -624,12 +624,12 @@ static int load_flat_file(struct linux_binprm * bprm, | @@ -624,12 +624,12 @@ static int load_flat_file(struct linux_binprm * bprm, | ||
624 | */ | 624 | */ |
625 | if (rev > OLD_FLAT_VERSION) { | 625 | if (rev > OLD_FLAT_VERSION) { |
626 | for (i = 0; i < relocs; i++) { | 626 | for (i = 0; i < relocs; i++) { |
627 | - target_ulong addr, relval; | 627 | + abi_ulong addr, relval; |
628 | 628 | ||
629 | /* Get the address of the pointer to be | 629 | /* Get the address of the pointer to be |
630 | relocated (of course, the address has to be | 630 | relocated (of course, the address has to be |
631 | relocated first). */ | 631 | relocated first). */ |
632 | - relval = tgetl(reloc + i * sizeof (target_ulong)); | 632 | + relval = tgetl(reloc + i * sizeof (abi_ulong)); |
633 | addr = flat_get_relocate_addr(relval); | 633 | addr = flat_get_relocate_addr(relval); |
634 | rp = calc_reloc(addr, libinfo, id, 1); | 634 | rp = calc_reloc(addr, libinfo, id, 1); |
635 | if (rp == RELOC_FAILED) | 635 | if (rp == RELOC_FAILED) |
@@ -657,8 +657,8 @@ static int load_flat_file(struct linux_binprm * bprm, | @@ -657,8 +657,8 @@ static int load_flat_file(struct linux_binprm * bprm, | ||
657 | } | 657 | } |
658 | } else { | 658 | } else { |
659 | for (i = 0; i < relocs; i++) { | 659 | for (i = 0; i < relocs; i++) { |
660 | - target_ulong relval; | ||
661 | - relval = tgetl(reloc + i * sizeof (target_ulong)); | 660 | + abi_ulong relval; |
661 | + relval = tgetl(reloc + i * sizeof (abi_ulong)); | ||
662 | old_reloc(&libinfo[0], relval); | 662 | old_reloc(&libinfo[0], relval); |
663 | } | 663 | } |
664 | } | 664 | } |
@@ -712,10 +712,10 @@ int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -712,10 +712,10 @@ int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
712 | struct image_info * info) | 712 | struct image_info * info) |
713 | { | 713 | { |
714 | struct lib_info libinfo[MAX_SHARED_LIBS]; | 714 | struct lib_info libinfo[MAX_SHARED_LIBS]; |
715 | - target_ulong p = bprm->p; | ||
716 | - target_ulong stack_len; | ||
717 | - target_ulong start_addr; | ||
718 | - target_ulong sp; | 715 | + abi_ulong p = bprm->p; |
716 | + abi_ulong stack_len; | ||
717 | + abi_ulong start_addr; | ||
718 | + abi_ulong sp; | ||
719 | int res; | 719 | int res; |
720 | int i, j; | 720 | int i, j; |
721 | 721 | ||
@@ -740,7 +740,7 @@ int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -740,7 +740,7 @@ int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
740 | /* Update data segment pointers for all libraries */ | 740 | /* Update data segment pointers for all libraries */ |
741 | for (i=0; i<MAX_SHARED_LIBS; i++) { | 741 | for (i=0; i<MAX_SHARED_LIBS; i++) { |
742 | if (libinfo[i].loaded) { | 742 | if (libinfo[i].loaded) { |
743 | - target_ulong p; | 743 | + abi_ulong p; |
744 | p = libinfo[i].start_data; | 744 | p = libinfo[i].start_data; |
745 | for (j=0; j<MAX_SHARED_LIBS; j++) { | 745 | for (j=0; j<MAX_SHARED_LIBS; j++) { |
746 | p -= 4; | 746 | p -= 4; |
@@ -758,12 +758,12 @@ int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -758,12 +758,12 @@ int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
758 | p = copy_strings(p, bprm->envc, bprm->envp); | 758 | p = copy_strings(p, bprm->envc, bprm->envp); |
759 | p = copy_strings(p, bprm->argc, bprm->argv); | 759 | p = copy_strings(p, bprm->argc, bprm->argv); |
760 | /* Align stack. */ | 760 | /* Align stack. */ |
761 | - sp = p & ~(target_ulong)(sizeof(target_ulong) - 1); | 761 | + sp = p & ~(abi_ulong)(sizeof(abi_ulong) - 1); |
762 | /* Enforce final stack alignment of 16 bytes. This is sufficient | 762 | /* Enforce final stack alignment of 16 bytes. This is sufficient |
763 | for all current targets, and excess alignment is harmless. */ | 763 | for all current targets, and excess alignment is harmless. */ |
764 | stack_len = bprm->envc + bprm->argc + 2; | 764 | stack_len = bprm->envc + bprm->argc + 2; |
765 | stack_len += 3; /* argc, arvg, argp */ | 765 | stack_len += 3; /* argc, arvg, argp */ |
766 | - stack_len *= sizeof(target_ulong); | 766 | + stack_len *= sizeof(abi_ulong); |
767 | if ((sp + stack_len) & 15) | 767 | if ((sp + stack_len) & 15) |
768 | sp -= 16 - ((sp + stack_len) & 15); | 768 | sp -= 16 - ((sp + stack_len) & 15); |
769 | sp = loader_build_argptr(bprm->envc, bprm->argc, sp, p, 1); | 769 | sp = loader_build_argptr(bprm->envc, bprm->argc, sp, p, 1); |
linux-user/i386/syscall.h
@@ -31,7 +31,7 @@ struct target_pt_regs { | @@ -31,7 +31,7 @@ struct target_pt_regs { | ||
31 | 31 | ||
32 | struct target_modify_ldt_ldt_s { | 32 | struct target_modify_ldt_ldt_s { |
33 | unsigned int entry_number; | 33 | unsigned int entry_number; |
34 | - target_ulong base_addr; | 34 | + abi_ulong base_addr; |
35 | unsigned int limit; | 35 | unsigned int limit; |
36 | unsigned int flags; | 36 | unsigned int flags; |
37 | }; | 37 | }; |
@@ -79,22 +79,22 @@ struct target_vm86_regs { | @@ -79,22 +79,22 @@ struct target_vm86_regs { | ||
79 | /* | 79 | /* |
80 | * normal regs, with special meaning for the segment descriptors.. | 80 | * normal regs, with special meaning for the segment descriptors.. |
81 | */ | 81 | */ |
82 | - target_long ebx; | ||
83 | - target_long ecx; | ||
84 | - target_long edx; | ||
85 | - target_long esi; | ||
86 | - target_long edi; | ||
87 | - target_long ebp; | ||
88 | - target_long eax; | ||
89 | - target_long __null_ds; | ||
90 | - target_long __null_es; | ||
91 | - target_long __null_fs; | ||
92 | - target_long __null_gs; | ||
93 | - target_long orig_eax; | ||
94 | - target_long eip; | 82 | + abi_long ebx; |
83 | + abi_long ecx; | ||
84 | + abi_long edx; | ||
85 | + abi_long esi; | ||
86 | + abi_long edi; | ||
87 | + abi_long ebp; | ||
88 | + abi_long eax; | ||
89 | + abi_long __null_ds; | ||
90 | + abi_long __null_es; | ||
91 | + abi_long __null_fs; | ||
92 | + abi_long __null_gs; | ||
93 | + abi_long orig_eax; | ||
94 | + abi_long eip; | ||
95 | unsigned short cs, __csh; | 95 | unsigned short cs, __csh; |
96 | - target_long eflags; | ||
97 | - target_long esp; | 96 | + abi_long eflags; |
97 | + abi_long esp; | ||
98 | unsigned short ss, __ssh; | 98 | unsigned short ss, __ssh; |
99 | /* | 99 | /* |
100 | * these are specific to v86 mode: | 100 | * these are specific to v86 mode: |
@@ -106,14 +106,14 @@ struct target_vm86_regs { | @@ -106,14 +106,14 @@ struct target_vm86_regs { | ||
106 | }; | 106 | }; |
107 | 107 | ||
108 | struct target_revectored_struct { | 108 | struct target_revectored_struct { |
109 | - target_ulong __map[8]; /* 256 bits */ | 109 | + abi_ulong __map[8]; /* 256 bits */ |
110 | }; | 110 | }; |
111 | 111 | ||
112 | struct target_vm86_struct { | 112 | struct target_vm86_struct { |
113 | struct target_vm86_regs regs; | 113 | struct target_vm86_regs regs; |
114 | - target_ulong flags; | ||
115 | - target_ulong screen_bitmap; | ||
116 | - target_ulong cpu_type; | 114 | + abi_ulong flags; |
115 | + abi_ulong screen_bitmap; | ||
116 | + abi_ulong cpu_type; | ||
117 | struct target_revectored_struct int_revectored; | 117 | struct target_revectored_struct int_revectored; |
118 | struct target_revectored_struct int21_revectored; | 118 | struct target_revectored_struct int21_revectored; |
119 | }; | 119 | }; |
@@ -124,7 +124,7 @@ struct target_vm86_struct { | @@ -124,7 +124,7 @@ struct target_vm86_struct { | ||
124 | #define TARGET_VM86_SCREEN_BITMAP 0x0001 | 124 | #define TARGET_VM86_SCREEN_BITMAP 0x0001 |
125 | 125 | ||
126 | struct target_vm86plus_info_struct { | 126 | struct target_vm86plus_info_struct { |
127 | - target_ulong flags; | 127 | + abi_ulong flags; |
128 | #define TARGET_force_return_for_pic (1 << 0) | 128 | #define TARGET_force_return_for_pic (1 << 0) |
129 | #define TARGET_vm86dbg_active (1 << 1) /* for debugger */ | 129 | #define TARGET_vm86dbg_active (1 << 1) /* for debugger */ |
130 | #define TARGET_vm86dbg_TFpendig (1 << 2) /* for debugger */ | 130 | #define TARGET_vm86dbg_TFpendig (1 << 2) /* for debugger */ |
@@ -134,9 +134,9 @@ struct target_vm86plus_info_struct { | @@ -134,9 +134,9 @@ struct target_vm86plus_info_struct { | ||
134 | 134 | ||
135 | struct target_vm86plus_struct { | 135 | struct target_vm86plus_struct { |
136 | struct target_vm86_regs regs; | 136 | struct target_vm86_regs regs; |
137 | - target_ulong flags; | ||
138 | - target_ulong screen_bitmap; | ||
139 | - target_ulong cpu_type; | 137 | + abi_ulong flags; |
138 | + abi_ulong screen_bitmap; | ||
139 | + abi_ulong cpu_type; | ||
140 | struct target_revectored_struct int_revectored; | 140 | struct target_revectored_struct int_revectored; |
141 | struct target_revectored_struct int21_revectored; | 141 | struct target_revectored_struct int21_revectored; |
142 | struct target_vm86plus_info_struct vm86plus; | 142 | struct target_vm86plus_info_struct vm86plus; |
linux-user/i386/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUX86State *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUX86State *state) |
25 | { | 25 | { |
26 | return state->regs[R_ESP]; | 26 | return state->regs[R_ESP]; |
27 | } | 27 | } |
linux-user/linuxload.c
@@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
13 | #define NGROUPS 32 | 13 | #define NGROUPS 32 |
14 | 14 | ||
15 | /* ??? This should really be somewhere else. */ | 15 | /* ??? This should really be somewhere else. */ |
16 | -void memcpy_to_target(target_ulong dest, const void *src, | 16 | +void memcpy_to_target(abi_ulong dest, const void *src, |
17 | unsigned long len) | 17 | unsigned long len) |
18 | { | 18 | { |
19 | void *host_ptr; | 19 | void *host_ptr; |
@@ -109,12 +109,12 @@ static int prepare_binprm(struct linux_binprm *bprm) | @@ -109,12 +109,12 @@ static int prepare_binprm(struct linux_binprm *bprm) | ||
109 | } | 109 | } |
110 | 110 | ||
111 | /* Construct the envp and argv tables on the target stack. */ | 111 | /* Construct the envp and argv tables on the target stack. */ |
112 | -target_ulong loader_build_argptr(int envc, int argc, target_ulong sp, | ||
113 | - target_ulong stringp, int push_ptr) | 112 | +abi_ulong loader_build_argptr(int envc, int argc, abi_ulong sp, |
113 | + abi_ulong stringp, int push_ptr) | ||
114 | { | 114 | { |
115 | - int n = sizeof(target_ulong); | ||
116 | - target_ulong envp; | ||
117 | - target_ulong argv; | 115 | + int n = sizeof(abi_ulong); |
116 | + abi_ulong envp; | ||
117 | + abi_ulong argv; | ||
118 | 118 | ||
119 | sp -= (envc + 1) * n; | 119 | sp -= (envc + 1) * n; |
120 | envp = sp; | 120 | envp = sp; |
linux-user/m68k/syscall.h
@@ -3,14 +3,14 @@ | @@ -3,14 +3,14 @@ | ||
3 | stack during a system call. */ | 3 | stack during a system call. */ |
4 | 4 | ||
5 | struct target_pt_regs { | 5 | struct target_pt_regs { |
6 | - target_long d1, d2, d3, d4, d5, d6, d7; | ||
7 | - target_long a0, a1, a2, a3, a4, a5, a6; | ||
8 | - target_ulong d0; | ||
9 | - target_ulong usp; | ||
10 | - target_ulong orig_d0; | 6 | + abi_long d1, d2, d3, d4, d5, d6, d7; |
7 | + abi_long a0, a1, a2, a3, a4, a5, a6; | ||
8 | + abi_ulong d0; | ||
9 | + abi_ulong usp; | ||
10 | + abi_ulong orig_d0; | ||
11 | int16_t stkadj; | 11 | int16_t stkadj; |
12 | uint16_t sr; | 12 | uint16_t sr; |
13 | - target_ulong pc; | 13 | + abi_ulong pc; |
14 | uint16_t fntvex; | 14 | uint16_t fntvex; |
15 | uint16_t __fill; | 15 | uint16_t __fill; |
16 | }; | 16 | }; |
linux-user/m68k/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 |
linux-user/main.c
@@ -168,7 +168,7 @@ static void set_idt(int n, unsigned int dpl) | @@ -168,7 +168,7 @@ static void set_idt(int n, unsigned int dpl) | ||
168 | void cpu_loop(CPUX86State *env) | 168 | void cpu_loop(CPUX86State *env) |
169 | { | 169 | { |
170 | int trapnr; | 170 | int trapnr; |
171 | - target_ulong pc; | 171 | + abi_ulong pc; |
172 | target_siginfo_t info; | 172 | target_siginfo_t info; |
173 | 173 | ||
174 | for(;;) { | 174 | for(;;) { |
@@ -305,11 +305,11 @@ void cpu_loop(CPUX86State *env) | @@ -305,11 +305,11 @@ void cpu_loop(CPUX86State *env) | ||
305 | #ifdef TARGET_ARM | 305 | #ifdef TARGET_ARM |
306 | 306 | ||
307 | /* XXX: find a better solution */ | 307 | /* XXX: find a better solution */ |
308 | -extern void tb_invalidate_page_range(target_ulong start, target_ulong end); | 308 | +extern void tb_invalidate_page_range(abi_ulong start, abi_ulong end); |
309 | 309 | ||
310 | -static void arm_cache_flush(target_ulong start, target_ulong last) | 310 | +static void arm_cache_flush(abi_ulong start, abi_ulong last) |
311 | { | 311 | { |
312 | - target_ulong addr, last1; | 312 | + abi_ulong addr, last1; |
313 | 313 | ||
314 | if (last < start) | 314 | if (last < start) |
315 | return; | 315 | return; |
@@ -474,7 +474,7 @@ static inline int get_reg_index(CPUSPARCState *env, int cwp, int index) | @@ -474,7 +474,7 @@ static inline int get_reg_index(CPUSPARCState *env, int cwp, int index) | ||
474 | static inline void save_window_offset(CPUSPARCState *env, int cwp1) | 474 | static inline void save_window_offset(CPUSPARCState *env, int cwp1) |
475 | { | 475 | { |
476 | unsigned int i; | 476 | unsigned int i; |
477 | - target_ulong sp_ptr; | 477 | + abi_ulong sp_ptr; |
478 | 478 | ||
479 | sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)]; | 479 | sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)]; |
480 | #if defined(DEBUG_WIN) | 480 | #if defined(DEBUG_WIN) |
@@ -483,7 +483,7 @@ static inline void save_window_offset(CPUSPARCState *env, int cwp1) | @@ -483,7 +483,7 @@ static inline void save_window_offset(CPUSPARCState *env, int cwp1) | ||
483 | #endif | 483 | #endif |
484 | for(i = 0; i < 16; i++) { | 484 | for(i = 0; i < 16; i++) { |
485 | tputl(sp_ptr, env->regbase[get_reg_index(env, cwp1, 8 + i)]); | 485 | tputl(sp_ptr, env->regbase[get_reg_index(env, cwp1, 8 + i)]); |
486 | - sp_ptr += sizeof(target_ulong); | 486 | + sp_ptr += sizeof(abi_ulong); |
487 | } | 487 | } |
488 | } | 488 | } |
489 | 489 | ||
@@ -505,7 +505,7 @@ static void save_window(CPUSPARCState *env) | @@ -505,7 +505,7 @@ static void save_window(CPUSPARCState *env) | ||
505 | static void restore_window(CPUSPARCState *env) | 505 | static void restore_window(CPUSPARCState *env) |
506 | { | 506 | { |
507 | unsigned int new_wim, i, cwp1; | 507 | unsigned int new_wim, i, cwp1; |
508 | - target_ulong sp_ptr; | 508 | + abi_ulong sp_ptr; |
509 | 509 | ||
510 | new_wim = ((env->wim << 1) | (env->wim >> (NWINDOWS - 1))) & | 510 | new_wim = ((env->wim << 1) | (env->wim >> (NWINDOWS - 1))) & |
511 | ((1LL << NWINDOWS) - 1); | 511 | ((1LL << NWINDOWS) - 1); |
@@ -519,7 +519,7 @@ static void restore_window(CPUSPARCState *env) | @@ -519,7 +519,7 @@ static void restore_window(CPUSPARCState *env) | ||
519 | #endif | 519 | #endif |
520 | for(i = 0; i < 16; i++) { | 520 | for(i = 0; i < 16; i++) { |
521 | env->regbase[get_reg_index(env, cwp1, 8 + i)] = tgetl(sp_ptr); | 521 | env->regbase[get_reg_index(env, cwp1, 8 + i)] = tgetl(sp_ptr); |
522 | - sp_ptr += sizeof(target_ulong); | 522 | + sp_ptr += sizeof(abi_ulong); |
523 | } | 523 | } |
524 | env->wim = new_wim; | 524 | env->wim = new_wim; |
525 | #ifdef TARGET_SPARC64 | 525 | #ifdef TARGET_SPARC64 |
@@ -572,14 +572,14 @@ void cpu_loop (CPUSPARCState *env) | @@ -572,14 +572,14 @@ void cpu_loop (CPUSPARCState *env) | ||
572 | env->regwptr[2], env->regwptr[3], | 572 | env->regwptr[2], env->regwptr[3], |
573 | env->regwptr[4], env->regwptr[5]); | 573 | env->regwptr[4], env->regwptr[5]); |
574 | if ((unsigned int)ret >= (unsigned int)(-515)) { | 574 | if ((unsigned int)ret >= (unsigned int)(-515)) { |
575 | -#ifdef TARGET_SPARC64 | 575 | +#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32) |
576 | env->xcc |= PSR_CARRY; | 576 | env->xcc |= PSR_CARRY; |
577 | #else | 577 | #else |
578 | env->psr |= PSR_CARRY; | 578 | env->psr |= PSR_CARRY; |
579 | #endif | 579 | #endif |
580 | ret = -ret; | 580 | ret = -ret; |
581 | } else { | 581 | } else { |
582 | -#ifdef TARGET_SPARC64 | 582 | +#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32) |
583 | env->xcc &= ~PSR_CARRY; | 583 | env->xcc &= ~PSR_CARRY; |
584 | #else | 584 | #else |
585 | env->psr &= ~PSR_CARRY; | 585 | env->psr &= ~PSR_CARRY; |
@@ -591,6 +591,9 @@ void cpu_loop (CPUSPARCState *env) | @@ -591,6 +591,9 @@ void cpu_loop (CPUSPARCState *env) | ||
591 | env->npc = env->npc + 4; | 591 | env->npc = env->npc + 4; |
592 | break; | 592 | break; |
593 | case 0x83: /* flush windows */ | 593 | case 0x83: /* flush windows */ |
594 | +#ifdef TARGET_ABI32 | ||
595 | + case 0x103: | ||
596 | +#endif | ||
594 | flush_windows(env); | 597 | flush_windows(env); |
595 | /* next instruction */ | 598 | /* next instruction */ |
596 | env->pc = env->npc; | 599 | env->pc = env->npc; |
@@ -1489,8 +1492,8 @@ void cpu_loop(CPUMIPSState *env) | @@ -1489,8 +1492,8 @@ void cpu_loop(CPUMIPSState *env) | ||
1489 | ret = -ENOSYS; | 1492 | ret = -ENOSYS; |
1490 | } else { | 1493 | } else { |
1491 | int nb_args; | 1494 | int nb_args; |
1492 | - target_ulong sp_reg; | ||
1493 | - target_ulong arg5 = 0, arg6 = 0, arg7 = 0, arg8 = 0; | 1495 | + abi_ulong sp_reg; |
1496 | + abi_ulong arg5 = 0, arg6 = 0, arg7 = 0, arg8 = 0; | ||
1494 | 1497 | ||
1495 | nb_args = mips_syscall_args[syscall_num]; | 1498 | nb_args = mips_syscall_args[syscall_num]; |
1496 | sp_reg = env->gpr[29][env->current_tc]; | 1499 | sp_reg = env->gpr[29][env->current_tc]; |
@@ -2239,7 +2242,7 @@ int main(int argc, char **argv) | @@ -2239,7 +2242,7 @@ int main(int argc, char **argv) | ||
2239 | int i; | 2242 | int i; |
2240 | 2243 | ||
2241 | for(i = 0; i < 28; i++) { | 2244 | for(i = 0; i < 28; i++) { |
2242 | - env->ir[i] = ((target_ulong *)regs)[i]; | 2245 | + env->ir[i] = ((abi_ulong *)regs)[i]; |
2243 | } | 2246 | } |
2244 | env->ipr[IPR_USP] = regs->usp; | 2247 | env->ipr[IPR_USP] = regs->usp; |
2245 | env->ir[30] = regs->usp; | 2248 | env->ir[30] = regs->usp; |
linux-user/mips/syscall.h
@@ -4,18 +4,18 @@ | @@ -4,18 +4,18 @@ | ||
4 | 4 | ||
5 | struct target_pt_regs { | 5 | struct target_pt_regs { |
6 | /* Pad bytes for argument save space on the stack. */ | 6 | /* Pad bytes for argument save space on the stack. */ |
7 | - target_ulong pad0[6]; | 7 | + abi_ulong pad0[6]; |
8 | 8 | ||
9 | /* Saved main processor registers. */ | 9 | /* Saved main processor registers. */ |
10 | - target_ulong regs[32]; | 10 | + abi_ulong regs[32]; |
11 | 11 | ||
12 | /* Saved special registers. */ | 12 | /* Saved special registers. */ |
13 | - target_ulong cp0_status; | ||
14 | - target_ulong lo; | ||
15 | - target_ulong hi; | ||
16 | - target_ulong cp0_badvaddr; | ||
17 | - target_ulong cp0_cause; | ||
18 | - target_ulong cp0_epc; | 13 | + abi_ulong cp0_status; |
14 | + abi_ulong lo; | ||
15 | + abi_ulong hi; | ||
16 | + abi_ulong cp0_badvaddr; | ||
17 | + abi_ulong cp0_cause; | ||
18 | + abi_ulong cp0_epc; | ||
19 | }; | 19 | }; |
20 | 20 | ||
21 | /* Target errno definitions taken from asm-mips/errno.h */ | 21 | /* Target errno definitions taken from asm-mips/errno.h */ |
linux-user/mips/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_long ss_sp; | ||
10 | - target_ulong ss_size; | ||
11 | - target_long ss_flags; | 9 | + abi_long ss_sp; |
10 | + abi_ulong ss_size; | ||
11 | + abi_long ss_flags; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUMIPSState *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUMIPSState *state) |
25 | { | 25 | { |
26 | return state->gpr[29][state->current_tc]; | 26 | return state->gpr[29][state->current_tc]; |
27 | } | 27 | } |
linux-user/mips64/syscall.h
@@ -4,15 +4,15 @@ | @@ -4,15 +4,15 @@ | ||
4 | 4 | ||
5 | struct target_pt_regs { | 5 | struct target_pt_regs { |
6 | /* Saved main processor registers. */ | 6 | /* Saved main processor registers. */ |
7 | - target_ulong regs[32]; | 7 | + abi_ulong regs[32]; |
8 | 8 | ||
9 | /* Saved special registers. */ | 9 | /* Saved special registers. */ |
10 | - target_ulong cp0_status; | ||
11 | - target_ulong lo; | ||
12 | - target_ulong hi; | ||
13 | - target_ulong cp0_badvaddr; | ||
14 | - target_ulong cp0_cause; | ||
15 | - target_ulong cp0_epc; | 10 | + abi_ulong cp0_status; |
11 | + abi_ulong lo; | ||
12 | + abi_ulong hi; | ||
13 | + abi_ulong cp0_badvaddr; | ||
14 | + abi_ulong cp0_cause; | ||
15 | + abi_ulong cp0_epc; | ||
16 | }; | 16 | }; |
17 | 17 | ||
18 | /* Target errno definitions taken from asm-mips/errno.h */ | 18 | /* Target errno definitions taken from asm-mips/errno.h */ |
linux-user/mips64/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_long ss_sp; | ||
10 | - target_ulong ss_size; | ||
11 | - target_long ss_flags; | 9 | + abi_long ss_sp; |
10 | + abi_ulong ss_size; | ||
11 | + abi_long ss_flags; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUMIPSState *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUMIPSState *state) |
25 | { | 25 | { |
26 | return state->gpr[29][state->current_tc]; | 26 | return state->gpr[29][state->current_tc]; |
27 | } | 27 | } |
linux-user/mmap.c
@@ -30,9 +30,9 @@ | @@ -30,9 +30,9 @@ | ||
30 | //#define DEBUG_MMAP | 30 | //#define DEBUG_MMAP |
31 | 31 | ||
32 | /* NOTE: all the constants are the HOST ones, but addresses are target. */ | 32 | /* NOTE: all the constants are the HOST ones, but addresses are target. */ |
33 | -int target_mprotect(target_ulong start, target_ulong len, int prot) | 33 | +int target_mprotect(abi_ulong start, abi_ulong len, int prot) |
34 | { | 34 | { |
35 | - target_ulong end, host_start, host_end, addr; | 35 | + abi_ulong end, host_start, host_end, addr; |
36 | int prot1, ret; | 36 | int prot1, ret; |
37 | 37 | ||
38 | #ifdef DEBUG_MMAP | 38 | #ifdef DEBUG_MMAP |
@@ -96,11 +96,11 @@ int target_mprotect(target_ulong start, target_ulong len, int prot) | @@ -96,11 +96,11 @@ int target_mprotect(target_ulong start, target_ulong len, int prot) | ||
96 | } | 96 | } |
97 | 97 | ||
98 | /* map an incomplete host page */ | 98 | /* map an incomplete host page */ |
99 | -static int mmap_frag(target_ulong real_start, | ||
100 | - target_ulong start, target_ulong end, | ||
101 | - int prot, int flags, int fd, target_ulong offset) | 99 | +static int mmap_frag(abi_ulong real_start, |
100 | + abi_ulong start, abi_ulong end, | ||
101 | + int prot, int flags, int fd, abi_ulong offset) | ||
102 | { | 102 | { |
103 | - target_ulong real_end, ret, addr; | 103 | + abi_ulong real_end, ret, addr; |
104 | void *host_start; | 104 | void *host_start; |
105 | int prot1, prot_new; | 105 | int prot1, prot_new; |
106 | 106 | ||
@@ -152,17 +152,17 @@ static int mmap_frag(target_ulong real_start, | @@ -152,17 +152,17 @@ static int mmap_frag(target_ulong real_start, | ||
152 | } | 152 | } |
153 | 153 | ||
154 | /* NOTE: all the constants are the HOST ones */ | 154 | /* NOTE: all the constants are the HOST ones */ |
155 | -target_long target_mmap(target_ulong start, target_ulong len, int prot, | ||
156 | - int flags, int fd, target_ulong offset) | 155 | +abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, |
156 | + int flags, int fd, abi_ulong offset) | ||
157 | { | 157 | { |
158 | - target_ulong ret, end, real_start, real_end, retaddr, host_offset, host_len; | 158 | + abi_ulong ret, end, real_start, real_end, retaddr, host_offset, host_len; |
159 | unsigned long host_start; | 159 | unsigned long host_start; |
160 | #if defined(__alpha__) || defined(__sparc__) || defined(__x86_64__) || \ | 160 | #if defined(__alpha__) || defined(__sparc__) || defined(__x86_64__) || \ |
161 | defined(__ia64) || defined(__mips__) | 161 | defined(__ia64) || defined(__mips__) |
162 | - static target_ulong last_start = 0x40000000; | 162 | + static abi_ulong last_start = 0x40000000; |
163 | #elif defined(__CYGWIN__) | 163 | #elif defined(__CYGWIN__) |
164 | /* Cygwin doesn't have a whole lot of address space. */ | 164 | /* Cygwin doesn't have a whole lot of address space. */ |
165 | - static target_ulong last_start = 0x18000000; | 165 | + static abi_ulong last_start = 0x18000000; |
166 | #endif | 166 | #endif |
167 | 167 | ||
168 | #ifdef DEBUG_MMAP | 168 | #ifdef DEBUG_MMAP |
@@ -228,7 +228,7 @@ target_long target_mmap(target_ulong start, target_ulong len, int prot, | @@ -228,7 +228,7 @@ target_long target_mmap(target_ulong start, target_ulong len, int prot, | ||
228 | * TARGET_PAGE_SIZE, see exec.c. qemu_real_host_page_size is the | 228 | * TARGET_PAGE_SIZE, see exec.c. qemu_real_host_page_size is the |
229 | * hosts real page size. | 229 | * hosts real page size. |
230 | */ | 230 | */ |
231 | - target_ulong host_end; | 231 | + abi_ulong host_end; |
232 | unsigned long host_aligned_start; | 232 | unsigned long host_aligned_start; |
233 | 233 | ||
234 | host_len = HOST_PAGE_ALIGN(host_len + qemu_host_page_size | 234 | host_len = HOST_PAGE_ALIGN(host_len + qemu_host_page_size |
@@ -354,9 +354,9 @@ target_long target_mmap(target_ulong start, target_ulong len, int prot, | @@ -354,9 +354,9 @@ target_long target_mmap(target_ulong start, target_ulong len, int prot, | ||
354 | return start; | 354 | return start; |
355 | } | 355 | } |
356 | 356 | ||
357 | -int target_munmap(target_ulong start, target_ulong len) | 357 | +int target_munmap(abi_ulong start, abi_ulong len) |
358 | { | 358 | { |
359 | - target_ulong end, real_start, real_end, addr; | 359 | + abi_ulong end, real_start, real_end, addr; |
360 | int prot, ret; | 360 | int prot, ret; |
361 | 361 | ||
362 | #ifdef DEBUG_MMAP | 362 | #ifdef DEBUG_MMAP |
@@ -408,9 +408,9 @@ int target_munmap(target_ulong start, target_ulong len) | @@ -408,9 +408,9 @@ int target_munmap(target_ulong start, target_ulong len) | ||
408 | 408 | ||
409 | /* XXX: currently, we only handle MAP_ANONYMOUS and not MAP_FIXED | 409 | /* XXX: currently, we only handle MAP_ANONYMOUS and not MAP_FIXED |
410 | blocks which have been allocated starting on a host page */ | 410 | blocks which have been allocated starting on a host page */ |
411 | -target_long target_mremap(target_ulong old_addr, target_ulong old_size, | ||
412 | - target_ulong new_size, unsigned long flags, | ||
413 | - target_ulong new_addr) | 411 | +abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size, |
412 | + abi_ulong new_size, unsigned long flags, | ||
413 | + abi_ulong new_addr) | ||
414 | { | 414 | { |
415 | int prot; | 415 | int prot; |
416 | unsigned long host_addr; | 416 | unsigned long host_addr; |
@@ -426,9 +426,9 @@ target_long target_mremap(target_ulong old_addr, target_ulong old_size, | @@ -426,9 +426,9 @@ target_long target_mremap(target_ulong old_addr, target_ulong old_size, | ||
426 | return new_addr; | 426 | return new_addr; |
427 | } | 427 | } |
428 | 428 | ||
429 | -int target_msync(target_ulong start, target_ulong len, int flags) | 429 | +int target_msync(abi_ulong start, abi_ulong len, int flags) |
430 | { | 430 | { |
431 | - target_ulong end; | 431 | + abi_ulong end; |
432 | 432 | ||
433 | if (start & ~TARGET_PAGE_MASK) | 433 | if (start & ~TARGET_PAGE_MASK) |
434 | return -EINVAL; | 434 | return -EINVAL; |
linux-user/ppc/syscall.h
@@ -44,7 +44,7 @@ struct target_pt_regs { | @@ -44,7 +44,7 @@ struct target_pt_regs { | ||
44 | 44 | ||
45 | /* ioctls */ | 45 | /* ioctls */ |
46 | struct target_revectored_struct { | 46 | struct target_revectored_struct { |
47 | - target_ulong __map[8]; /* 256 bits */ | 47 | + abi_ulong __map[8]; /* 256 bits */ |
48 | }; | 48 | }; |
49 | 49 | ||
50 | /* | 50 | /* |
linux-user/ppc/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUPPCState *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUPPCState *state) |
25 | { | 25 | { |
26 | return state->gpr[1]; | 26 | return state->gpr[1]; |
27 | } | 27 | } |
linux-user/ppc64/syscall.h
@@ -44,7 +44,7 @@ struct target_pt_regs { | @@ -44,7 +44,7 @@ struct target_pt_regs { | ||
44 | 44 | ||
45 | /* ioctls */ | 45 | /* ioctls */ |
46 | struct target_revectored_struct { | 46 | struct target_revectored_struct { |
47 | - target_ulong __map[8]; /* 256 bits */ | 47 | + abi_ulong __map[8]; /* 256 bits */ |
48 | }; | 48 | }; |
49 | 49 | ||
50 | /* | 50 | /* |
linux-user/ppc64/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUPPCState *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUPPCState *state) |
25 | { | 25 | { |
26 | return state->gpr[1]; | 26 | return state->gpr[1]; |
27 | } | 27 | } |
linux-user/qemu.h
1 | #ifndef QEMU_H | 1 | #ifndef QEMU_H |
2 | #define QEMU_H | 2 | #define QEMU_H |
3 | 3 | ||
4 | -#include "thunk.h" | ||
5 | - | ||
6 | #include <signal.h> | 4 | #include <signal.h> |
7 | #include <string.h> | 5 | #include <string.h> |
8 | -#include "syscall_defs.h" | ||
9 | 6 | ||
10 | #include "cpu.h" | 7 | #include "cpu.h" |
8 | + | ||
9 | +#ifdef TARGET_ABI32 | ||
10 | +typedef uint32_t abi_ulong; | ||
11 | +typedef int32_t abi_long; | ||
12 | +#define TARGET_ABI_BITS 32 | ||
13 | +#else | ||
14 | +typedef target_ulong abi_ulong; | ||
15 | +typedef target_long abi_long; | ||
16 | +#define TARGET_ABI_BITS TARGET_LONG_BITS | ||
17 | +#endif | ||
18 | + | ||
19 | +#include "thunk.h" | ||
20 | +#include "syscall_defs.h" | ||
11 | #include "syscall.h" | 21 | #include "syscall.h" |
12 | #include "target_signal.h" | 22 | #include "target_signal.h" |
13 | #include "gdbstub.h" | 23 | #include "gdbstub.h" |
@@ -17,20 +27,20 @@ | @@ -17,20 +27,20 @@ | ||
17 | * task_struct fields in the kernel | 27 | * task_struct fields in the kernel |
18 | */ | 28 | */ |
19 | struct image_info { | 29 | struct image_info { |
20 | - target_ulong load_addr; | ||
21 | - target_ulong start_code; | ||
22 | - target_ulong end_code; | ||
23 | - target_ulong start_data; | ||
24 | - target_ulong end_data; | ||
25 | - target_ulong start_brk; | ||
26 | - target_ulong brk; | ||
27 | - target_ulong start_mmap; | ||
28 | - target_ulong mmap; | ||
29 | - target_ulong rss; | ||
30 | - target_ulong start_stack; | ||
31 | - target_ulong entry; | ||
32 | - target_ulong code_offset; | ||
33 | - target_ulong data_offset; | 30 | + abi_ulong load_addr; |
31 | + abi_ulong start_code; | ||
32 | + abi_ulong end_code; | ||
33 | + abi_ulong start_data; | ||
34 | + abi_ulong end_data; | ||
35 | + abi_ulong start_brk; | ||
36 | + abi_ulong brk; | ||
37 | + abi_ulong start_mmap; | ||
38 | + abi_ulong mmap; | ||
39 | + abi_ulong rss; | ||
40 | + abi_ulong start_stack; | ||
41 | + abi_ulong entry; | ||
42 | + abi_ulong code_offset; | ||
43 | + abi_ulong data_offset; | ||
34 | char **host_argv; | 44 | char **host_argv; |
35 | int personality; | 45 | int personality; |
36 | }; | 46 | }; |
@@ -67,7 +77,7 @@ typedef struct TaskState { | @@ -67,7 +77,7 @@ typedef struct TaskState { | ||
67 | int swi_errno; | 77 | int swi_errno; |
68 | #endif | 78 | #endif |
69 | #if defined(TARGET_I386) && !defined(TARGET_X86_64) | 79 | #if defined(TARGET_I386) && !defined(TARGET_X86_64) |
70 | - target_ulong target_v86; | 80 | + abi_ulong target_v86; |
71 | struct vm86_saved_state vm86_saved_regs; | 81 | struct vm86_saved_state vm86_saved_regs; |
72 | struct target_vm86plus_struct vm86plus; | 82 | struct target_vm86plus_struct vm86plus; |
73 | uint32_t v86flags; | 83 | uint32_t v86flags; |
@@ -105,7 +115,7 @@ extern const char *qemu_uname_release; | @@ -105,7 +115,7 @@ extern const char *qemu_uname_release; | ||
105 | struct linux_binprm { | 115 | struct linux_binprm { |
106 | char buf[128]; | 116 | char buf[128]; |
107 | void *page[MAX_ARG_PAGES]; | 117 | void *page[MAX_ARG_PAGES]; |
108 | - target_ulong p; | 118 | + abi_ulong p; |
109 | int fd; | 119 | int fd; |
110 | int e_uid, e_gid; | 120 | int e_uid, e_gid; |
111 | int argc, envc; | 121 | int argc, envc; |
@@ -115,8 +125,8 @@ struct linux_binprm { | @@ -115,8 +125,8 @@ struct linux_binprm { | ||
115 | }; | 125 | }; |
116 | 126 | ||
117 | void do_init_thread(struct target_pt_regs *regs, struct image_info *infop); | 127 | void do_init_thread(struct target_pt_regs *regs, struct image_info *infop); |
118 | -target_ulong loader_build_argptr(int envc, int argc, target_ulong sp, | ||
119 | - target_ulong stringp, int push_ptr); | 128 | +abi_ulong loader_build_argptr(int envc, int argc, abi_ulong sp, |
129 | + abi_ulong stringp, int push_ptr); | ||
120 | int loader_exec(const char * filename, char ** argv, char ** envp, | 130 | int loader_exec(const char * filename, char ** argv, char ** envp, |
121 | struct target_pt_regs * regs, struct image_info *infop); | 131 | struct target_pt_regs * regs, struct image_info *infop); |
122 | 132 | ||
@@ -130,14 +140,14 @@ int load_elf_binary_multi(struct linux_binprm *bprm, | @@ -130,14 +140,14 @@ int load_elf_binary_multi(struct linux_binprm *bprm, | ||
130 | struct image_info *info); | 140 | struct image_info *info); |
131 | #endif | 141 | #endif |
132 | 142 | ||
133 | -void memcpy_to_target(target_ulong dest, const void *src, | 143 | +void memcpy_to_target(abi_ulong dest, const void *src, |
134 | unsigned long len); | 144 | unsigned long len); |
135 | -void target_set_brk(target_ulong new_brk); | ||
136 | -target_long do_brk(target_ulong new_brk); | 145 | +void target_set_brk(abi_ulong new_brk); |
146 | +abi_long do_brk(abi_ulong new_brk); | ||
137 | void syscall_init(void); | 147 | void syscall_init(void); |
138 | -target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
139 | - target_long arg2, target_long arg3, target_long arg4, | ||
140 | - target_long arg5, target_long arg6); | 148 | +abi_long do_syscall(void *cpu_env, int num, abi_long arg1, |
149 | + abi_long arg2, abi_long arg3, abi_long arg4, | ||
150 | + abi_long arg5, abi_long arg6); | ||
141 | void gemu_log(const char *fmt, ...) __attribute__((format(printf,1,2))); | 151 | void gemu_log(const char *fmt, ...) __attribute__((format(printf,1,2))); |
142 | extern CPUState *global_env; | 152 | extern CPUState *global_env; |
143 | void cpu_loop(CPUState *env); | 153 | void cpu_loop(CPUState *env); |
@@ -157,28 +167,28 @@ long do_sigreturn(CPUState *env); | @@ -157,28 +167,28 @@ long do_sigreturn(CPUState *env); | ||
157 | long do_rt_sigreturn(CPUState *env); | 167 | long do_rt_sigreturn(CPUState *env); |
158 | int do_sigaltstack(const struct target_sigaltstack *uss, | 168 | int do_sigaltstack(const struct target_sigaltstack *uss, |
159 | struct target_sigaltstack *uoss, | 169 | struct target_sigaltstack *uoss, |
160 | - target_ulong sp); | 170 | + abi_ulong sp); |
161 | 171 | ||
162 | #ifdef TARGET_I386 | 172 | #ifdef TARGET_I386 |
163 | /* vm86.c */ | 173 | /* vm86.c */ |
164 | void save_v86_state(CPUX86State *env); | 174 | void save_v86_state(CPUX86State *env); |
165 | void handle_vm86_trap(CPUX86State *env, int trapno); | 175 | void handle_vm86_trap(CPUX86State *env, int trapno); |
166 | void handle_vm86_fault(CPUX86State *env); | 176 | void handle_vm86_fault(CPUX86State *env); |
167 | -int do_vm86(CPUX86State *env, long subfunction, target_ulong v86_addr); | 177 | +int do_vm86(CPUX86State *env, long subfunction, abi_ulong v86_addr); |
168 | #elif defined(TARGET_SPARC64) | 178 | #elif defined(TARGET_SPARC64) |
169 | void sparc64_set_context(CPUSPARCState *env); | 179 | void sparc64_set_context(CPUSPARCState *env); |
170 | void sparc64_get_context(CPUSPARCState *env); | 180 | void sparc64_get_context(CPUSPARCState *env); |
171 | #endif | 181 | #endif |
172 | 182 | ||
173 | /* mmap.c */ | 183 | /* mmap.c */ |
174 | -int target_mprotect(target_ulong start, target_ulong len, int prot); | ||
175 | -target_long target_mmap(target_ulong start, target_ulong len, int prot, | ||
176 | - int flags, int fd, target_ulong offset); | ||
177 | -int target_munmap(target_ulong start, target_ulong len); | ||
178 | -target_long target_mremap(target_ulong old_addr, target_ulong old_size, | ||
179 | - target_ulong new_size, unsigned long flags, | ||
180 | - target_ulong new_addr); | ||
181 | -int target_msync(target_ulong start, target_ulong len, int flags); | 184 | +int target_mprotect(abi_ulong start, abi_ulong len, int prot); |
185 | +abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, | ||
186 | + int flags, int fd, abi_ulong offset); | ||
187 | +int target_munmap(abi_ulong start, abi_ulong len); | ||
188 | +abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size, | ||
189 | + abi_ulong new_size, unsigned long flags, | ||
190 | + abi_ulong new_addr); | ||
191 | +int target_msync(abi_ulong start, abi_ulong len, int flags); | ||
182 | 192 | ||
183 | /* user access */ | 193 | /* user access */ |
184 | 194 | ||
@@ -260,7 +270,7 @@ int target_msync(target_ulong start, target_ulong len, int flags); | @@ -260,7 +270,7 @@ int target_msync(target_ulong start, target_ulong len, int flags); | ||
260 | 270 | ||
261 | /* Lock an area of guest memory into the host. If copy is true then the | 271 | /* Lock an area of guest memory into the host. If copy is true then the |
262 | host area will have the same contents as the guest. */ | 272 | host area will have the same contents as the guest. */ |
263 | -static inline void *lock_user(target_ulong guest_addr, long len, int copy) | 273 | +static inline void *lock_user(abi_ulong guest_addr, long len, int copy) |
264 | { | 274 | { |
265 | #ifdef DEBUG_REMAP | 275 | #ifdef DEBUG_REMAP |
266 | void *addr; | 276 | void *addr; |
@@ -277,8 +287,8 @@ static inline void *lock_user(target_ulong guest_addr, long len, int copy) | @@ -277,8 +287,8 @@ static inline void *lock_user(target_ulong guest_addr, long len, int copy) | ||
277 | 287 | ||
278 | /* Unlock an area of guest memory. The first LEN bytes must be flushed back | 288 | /* Unlock an area of guest memory. The first LEN bytes must be flushed back |
279 | to guest memory. */ | 289 | to guest memory. */ |
280 | -static inline void unlock_user(void *host_addr, target_ulong guest_addr, | ||
281 | - long len) | 290 | +static inline void unlock_user(void *host_addr, abi_ulong guest_addr, |
291 | + long len) | ||
282 | { | 292 | { |
283 | #ifdef DEBUG_REMAP | 293 | #ifdef DEBUG_REMAP |
284 | if (host_addr == g2h(guest_addr)) | 294 | if (host_addr == g2h(guest_addr)) |
@@ -290,13 +300,13 @@ static inline void unlock_user(void *host_addr, target_ulong guest_addr, | @@ -290,13 +300,13 @@ static inline void unlock_user(void *host_addr, target_ulong guest_addr, | ||
290 | } | 300 | } |
291 | 301 | ||
292 | /* Return the length of a string in target memory. */ | 302 | /* Return the length of a string in target memory. */ |
293 | -static inline int target_strlen(target_ulong ptr) | 303 | +static inline int target_strlen(abi_ulong ptr) |
294 | { | 304 | { |
295 | return strlen(g2h(ptr)); | 305 | return strlen(g2h(ptr)); |
296 | } | 306 | } |
297 | 307 | ||
298 | /* Like lock_user but for null terminated strings. */ | 308 | /* Like lock_user but for null terminated strings. */ |
299 | -static inline void *lock_user_string(target_ulong guest_addr) | 309 | +static inline void *lock_user_string(abi_ulong guest_addr) |
300 | { | 310 | { |
301 | long len; | 311 | long len; |
302 | len = target_strlen(guest_addr) + 1; | 312 | len = target_strlen(guest_addr) + 1; |
@@ -317,7 +327,7 @@ static inline void *lock_user_string(target_ulong guest_addr) | @@ -317,7 +327,7 @@ static inline void *lock_user_string(target_ulong guest_addr) | ||
317 | #define tput32(addr, val) stl(addr, val) | 327 | #define tput32(addr, val) stl(addr, val) |
318 | #define tget64(addr) ldq(addr) | 328 | #define tget64(addr) ldq(addr) |
319 | #define tput64(addr, val) stq(addr, val) | 329 | #define tput64(addr, val) stq(addr, val) |
320 | -#if TARGET_LONG_BITS == 64 | 330 | +#if TARGET_ABI_BITS == 64 |
321 | #define tgetl(addr) ldq(addr) | 331 | #define tgetl(addr) ldq(addr) |
322 | #define tputl(addr, val) stq(addr, val) | 332 | #define tputl(addr, val) stq(addr, val) |
323 | #else | 333 | #else |
linux-user/sh4/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 |
linux-user/signal.c
@@ -26,8 +26,8 @@ | @@ -26,8 +26,8 @@ | ||
26 | #include <errno.h> | 26 | #include <errno.h> |
27 | #include <sys/ucontext.h> | 27 | #include <sys/ucontext.h> |
28 | 28 | ||
29 | -#include "target_signal.h" | ||
30 | #include "qemu.h" | 29 | #include "qemu.h" |
30 | +#include "target_signal.h" | ||
31 | 31 | ||
32 | //#define DEBUG_SIGNAL | 32 | //#define DEBUG_SIGNAL |
33 | 33 | ||
@@ -134,12 +134,12 @@ static void host_to_target_sigset_internal(target_sigset_t *d, | @@ -134,12 +134,12 @@ static void host_to_target_sigset_internal(target_sigset_t *d, | ||
134 | if (sigmask & (1 << i)) | 134 | if (sigmask & (1 << i)) |
135 | target_sigmask |= 1 << (host_to_target_signal(i + 1) - 1); | 135 | target_sigmask |= 1 << (host_to_target_signal(i + 1) - 1); |
136 | } | 136 | } |
137 | -#if TARGET_LONG_BITS == 32 && HOST_LONG_BITS == 32 | 137 | +#if TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 32 |
138 | d->sig[0] = target_sigmask; | 138 | d->sig[0] = target_sigmask; |
139 | for(i = 1;i < TARGET_NSIG_WORDS; i++) { | 139 | for(i = 1;i < TARGET_NSIG_WORDS; i++) { |
140 | d->sig[i] = ((unsigned long *)s)[i]; | 140 | d->sig[i] = ((unsigned long *)s)[i]; |
141 | } | 141 | } |
142 | -#elif TARGET_LONG_BITS == 32 && HOST_LONG_BITS == 64 && TARGET_NSIG_WORDS == 2 | 142 | +#elif TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 64 && TARGET_NSIG_WORDS == 2 |
143 | d->sig[0] = target_sigmask; | 143 | d->sig[0] = target_sigmask; |
144 | d->sig[1] = sigmask >> 32; | 144 | d->sig[1] = sigmask >> 32; |
145 | #else | 145 | #else |
@@ -161,7 +161,7 @@ void target_to_host_sigset_internal(sigset_t *d, const target_sigset_t *s) | @@ -161,7 +161,7 @@ void target_to_host_sigset_internal(sigset_t *d, const target_sigset_t *s) | ||
161 | { | 161 | { |
162 | int i; | 162 | int i; |
163 | unsigned long sigmask; | 163 | unsigned long sigmask; |
164 | - target_ulong target_sigmask; | 164 | + abi_ulong target_sigmask; |
165 | 165 | ||
166 | target_sigmask = s->sig[0]; | 166 | target_sigmask = s->sig[0]; |
167 | sigmask = 0; | 167 | sigmask = 0; |
@@ -169,16 +169,16 @@ void target_to_host_sigset_internal(sigset_t *d, const target_sigset_t *s) | @@ -169,16 +169,16 @@ void target_to_host_sigset_internal(sigset_t *d, const target_sigset_t *s) | ||
169 | if (target_sigmask & (1 << i)) | 169 | if (target_sigmask & (1 << i)) |
170 | sigmask |= 1 << (target_to_host_signal(i + 1) - 1); | 170 | sigmask |= 1 << (target_to_host_signal(i + 1) - 1); |
171 | } | 171 | } |
172 | -#if TARGET_LONG_BITS == 32 && HOST_LONG_BITS == 32 | 172 | +#if TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 32 |
173 | ((unsigned long *)d)[0] = sigmask; | 173 | ((unsigned long *)d)[0] = sigmask; |
174 | for(i = 1;i < TARGET_NSIG_WORDS; i++) { | 174 | for(i = 1;i < TARGET_NSIG_WORDS; i++) { |
175 | ((unsigned long *)d)[i] = s->sig[i]; | 175 | ((unsigned long *)d)[i] = s->sig[i]; |
176 | } | 176 | } |
177 | -#elif TARGET_LONG_BITS == 32 && HOST_LONG_BITS == 64 && TARGET_NSIG_WORDS == 2 | 177 | +#elif TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 64 && TARGET_NSIG_WORDS == 2 |
178 | ((unsigned long *)d)[0] = sigmask | ((unsigned long)(s->sig[1]) << 32); | 178 | ((unsigned long *)d)[0] = sigmask | ((unsigned long)(s->sig[1]) << 32); |
179 | #else | 179 | #else |
180 | #warning target_to_host_sigset | 180 | #warning target_to_host_sigset |
181 | -#endif /* TARGET_LONG_BITS */ | 181 | +#endif /* TARGET_ABI_BITS */ |
182 | } | 182 | } |
183 | 183 | ||
184 | void target_to_host_sigset(sigset_t *d, const target_sigset_t *s) | 184 | void target_to_host_sigset(sigset_t *d, const target_sigset_t *s) |
@@ -191,7 +191,7 @@ void target_to_host_sigset(sigset_t *d, const target_sigset_t *s) | @@ -191,7 +191,7 @@ void target_to_host_sigset(sigset_t *d, const target_sigset_t *s) | ||
191 | target_to_host_sigset_internal(d, &s1); | 191 | target_to_host_sigset_internal(d, &s1); |
192 | } | 192 | } |
193 | 193 | ||
194 | -void host_to_target_old_sigset(target_ulong *old_sigset, | 194 | +void host_to_target_old_sigset(abi_ulong *old_sigset, |
195 | const sigset_t *sigset) | 195 | const sigset_t *sigset) |
196 | { | 196 | { |
197 | target_sigset_t d; | 197 | target_sigset_t d; |
@@ -200,7 +200,7 @@ void host_to_target_old_sigset(target_ulong *old_sigset, | @@ -200,7 +200,7 @@ void host_to_target_old_sigset(target_ulong *old_sigset, | ||
200 | } | 200 | } |
201 | 201 | ||
202 | void target_to_host_old_sigset(sigset_t *sigset, | 202 | void target_to_host_old_sigset(sigset_t *sigset, |
203 | - const target_ulong *old_sigset) | 203 | + const abi_ulong *old_sigset) |
204 | { | 204 | { |
205 | target_sigset_t d; | 205 | target_sigset_t d; |
206 | int i; | 206 | int i; |
@@ -233,7 +233,7 @@ static inline void host_to_target_siginfo_noswap(target_siginfo_t *tinfo, | @@ -233,7 +233,7 @@ static inline void host_to_target_siginfo_noswap(target_siginfo_t *tinfo, | ||
233 | tinfo->_sifields._rt._uid = info->si_uid; | 233 | tinfo->_sifields._rt._uid = info->si_uid; |
234 | /* XXX: potential problem if 64 bit */ | 234 | /* XXX: potential problem if 64 bit */ |
235 | tinfo->_sifields._rt._sigval.sival_ptr = | 235 | tinfo->_sifields._rt._sigval.sival_ptr = |
236 | - (target_ulong)info->si_value.sival_ptr; | 236 | + (abi_ulong)info->si_value.sival_ptr; |
237 | } | 237 | } |
238 | } | 238 | } |
239 | 239 | ||
@@ -355,7 +355,7 @@ int queue_signal(int sig, target_siginfo_t *info) | @@ -355,7 +355,7 @@ int queue_signal(int sig, target_siginfo_t *info) | ||
355 | { | 355 | { |
356 | struct emulated_sigaction *k; | 356 | struct emulated_sigaction *k; |
357 | struct sigqueue *q, **pq; | 357 | struct sigqueue *q, **pq; |
358 | - target_ulong handler; | 358 | + abi_ulong handler; |
359 | 359 | ||
360 | #if defined(DEBUG_SIGNAL) | 360 | #if defined(DEBUG_SIGNAL) |
361 | fprintf(stderr, "queue_signal: sig=%d\n", | 361 | fprintf(stderr, "queue_signal: sig=%d\n", |
@@ -440,7 +440,7 @@ static void host_signal_handler(int host_signum, siginfo_t *info, | @@ -440,7 +440,7 @@ static void host_signal_handler(int host_signum, siginfo_t *info, | ||
440 | 440 | ||
441 | int do_sigaltstack(const struct target_sigaltstack *uss, | 441 | int do_sigaltstack(const struct target_sigaltstack *uss, |
442 | struct target_sigaltstack *uoss, | 442 | struct target_sigaltstack *uoss, |
443 | - target_ulong sp) | 443 | + abi_ulong sp) |
444 | { | 444 | { |
445 | int ret; | 445 | int ret; |
446 | struct target_sigaltstack oss; | 446 | struct target_sigaltstack oss; |
@@ -579,29 +579,29 @@ struct target_fpxreg { | @@ -579,29 +579,29 @@ struct target_fpxreg { | ||
579 | }; | 579 | }; |
580 | 580 | ||
581 | struct target_xmmreg { | 581 | struct target_xmmreg { |
582 | - target_ulong element[4]; | 582 | + abi_ulong element[4]; |
583 | }; | 583 | }; |
584 | 584 | ||
585 | struct target_fpstate { | 585 | struct target_fpstate { |
586 | /* Regular FPU environment */ | 586 | /* Regular FPU environment */ |
587 | - target_ulong cw; | ||
588 | - target_ulong sw; | ||
589 | - target_ulong tag; | ||
590 | - target_ulong ipoff; | ||
591 | - target_ulong cssel; | ||
592 | - target_ulong dataoff; | ||
593 | - target_ulong datasel; | 587 | + abi_ulong cw; |
588 | + abi_ulong sw; | ||
589 | + abi_ulong tag; | ||
590 | + abi_ulong ipoff; | ||
591 | + abi_ulong cssel; | ||
592 | + abi_ulong dataoff; | ||
593 | + abi_ulong datasel; | ||
594 | struct target_fpreg _st[8]; | 594 | struct target_fpreg _st[8]; |
595 | uint16_t status; | 595 | uint16_t status; |
596 | uint16_t magic; /* 0xffff = regular FPU data only */ | 596 | uint16_t magic; /* 0xffff = regular FPU data only */ |
597 | 597 | ||
598 | /* FXSR FPU environment */ | 598 | /* FXSR FPU environment */ |
599 | - target_ulong _fxsr_env[6]; /* FXSR FPU env is ignored */ | ||
600 | - target_ulong mxcsr; | ||
601 | - target_ulong reserved; | 599 | + abi_ulong _fxsr_env[6]; /* FXSR FPU env is ignored */ |
600 | + abi_ulong mxcsr; | ||
601 | + abi_ulong reserved; | ||
602 | struct target_fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */ | 602 | struct target_fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */ |
603 | struct target_xmmreg _xmm[8]; | 603 | struct target_xmmreg _xmm[8]; |
604 | - target_ulong padding[56]; | 604 | + abi_ulong padding[56]; |
605 | }; | 605 | }; |
606 | 606 | ||
607 | #define X86_FXSR_MAGIC 0x0000 | 607 | #define X86_FXSR_MAGIC 0x0000 |
@@ -611,29 +611,29 @@ struct target_sigcontext { | @@ -611,29 +611,29 @@ struct target_sigcontext { | ||
611 | uint16_t fs, __fsh; | 611 | uint16_t fs, __fsh; |
612 | uint16_t es, __esh; | 612 | uint16_t es, __esh; |
613 | uint16_t ds, __dsh; | 613 | uint16_t ds, __dsh; |
614 | - target_ulong edi; | ||
615 | - target_ulong esi; | ||
616 | - target_ulong ebp; | ||
617 | - target_ulong esp; | ||
618 | - target_ulong ebx; | ||
619 | - target_ulong edx; | ||
620 | - target_ulong ecx; | ||
621 | - target_ulong eax; | ||
622 | - target_ulong trapno; | ||
623 | - target_ulong err; | ||
624 | - target_ulong eip; | 614 | + abi_ulong edi; |
615 | + abi_ulong esi; | ||
616 | + abi_ulong ebp; | ||
617 | + abi_ulong esp; | ||
618 | + abi_ulong ebx; | ||
619 | + abi_ulong edx; | ||
620 | + abi_ulong ecx; | ||
621 | + abi_ulong eax; | ||
622 | + abi_ulong trapno; | ||
623 | + abi_ulong err; | ||
624 | + abi_ulong eip; | ||
625 | uint16_t cs, __csh; | 625 | uint16_t cs, __csh; |
626 | - target_ulong eflags; | ||
627 | - target_ulong esp_at_signal; | 626 | + abi_ulong eflags; |
627 | + abi_ulong esp_at_signal; | ||
628 | uint16_t ss, __ssh; | 628 | uint16_t ss, __ssh; |
629 | - target_ulong fpstate; /* pointer */ | ||
630 | - target_ulong oldmask; | ||
631 | - target_ulong cr2; | 629 | + abi_ulong fpstate; /* pointer */ |
630 | + abi_ulong oldmask; | ||
631 | + abi_ulong cr2; | ||
632 | }; | 632 | }; |
633 | 633 | ||
634 | struct target_ucontext { | 634 | struct target_ucontext { |
635 | - target_ulong tuc_flags; | ||
636 | - target_ulong tuc_link; | 635 | + abi_ulong tuc_flags; |
636 | + abi_ulong tuc_link; | ||
637 | target_stack_t tuc_stack; | 637 | target_stack_t tuc_stack; |
638 | struct target_sigcontext tuc_mcontext; | 638 | struct target_sigcontext tuc_mcontext; |
639 | target_sigset_t tuc_sigmask; /* mask last for extensibility */ | 639 | target_sigset_t tuc_sigmask; /* mask last for extensibility */ |
@@ -641,20 +641,20 @@ struct target_ucontext { | @@ -641,20 +641,20 @@ struct target_ucontext { | ||
641 | 641 | ||
642 | struct sigframe | 642 | struct sigframe |
643 | { | 643 | { |
644 | - target_ulong pretcode; | 644 | + abi_ulong pretcode; |
645 | int sig; | 645 | int sig; |
646 | struct target_sigcontext sc; | 646 | struct target_sigcontext sc; |
647 | struct target_fpstate fpstate; | 647 | struct target_fpstate fpstate; |
648 | - target_ulong extramask[TARGET_NSIG_WORDS-1]; | 648 | + abi_ulong extramask[TARGET_NSIG_WORDS-1]; |
649 | char retcode[8]; | 649 | char retcode[8]; |
650 | }; | 650 | }; |
651 | 651 | ||
652 | struct rt_sigframe | 652 | struct rt_sigframe |
653 | { | 653 | { |
654 | - target_ulong pretcode; | 654 | + abi_ulong pretcode; |
655 | int sig; | 655 | int sig; |
656 | - target_ulong pinfo; | ||
657 | - target_ulong puc; | 656 | + abi_ulong pinfo; |
657 | + abi_ulong puc; | ||
658 | struct target_siginfo info; | 658 | struct target_siginfo info; |
659 | struct target_ucontext uc; | 659 | struct target_ucontext uc; |
660 | struct target_fpstate fpstate; | 660 | struct target_fpstate fpstate; |
@@ -813,8 +813,8 @@ static void setup_rt_frame(int sig, struct emulated_sigaction *ka, | @@ -813,8 +813,8 @@ static void setup_rt_frame(int sig, struct emulated_sigaction *ka, | ||
813 | ? current->exec_domain->signal_invmap[sig] | 813 | ? current->exec_domain->signal_invmap[sig] |
814 | : */sig), | 814 | : */sig), |
815 | &frame->sig); | 815 | &frame->sig); |
816 | - err |= __put_user((target_ulong)&frame->info, &frame->pinfo); | ||
817 | - err |= __put_user((target_ulong)&frame->uc, &frame->puc); | 816 | + err |= __put_user((abi_ulong)&frame->info, &frame->pinfo); |
817 | + err |= __put_user((abi_ulong)&frame->uc, &frame->puc); | ||
818 | err |= copy_siginfo_to_user(&frame->info, info); | 818 | err |= copy_siginfo_to_user(&frame->info, info); |
819 | if (err) | 819 | if (err) |
820 | goto give_sigsegv; | 820 | goto give_sigsegv; |
@@ -977,32 +977,32 @@ badframe: | @@ -977,32 +977,32 @@ badframe: | ||
977 | #elif defined(TARGET_ARM) | 977 | #elif defined(TARGET_ARM) |
978 | 978 | ||
979 | struct target_sigcontext { | 979 | struct target_sigcontext { |
980 | - target_ulong trap_no; | ||
981 | - target_ulong error_code; | ||
982 | - target_ulong oldmask; | ||
983 | - target_ulong arm_r0; | ||
984 | - target_ulong arm_r1; | ||
985 | - target_ulong arm_r2; | ||
986 | - target_ulong arm_r3; | ||
987 | - target_ulong arm_r4; | ||
988 | - target_ulong arm_r5; | ||
989 | - target_ulong arm_r6; | ||
990 | - target_ulong arm_r7; | ||
991 | - target_ulong arm_r8; | ||
992 | - target_ulong arm_r9; | ||
993 | - target_ulong arm_r10; | ||
994 | - target_ulong arm_fp; | ||
995 | - target_ulong arm_ip; | ||
996 | - target_ulong arm_sp; | ||
997 | - target_ulong arm_lr; | ||
998 | - target_ulong arm_pc; | ||
999 | - target_ulong arm_cpsr; | ||
1000 | - target_ulong fault_address; | 980 | + abi_ulong trap_no; |
981 | + abi_ulong error_code; | ||
982 | + abi_ulong oldmask; | ||
983 | + abi_ulong arm_r0; | ||
984 | + abi_ulong arm_r1; | ||
985 | + abi_ulong arm_r2; | ||
986 | + abi_ulong arm_r3; | ||
987 | + abi_ulong arm_r4; | ||
988 | + abi_ulong arm_r5; | ||
989 | + abi_ulong arm_r6; | ||
990 | + abi_ulong arm_r7; | ||
991 | + abi_ulong arm_r8; | ||
992 | + abi_ulong arm_r9; | ||
993 | + abi_ulong arm_r10; | ||
994 | + abi_ulong arm_fp; | ||
995 | + abi_ulong arm_ip; | ||
996 | + abi_ulong arm_sp; | ||
997 | + abi_ulong arm_lr; | ||
998 | + abi_ulong arm_pc; | ||
999 | + abi_ulong arm_cpsr; | ||
1000 | + abi_ulong fault_address; | ||
1001 | }; | 1001 | }; |
1002 | 1002 | ||
1003 | struct target_ucontext { | 1003 | struct target_ucontext { |
1004 | - target_ulong tuc_flags; | ||
1005 | - target_ulong tuc_link; | 1004 | + abi_ulong tuc_flags; |
1005 | + abi_ulong tuc_link; | ||
1006 | target_stack_t tuc_stack; | 1006 | target_stack_t tuc_stack; |
1007 | struct target_sigcontext tuc_mcontext; | 1007 | struct target_sigcontext tuc_mcontext; |
1008 | target_sigset_t tuc_sigmask; /* mask last for extensibility */ | 1008 | target_sigset_t tuc_sigmask; /* mask last for extensibility */ |
@@ -1011,8 +1011,8 @@ struct target_ucontext { | @@ -1011,8 +1011,8 @@ struct target_ucontext { | ||
1011 | struct sigframe | 1011 | struct sigframe |
1012 | { | 1012 | { |
1013 | struct target_sigcontext sc; | 1013 | struct target_sigcontext sc; |
1014 | - target_ulong extramask[TARGET_NSIG_WORDS-1]; | ||
1015 | - target_ulong retcode; | 1014 | + abi_ulong extramask[TARGET_NSIG_WORDS-1]; |
1015 | + abi_ulong retcode; | ||
1016 | }; | 1016 | }; |
1017 | 1017 | ||
1018 | struct rt_sigframe | 1018 | struct rt_sigframe |
@@ -1021,7 +1021,7 @@ struct rt_sigframe | @@ -1021,7 +1021,7 @@ struct rt_sigframe | ||
1021 | void *puc; | 1021 | void *puc; |
1022 | struct target_siginfo info; | 1022 | struct target_siginfo info; |
1023 | struct target_ucontext uc; | 1023 | struct target_ucontext uc; |
1024 | - target_ulong retcode; | 1024 | + abi_ulong retcode; |
1025 | }; | 1025 | }; |
1026 | 1026 | ||
1027 | #define TARGET_CONFIG_CPU_32 1 | 1027 | #define TARGET_CONFIG_CPU_32 1 |
@@ -1039,7 +1039,7 @@ struct rt_sigframe | @@ -1039,7 +1039,7 @@ struct rt_sigframe | ||
1039 | #define SWI_THUMB_SIGRETURN (0xdf00 << 16 | 0x2700 | (TARGET_NR_sigreturn)) | 1039 | #define SWI_THUMB_SIGRETURN (0xdf00 << 16 | 0x2700 | (TARGET_NR_sigreturn)) |
1040 | #define SWI_THUMB_RT_SIGRETURN (0xdf00 << 16 | 0x2700 | (TARGET_NR_rt_sigreturn)) | 1040 | #define SWI_THUMB_RT_SIGRETURN (0xdf00 << 16 | 0x2700 | (TARGET_NR_rt_sigreturn)) |
1041 | 1041 | ||
1042 | -static const target_ulong retcodes[4] = { | 1042 | +static const abi_ulong retcodes[4] = { |
1043 | SWI_SYS_SIGRETURN, SWI_THUMB_SIGRETURN, | 1043 | SWI_SYS_SIGRETURN, SWI_THUMB_SIGRETURN, |
1044 | SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN | 1044 | SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN |
1045 | }; | 1045 | }; |
@@ -1105,14 +1105,14 @@ get_sigframe(struct emulated_sigaction *ka, CPUState *regs, int framesize) | @@ -1105,14 +1105,14 @@ get_sigframe(struct emulated_sigaction *ka, CPUState *regs, int framesize) | ||
1105 | 1105 | ||
1106 | static int | 1106 | static int |
1107 | setup_return(CPUState *env, struct emulated_sigaction *ka, | 1107 | setup_return(CPUState *env, struct emulated_sigaction *ka, |
1108 | - target_ulong *rc, void *frame, int usig) | 1108 | + abi_ulong *rc, void *frame, int usig) |
1109 | { | 1109 | { |
1110 | - target_ulong handler = (target_ulong)ka->sa._sa_handler; | ||
1111 | - target_ulong retcode; | 1110 | + abi_ulong handler = (abi_ulong)ka->sa._sa_handler; |
1111 | + abi_ulong retcode; | ||
1112 | int thumb = 0; | 1112 | int thumb = 0; |
1113 | #if defined(TARGET_CONFIG_CPU_32) | 1113 | #if defined(TARGET_CONFIG_CPU_32) |
1114 | #if 0 | 1114 | #if 0 |
1115 | - target_ulong cpsr = env->cpsr; | 1115 | + abi_ulong cpsr = env->cpsr; |
1116 | 1116 | ||
1117 | /* | 1117 | /* |
1118 | * Maybe we need to deliver a 32-bit signal to a 26-bit task. | 1118 | * Maybe we need to deliver a 32-bit signal to a 26-bit task. |
@@ -1138,7 +1138,7 @@ setup_return(CPUState *env, struct emulated_sigaction *ka, | @@ -1138,7 +1138,7 @@ setup_return(CPUState *env, struct emulated_sigaction *ka, | ||
1138 | #endif /* TARGET_CONFIG_CPU_32 */ | 1138 | #endif /* TARGET_CONFIG_CPU_32 */ |
1139 | 1139 | ||
1140 | if (ka->sa.sa_flags & TARGET_SA_RESTORER) { | 1140 | if (ka->sa.sa_flags & TARGET_SA_RESTORER) { |
1141 | - retcode = (target_ulong)ka->sa.sa_restorer; | 1141 | + retcode = (abi_ulong)ka->sa.sa_restorer; |
1142 | } else { | 1142 | } else { |
1143 | unsigned int idx = thumb; | 1143 | unsigned int idx = thumb; |
1144 | 1144 | ||
@@ -1148,10 +1148,10 @@ setup_return(CPUState *env, struct emulated_sigaction *ka, | @@ -1148,10 +1148,10 @@ setup_return(CPUState *env, struct emulated_sigaction *ka, | ||
1148 | if (__put_user(retcodes[idx], rc)) | 1148 | if (__put_user(retcodes[idx], rc)) |
1149 | return 1; | 1149 | return 1; |
1150 | #if 0 | 1150 | #if 0 |
1151 | - flush_icache_range((target_ulong)rc, | ||
1152 | - (target_ulong)(rc + 1)); | 1151 | + flush_icache_range((abi_ulong)rc, |
1152 | + (abi_ulong)(rc + 1)); | ||
1153 | #endif | 1153 | #endif |
1154 | - retcode = ((target_ulong)rc) + thumb; | 1154 | + retcode = ((abi_ulong)rc) + thumb; |
1155 | } | 1155 | } |
1156 | 1156 | ||
1157 | env->regs[0] = usig; | 1157 | env->regs[0] = usig; |
@@ -1197,8 +1197,8 @@ static void setup_rt_frame(int usig, struct emulated_sigaction *ka, | @@ -1197,8 +1197,8 @@ static void setup_rt_frame(int usig, struct emulated_sigaction *ka, | ||
1197 | if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) | 1197 | if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) |
1198 | return /* 1 */; | 1198 | return /* 1 */; |
1199 | 1199 | ||
1200 | - __put_user_error(&frame->info, (target_ulong *)&frame->pinfo, err); | ||
1201 | - __put_user_error(&frame->uc, (target_ulong *)&frame->puc, err); | 1200 | + __put_user_error(&frame->info, (abi_ulong *)&frame->pinfo, err); |
1201 | + __put_user_error(&frame->uc, (abi_ulong *)&frame->puc, err); | ||
1202 | err |= copy_siginfo_to_user(&frame->info, info); | 1202 | err |= copy_siginfo_to_user(&frame->info, info); |
1203 | 1203 | ||
1204 | /* Clear all the bits of the ucontext we don't use. */ | 1204 | /* Clear all the bits of the ucontext we don't use. */ |
@@ -1229,8 +1229,8 @@ static void setup_rt_frame(int usig, struct emulated_sigaction *ka, | @@ -1229,8 +1229,8 @@ static void setup_rt_frame(int usig, struct emulated_sigaction *ka, | ||
1229 | * arguments for the signal handler. | 1229 | * arguments for the signal handler. |
1230 | * -- Peter Maydell <pmaydell@chiark.greenend.org.uk> 2000-12-06 | 1230 | * -- Peter Maydell <pmaydell@chiark.greenend.org.uk> 2000-12-06 |
1231 | */ | 1231 | */ |
1232 | - env->regs[1] = (target_ulong)frame->pinfo; | ||
1233 | - env->regs[2] = (target_ulong)frame->puc; | 1232 | + env->regs[1] = (abi_ulong)frame->pinfo; |
1233 | + env->regs[2] = (abi_ulong)frame->puc; | ||
1234 | } | 1234 | } |
1235 | 1235 | ||
1236 | // return err; | 1236 | // return err; |
@@ -1360,48 +1360,48 @@ badframe: | @@ -1360,48 +1360,48 @@ badframe: | ||
1360 | 1360 | ||
1361 | /* This is what SunOS does, so shall I. */ | 1361 | /* This is what SunOS does, so shall I. */ |
1362 | struct target_sigcontext { | 1362 | struct target_sigcontext { |
1363 | - target_ulong sigc_onstack; /* state to restore */ | 1363 | + abi_ulong sigc_onstack; /* state to restore */ |
1364 | 1364 | ||
1365 | - target_ulong sigc_mask; /* sigmask to restore */ | ||
1366 | - target_ulong sigc_sp; /* stack pointer */ | ||
1367 | - target_ulong sigc_pc; /* program counter */ | ||
1368 | - target_ulong sigc_npc; /* next program counter */ | ||
1369 | - target_ulong sigc_psr; /* for condition codes etc */ | ||
1370 | - target_ulong sigc_g1; /* User uses these two registers */ | ||
1371 | - target_ulong sigc_o0; /* within the trampoline code. */ | 1365 | + abi_ulong sigc_mask; /* sigmask to restore */ |
1366 | + abi_ulong sigc_sp; /* stack pointer */ | ||
1367 | + abi_ulong sigc_pc; /* program counter */ | ||
1368 | + abi_ulong sigc_npc; /* next program counter */ | ||
1369 | + abi_ulong sigc_psr; /* for condition codes etc */ | ||
1370 | + abi_ulong sigc_g1; /* User uses these two registers */ | ||
1371 | + abi_ulong sigc_o0; /* within the trampoline code. */ | ||
1372 | 1372 | ||
1373 | /* Now comes information regarding the users window set | 1373 | /* Now comes information regarding the users window set |
1374 | * at the time of the signal. | 1374 | * at the time of the signal. |
1375 | */ | 1375 | */ |
1376 | - target_ulong sigc_oswins; /* outstanding windows */ | 1376 | + abi_ulong sigc_oswins; /* outstanding windows */ |
1377 | 1377 | ||
1378 | /* stack ptrs for each regwin buf */ | 1378 | /* stack ptrs for each regwin buf */ |
1379 | char *sigc_spbuf[__SUNOS_MAXWIN]; | 1379 | char *sigc_spbuf[__SUNOS_MAXWIN]; |
1380 | 1380 | ||
1381 | /* Windows to restore after signal */ | 1381 | /* Windows to restore after signal */ |
1382 | struct { | 1382 | struct { |
1383 | - target_ulong locals[8]; | ||
1384 | - target_ulong ins[8]; | 1383 | + abi_ulong locals[8]; |
1384 | + abi_ulong ins[8]; | ||
1385 | } sigc_wbuf[__SUNOS_MAXWIN]; | 1385 | } sigc_wbuf[__SUNOS_MAXWIN]; |
1386 | }; | 1386 | }; |
1387 | /* A Sparc stack frame */ | 1387 | /* A Sparc stack frame */ |
1388 | struct sparc_stackf { | 1388 | struct sparc_stackf { |
1389 | - target_ulong locals[8]; | ||
1390 | - target_ulong ins[6]; | 1389 | + abi_ulong locals[8]; |
1390 | + abi_ulong ins[6]; | ||
1391 | struct sparc_stackf *fp; | 1391 | struct sparc_stackf *fp; |
1392 | - target_ulong callers_pc; | 1392 | + abi_ulong callers_pc; |
1393 | char *structptr; | 1393 | char *structptr; |
1394 | - target_ulong xargs[6]; | ||
1395 | - target_ulong xxargs[1]; | 1394 | + abi_ulong xargs[6]; |
1395 | + abi_ulong xxargs[1]; | ||
1396 | }; | 1396 | }; |
1397 | 1397 | ||
1398 | typedef struct { | 1398 | typedef struct { |
1399 | struct { | 1399 | struct { |
1400 | - target_ulong psr; | ||
1401 | - target_ulong pc; | ||
1402 | - target_ulong npc; | ||
1403 | - target_ulong y; | ||
1404 | - target_ulong u_regs[16]; /* globals and ins */ | 1400 | + abi_ulong psr; |
1401 | + abi_ulong pc; | ||
1402 | + abi_ulong npc; | ||
1403 | + abi_ulong y; | ||
1404 | + abi_ulong u_regs[16]; /* globals and ins */ | ||
1405 | } si_regs; | 1405 | } si_regs; |
1406 | int si_mask; | 1406 | int si_mask; |
1407 | } __siginfo_t; | 1407 | } __siginfo_t; |
@@ -1421,15 +1421,15 @@ struct target_signal_frame { | @@ -1421,15 +1421,15 @@ struct target_signal_frame { | ||
1421 | struct sparc_stackf ss; | 1421 | struct sparc_stackf ss; |
1422 | __siginfo_t info; | 1422 | __siginfo_t info; |
1423 | qemu_siginfo_fpu_t *fpu_save; | 1423 | qemu_siginfo_fpu_t *fpu_save; |
1424 | - target_ulong insns[2] __attribute__ ((aligned (8))); | ||
1425 | - target_ulong extramask[TARGET_NSIG_WORDS - 1]; | ||
1426 | - target_ulong extra_size; /* Should be 0 */ | 1424 | + abi_ulong insns[2] __attribute__ ((aligned (8))); |
1425 | + abi_ulong extramask[TARGET_NSIG_WORDS - 1]; | ||
1426 | + abi_ulong extra_size; /* Should be 0 */ | ||
1427 | qemu_siginfo_fpu_t fpu_state; | 1427 | qemu_siginfo_fpu_t fpu_state; |
1428 | }; | 1428 | }; |
1429 | struct target_rt_signal_frame { | 1429 | struct target_rt_signal_frame { |
1430 | struct sparc_stackf ss; | 1430 | struct sparc_stackf ss; |
1431 | siginfo_t info; | 1431 | siginfo_t info; |
1432 | - target_ulong regs[20]; | 1432 | + abi_ulong regs[20]; |
1433 | sigset_t mask; | 1433 | sigset_t mask; |
1434 | qemu_siginfo_fpu_t *fpu_save; | 1434 | qemu_siginfo_fpu_t *fpu_save; |
1435 | unsigned int insns[2]; | 1435 | unsigned int insns[2]; |
@@ -1468,7 +1468,7 @@ static inline void *get_sigframe(struct emulated_sigaction *sa, CPUState *env, u | @@ -1468,7 +1468,7 @@ static inline void *get_sigframe(struct emulated_sigaction *sa, CPUState *env, u | ||
1468 | } | 1468 | } |
1469 | 1469 | ||
1470 | static int | 1470 | static int |
1471 | -setup___siginfo(__siginfo_t *si, CPUState *env, target_ulong mask) | 1471 | +setup___siginfo(__siginfo_t *si, CPUState *env, abi_ulong mask) |
1472 | { | 1472 | { |
1473 | int err = 0, i; | 1473 | int err = 0, i; |
1474 | 1474 | ||
@@ -1634,7 +1634,7 @@ long do_sigreturn(CPUState *env) | @@ -1634,7 +1634,7 @@ long do_sigreturn(CPUState *env) | ||
1634 | uint32_t up_psr, pc, npc; | 1634 | uint32_t up_psr, pc, npc; |
1635 | target_sigset_t set; | 1635 | target_sigset_t set; |
1636 | sigset_t host_set; | 1636 | sigset_t host_set; |
1637 | - target_ulong fpu_save; | 1637 | + abi_ulong fpu_save; |
1638 | int err, i; | 1638 | int err, i; |
1639 | 1639 | ||
1640 | sf = (struct target_signal_frame *)g2h(env->regwptr[UREG_FP]); | 1640 | sf = (struct target_signal_frame *)g2h(env->regwptr[UREG_FP]); |
@@ -1676,7 +1676,7 @@ long do_sigreturn(CPUState *env) | @@ -1676,7 +1676,7 @@ long do_sigreturn(CPUState *env) | ||
1676 | err |= __get_user(env->regwptr[i + UREG_I0], &sf->info.si_regs.u_regs[i+8]); | 1676 | err |= __get_user(env->regwptr[i + UREG_I0], &sf->info.si_regs.u_regs[i+8]); |
1677 | } | 1677 | } |
1678 | 1678 | ||
1679 | - err |= __get_user(fpu_save, (target_ulong *)&sf->fpu_save); | 1679 | + err |= __get_user(fpu_save, (abi_ulong *)&sf->fpu_save); |
1680 | 1680 | ||
1681 | //if (fpu_save) | 1681 | //if (fpu_save) |
1682 | // err |= restore_fpu_state(env, fpu_save); | 1682 | // err |= restore_fpu_state(env, fpu_save); |
@@ -1729,11 +1729,11 @@ long do_rt_sigreturn(CPUState *env) | @@ -1729,11 +1729,11 @@ long do_rt_sigreturn(CPUState *env) | ||
1729 | #define MC_O7 18 | 1729 | #define MC_O7 18 |
1730 | #define MC_NGREG 19 | 1730 | #define MC_NGREG 19 |
1731 | 1731 | ||
1732 | -typedef target_ulong target_mc_greg_t; | 1732 | +typedef abi_ulong target_mc_greg_t; |
1733 | typedef target_mc_greg_t target_mc_gregset_t[MC_NGREG]; | 1733 | typedef target_mc_greg_t target_mc_gregset_t[MC_NGREG]; |
1734 | 1734 | ||
1735 | struct target_mc_fq { | 1735 | struct target_mc_fq { |
1736 | - target_ulong *mcfq_addr; | 1736 | + abi_ulong *mcfq_addr; |
1737 | uint32_t mcfq_insn; | 1737 | uint32_t mcfq_insn; |
1738 | }; | 1738 | }; |
1739 | 1739 | ||
@@ -1743,9 +1743,9 @@ struct target_mc_fpu { | @@ -1743,9 +1743,9 @@ struct target_mc_fpu { | ||
1743 | uint64_t dregs[32]; | 1743 | uint64_t dregs[32]; |
1744 | //uint128_t qregs[16]; | 1744 | //uint128_t qregs[16]; |
1745 | } mcfpu_fregs; | 1745 | } mcfpu_fregs; |
1746 | - target_ulong mcfpu_fsr; | ||
1747 | - target_ulong mcfpu_fprs; | ||
1748 | - target_ulong mcfpu_gsr; | 1746 | + abi_ulong mcfpu_fsr; |
1747 | + abi_ulong mcfpu_fprs; | ||
1748 | + abi_ulong mcfpu_gsr; | ||
1749 | struct target_mc_fq *mcfpu_fq; | 1749 | struct target_mc_fq *mcfpu_fq; |
1750 | unsigned char mcfpu_qcnt; | 1750 | unsigned char mcfpu_qcnt; |
1751 | unsigned char mcfpu_qentsz; | 1751 | unsigned char mcfpu_qentsz; |
@@ -1762,15 +1762,15 @@ typedef struct { | @@ -1762,15 +1762,15 @@ typedef struct { | ||
1762 | 1762 | ||
1763 | struct target_ucontext { | 1763 | struct target_ucontext { |
1764 | struct target_ucontext *uc_link; | 1764 | struct target_ucontext *uc_link; |
1765 | - target_ulong uc_flags; | 1765 | + abi_ulong uc_flags; |
1766 | target_sigset_t uc_sigmask; | 1766 | target_sigset_t uc_sigmask; |
1767 | target_mcontext_t uc_mcontext; | 1767 | target_mcontext_t uc_mcontext; |
1768 | }; | 1768 | }; |
1769 | 1769 | ||
1770 | /* A V9 register window */ | 1770 | /* A V9 register window */ |
1771 | struct target_reg_window { | 1771 | struct target_reg_window { |
1772 | - target_ulong locals[8]; | ||
1773 | - target_ulong ins[8]; | 1772 | + abi_ulong locals[8]; |
1773 | + abi_ulong ins[8]; | ||
1774 | }; | 1774 | }; |
1775 | 1775 | ||
1776 | #define TARGET_STACK_BIAS 2047 | 1776 | #define TARGET_STACK_BIAS 2047 |
@@ -1781,12 +1781,12 @@ void sparc64_set_context(CPUSPARCState *env) | @@ -1781,12 +1781,12 @@ void sparc64_set_context(CPUSPARCState *env) | ||
1781 | struct target_ucontext *ucp = (struct target_ucontext *) | 1781 | struct target_ucontext *ucp = (struct target_ucontext *) |
1782 | env->regwptr[UREG_I0]; | 1782 | env->regwptr[UREG_I0]; |
1783 | target_mc_gregset_t *grp; | 1783 | target_mc_gregset_t *grp; |
1784 | - target_ulong pc, npc, tstate; | ||
1785 | - target_ulong fp, i7; | 1784 | + abi_ulong pc, npc, tstate; |
1785 | + abi_ulong fp, i7; | ||
1786 | unsigned char fenab; | 1786 | unsigned char fenab; |
1787 | int err; | 1787 | int err; |
1788 | unsigned int i; | 1788 | unsigned int i; |
1789 | - target_ulong *src, *dst; | 1789 | + abi_ulong *src, *dst; |
1790 | 1790 | ||
1791 | grp = &ucp->uc_mcontext.mc_gregs; | 1791 | grp = &ucp->uc_mcontext.mc_gregs; |
1792 | err = get_user(pc, &((*grp)[MC_PC])); | 1792 | err = get_user(pc, &((*grp)[MC_PC])); |
@@ -1803,7 +1803,7 @@ void sparc64_set_context(CPUSPARCState *env) | @@ -1803,7 +1803,7 @@ void sparc64_set_context(CPUSPARCState *env) | ||
1803 | } else { | 1803 | } else { |
1804 | src = &ucp->uc_sigmask; | 1804 | src = &ucp->uc_sigmask; |
1805 | dst = &target_set; | 1805 | dst = &target_set; |
1806 | - for (i = 0; i < sizeof(target_sigset_t) / sizeof(target_ulong); | 1806 | + for (i = 0; i < sizeof(target_sigset_t) / sizeof(abi_ulong); |
1807 | i++, dst++, src++) | 1807 | i++, dst++, src++) |
1808 | err |= get_user(dst, src); | 1808 | err |= get_user(dst, src); |
1809 | if (err) | 1809 | if (err) |
@@ -1866,10 +1866,10 @@ void sparc64_get_context(CPUSPARCState *env) | @@ -1866,10 +1866,10 @@ void sparc64_get_context(CPUSPARCState *env) | ||
1866 | env->regwptr[UREG_I0]; | 1866 | env->regwptr[UREG_I0]; |
1867 | target_mc_gregset_t *grp; | 1867 | target_mc_gregset_t *grp; |
1868 | target_mcontext_t *mcp; | 1868 | target_mcontext_t *mcp; |
1869 | - target_ulong fp, i7; | 1869 | + abi_ulong fp, i7; |
1870 | int err; | 1870 | int err; |
1871 | unsigned int i; | 1871 | unsigned int i; |
1872 | - target_ulong *src, *dst; | 1872 | + abi_ulong *src, *dst; |
1873 | target_sigset_t target_set; | 1873 | target_sigset_t target_set; |
1874 | sigset_t set; | 1874 | sigset_t set; |
1875 | 1875 | ||
@@ -1886,11 +1886,11 @@ void sparc64_get_context(CPUSPARCState *env) | @@ -1886,11 +1886,11 @@ void sparc64_get_context(CPUSPARCState *env) | ||
1886 | host_to_target_sigset_internal(&target_set, &set); | 1886 | host_to_target_sigset_internal(&target_set, &set); |
1887 | if (TARGET_NSIG_WORDS == 1) | 1887 | if (TARGET_NSIG_WORDS == 1) |
1888 | err |= put_user(target_set.sig[0], | 1888 | err |= put_user(target_set.sig[0], |
1889 | - (target_ulong *)&ucp->uc_sigmask); | 1889 | + (abi_ulong *)&ucp->uc_sigmask); |
1890 | else { | 1890 | else { |
1891 | src = &target_set; | 1891 | src = &target_set; |
1892 | dst = &ucp->uc_sigmask; | 1892 | dst = &ucp->uc_sigmask; |
1893 | - for (i = 0; i < sizeof(target_sigset_t) / sizeof(target_ulong); | 1893 | + for (i = 0; i < sizeof(target_sigset_t) / sizeof(abi_ulong); |
1894 | i++, dst++, src++) | 1894 | i++, dst++, src++) |
1895 | err |= put_user(src, dst); | 1895 | err |= put_user(src, dst); |
1896 | if (err) | 1896 | if (err) |
@@ -2354,7 +2354,7 @@ long do_rt_sigreturn(CPUState *env) | @@ -2354,7 +2354,7 @@ long do_rt_sigreturn(CPUState *env) | ||
2354 | void process_pending_signals(void *cpu_env) | 2354 | void process_pending_signals(void *cpu_env) |
2355 | { | 2355 | { |
2356 | int sig; | 2356 | int sig; |
2357 | - target_ulong handler; | 2357 | + abi_ulong handler; |
2358 | sigset_t set, old_set; | 2358 | sigset_t set, old_set; |
2359 | target_sigset_t target_old_set; | 2359 | target_sigset_t target_old_set; |
2360 | struct emulated_sigaction *k; | 2360 | struct emulated_sigaction *k; |
linux-user/sparc/syscall.h
1 | struct target_pt_regs { | 1 | struct target_pt_regs { |
2 | - target_ulong psr; | ||
3 | - target_ulong pc; | ||
4 | - target_ulong npc; | ||
5 | - target_ulong y; | ||
6 | - target_ulong u_regs[16]; | 2 | + abi_ulong psr; |
3 | + abi_ulong pc; | ||
4 | + abi_ulong npc; | ||
5 | + abi_ulong y; | ||
6 | + abi_ulong u_regs[16]; | ||
7 | }; | 7 | }; |
8 | 8 | ||
9 | #define UNAME_MACHINE "sun4" | 9 | #define UNAME_MACHINE "sun4" |
linux-user/sparc/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -28,7 +28,7 @@ typedef struct target_sigaltstack { | @@ -28,7 +28,7 @@ typedef struct target_sigaltstack { | ||
28 | #define UREG_FP UREG_I6 | 28 | #define UREG_FP UREG_I6 |
29 | #endif | 29 | #endif |
30 | 30 | ||
31 | -static inline target_ulong get_sp_from_cpustate(CPUSPARCState *state) | 31 | +static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state) |
32 | { | 32 | { |
33 | return state->regwptr[UREG_FP]; | 33 | return state->regwptr[UREG_FP]; |
34 | } | 34 | } |
linux-user/sparc64/syscall.h
1 | struct target_pt_regs { | 1 | struct target_pt_regs { |
2 | - target_ulong u_regs[16]; | ||
3 | - target_ulong tstate; | ||
4 | - target_ulong pc; | ||
5 | - target_ulong npc; | ||
6 | - target_ulong y; | ||
7 | - target_ulong fprs; | 2 | + abi_ulong u_regs[16]; |
3 | + abi_ulong tstate; | ||
4 | + abi_ulong pc; | ||
5 | + abi_ulong npc; | ||
6 | + abi_ulong y; | ||
7 | + abi_ulong fprs; | ||
8 | }; | 8 | }; |
9 | 9 | ||
10 | #define UNAME_MACHINE "sun4u" | 10 | #define UNAME_MACHINE "sun4u" |
linux-user/sparc64/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -28,7 +28,7 @@ typedef struct target_sigaltstack { | @@ -28,7 +28,7 @@ typedef struct target_sigaltstack { | ||
28 | #define UREG_FP UREG_I6 | 28 | #define UREG_FP UREG_I6 |
29 | #endif | 29 | #endif |
30 | 30 | ||
31 | -static inline target_ulong get_sp_from_cpustate(CPUSPARCState *state) | 31 | +static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state) |
32 | { | 32 | { |
33 | return state->regwptr[UREG_FP]; | 33 | return state->regwptr[UREG_FP]; |
34 | } | 34 | } |
linux-user/syscall.c
@@ -368,7 +368,7 @@ static inline int host_to_target_errno(int err) | @@ -368,7 +368,7 @@ static inline int host_to_target_errno(int err) | ||
368 | return err; | 368 | return err; |
369 | } | 369 | } |
370 | 370 | ||
371 | -static inline target_long get_errno(target_long ret) | 371 | +static inline abi_long get_errno(abi_long ret) |
372 | { | 372 | { |
373 | if (ret == -1) | 373 | if (ret == -1) |
374 | return -host_to_target_errno(errno); | 374 | return -host_to_target_errno(errno); |
@@ -376,23 +376,23 @@ static inline target_long get_errno(target_long ret) | @@ -376,23 +376,23 @@ static inline target_long get_errno(target_long ret) | ||
376 | return ret; | 376 | return ret; |
377 | } | 377 | } |
378 | 378 | ||
379 | -static inline int is_error(target_long ret) | 379 | +static inline int is_error(abi_long ret) |
380 | { | 380 | { |
381 | - return (target_ulong)ret >= (target_ulong)(-4096); | 381 | + return (abi_ulong)ret >= (abi_ulong)(-4096); |
382 | } | 382 | } |
383 | 383 | ||
384 | -static target_ulong target_brk; | ||
385 | -static target_ulong target_original_brk; | 384 | +static abi_ulong target_brk; |
385 | +static abi_ulong target_original_brk; | ||
386 | 386 | ||
387 | -void target_set_brk(target_ulong new_brk) | 387 | +void target_set_brk(abi_ulong new_brk) |
388 | { | 388 | { |
389 | target_original_brk = target_brk = HOST_PAGE_ALIGN(new_brk); | 389 | target_original_brk = target_brk = HOST_PAGE_ALIGN(new_brk); |
390 | } | 390 | } |
391 | 391 | ||
392 | -target_long do_brk(target_ulong new_brk) | 392 | +abi_long do_brk(abi_ulong new_brk) |
393 | { | 393 | { |
394 | - target_ulong brk_page; | ||
395 | - target_long mapped_addr; | 394 | + abi_ulong brk_page; |
395 | + abi_long mapped_addr; | ||
396 | int new_alloc_size; | 396 | int new_alloc_size; |
397 | 397 | ||
398 | if (!new_brk) | 398 | if (!new_brk) |
@@ -422,7 +422,7 @@ target_long do_brk(target_ulong new_brk) | @@ -422,7 +422,7 @@ target_long do_brk(target_ulong new_brk) | ||
422 | } | 422 | } |
423 | 423 | ||
424 | static inline fd_set *target_to_host_fds(fd_set *fds, | 424 | static inline fd_set *target_to_host_fds(fd_set *fds, |
425 | - target_long *target_fds, int n) | 425 | + abi_long *target_fds, int n) |
426 | { | 426 | { |
427 | #if !defined(BSWAP_NEEDED) && !defined(WORDS_BIGENDIAN) | 427 | #if !defined(BSWAP_NEEDED) && !defined(WORDS_BIGENDIAN) |
428 | return (fd_set *)target_fds; | 428 | return (fd_set *)target_fds; |
@@ -431,8 +431,8 @@ static inline fd_set *target_to_host_fds(fd_set *fds, | @@ -431,8 +431,8 @@ static inline fd_set *target_to_host_fds(fd_set *fds, | ||
431 | if (target_fds) { | 431 | if (target_fds) { |
432 | FD_ZERO(fds); | 432 | FD_ZERO(fds); |
433 | for(i = 0;i < n; i++) { | 433 | for(i = 0;i < n; i++) { |
434 | - b = (tswapl(target_fds[i / TARGET_LONG_BITS]) >> | ||
435 | - (i & (TARGET_LONG_BITS - 1))) & 1; | 434 | + b = (tswapl(target_fds[i / TARGET_ABI_BITS]) >> |
435 | + (i & (TARGET_ABI_BITS - 1))) & 1; | ||
436 | if (b) | 436 | if (b) |
437 | FD_SET(i, fds); | 437 | FD_SET(i, fds); |
438 | } | 438 | } |
@@ -443,21 +443,21 @@ static inline fd_set *target_to_host_fds(fd_set *fds, | @@ -443,21 +443,21 @@ static inline fd_set *target_to_host_fds(fd_set *fds, | ||
443 | #endif | 443 | #endif |
444 | } | 444 | } |
445 | 445 | ||
446 | -static inline void host_to_target_fds(target_long *target_fds, | 446 | +static inline void host_to_target_fds(abi_long *target_fds, |
447 | fd_set *fds, int n) | 447 | fd_set *fds, int n) |
448 | { | 448 | { |
449 | #if !defined(BSWAP_NEEDED) && !defined(WORDS_BIGENDIAN) | 449 | #if !defined(BSWAP_NEEDED) && !defined(WORDS_BIGENDIAN) |
450 | /* nothing to do */ | 450 | /* nothing to do */ |
451 | #else | 451 | #else |
452 | int i, nw, j, k; | 452 | int i, nw, j, k; |
453 | - target_long v; | 453 | + abi_long v; |
454 | 454 | ||
455 | if (target_fds) { | 455 | if (target_fds) { |
456 | - nw = (n + TARGET_LONG_BITS - 1) / TARGET_LONG_BITS; | 456 | + nw = (n + TARGET_ABI_BITS - 1) / TARGET_ABI_BITS; |
457 | k = 0; | 457 | k = 0; |
458 | for(i = 0;i < nw; i++) { | 458 | for(i = 0;i < nw; i++) { |
459 | v = 0; | 459 | v = 0; |
460 | - for(j = 0; j < TARGET_LONG_BITS; j++) { | 460 | + for(j = 0; j < TARGET_ABI_BITS; j++) { |
461 | v |= ((FD_ISSET(k, fds) != 0) << j); | 461 | v |= ((FD_ISSET(k, fds) != 0) << j); |
462 | k++; | 462 | k++; |
463 | } | 463 | } |
@@ -473,7 +473,7 @@ static inline void host_to_target_fds(target_long *target_fds, | @@ -473,7 +473,7 @@ static inline void host_to_target_fds(target_long *target_fds, | ||
473 | #define HOST_HZ 100 | 473 | #define HOST_HZ 100 |
474 | #endif | 474 | #endif |
475 | 475 | ||
476 | -static inline target_long host_to_target_clock_t(long ticks) | 476 | +static inline abi_long host_to_target_clock_t(long ticks) |
477 | { | 477 | { |
478 | #if HOST_HZ == TARGET_HZ | 478 | #if HOST_HZ == TARGET_HZ |
479 | return ticks; | 479 | return ticks; |
@@ -482,7 +482,7 @@ static inline target_long host_to_target_clock_t(long ticks) | @@ -482,7 +482,7 @@ static inline target_long host_to_target_clock_t(long ticks) | ||
482 | #endif | 482 | #endif |
483 | } | 483 | } |
484 | 484 | ||
485 | -static inline void host_to_target_rusage(target_ulong target_addr, | 485 | +static inline void host_to_target_rusage(abi_ulong target_addr, |
486 | const struct rusage *rusage) | 486 | const struct rusage *rusage) |
487 | { | 487 | { |
488 | struct target_rusage *target_rusage; | 488 | struct target_rusage *target_rusage; |
@@ -510,7 +510,7 @@ static inline void host_to_target_rusage(target_ulong target_addr, | @@ -510,7 +510,7 @@ static inline void host_to_target_rusage(target_ulong target_addr, | ||
510 | } | 510 | } |
511 | 511 | ||
512 | static inline void target_to_host_timeval(struct timeval *tv, | 512 | static inline void target_to_host_timeval(struct timeval *tv, |
513 | - target_ulong target_addr) | 513 | + abi_ulong target_addr) |
514 | { | 514 | { |
515 | struct target_timeval *target_tv; | 515 | struct target_timeval *target_tv; |
516 | 516 | ||
@@ -520,7 +520,7 @@ static inline void target_to_host_timeval(struct timeval *tv, | @@ -520,7 +520,7 @@ static inline void target_to_host_timeval(struct timeval *tv, | ||
520 | unlock_user_struct(target_tv, target_addr, 0); | 520 | unlock_user_struct(target_tv, target_addr, 0); |
521 | } | 521 | } |
522 | 522 | ||
523 | -static inline void host_to_target_timeval(target_ulong target_addr, | 523 | +static inline void host_to_target_timeval(abi_ulong target_addr, |
524 | const struct timeval *tv) | 524 | const struct timeval *tv) |
525 | { | 525 | { |
526 | struct target_timeval *target_tv; | 526 | struct target_timeval *target_tv; |
@@ -532,33 +532,33 @@ static inline void host_to_target_timeval(target_ulong target_addr, | @@ -532,33 +532,33 @@ static inline void host_to_target_timeval(target_ulong target_addr, | ||
532 | } | 532 | } |
533 | 533 | ||
534 | 534 | ||
535 | -static target_long do_select(int n, | ||
536 | - target_ulong rfd_p, target_ulong wfd_p, | ||
537 | - target_ulong efd_p, target_ulong target_tv) | 535 | +static abi_long do_select(int n, |
536 | + abi_ulong rfd_p, abi_ulong wfd_p, | ||
537 | + abi_ulong efd_p, abi_ulong target_tv) | ||
538 | { | 538 | { |
539 | fd_set rfds, wfds, efds; | 539 | fd_set rfds, wfds, efds; |
540 | fd_set *rfds_ptr, *wfds_ptr, *efds_ptr; | 540 | fd_set *rfds_ptr, *wfds_ptr, *efds_ptr; |
541 | - target_long *target_rfds, *target_wfds, *target_efds; | 541 | + abi_long *target_rfds, *target_wfds, *target_efds; |
542 | struct timeval tv, *tv_ptr; | 542 | struct timeval tv, *tv_ptr; |
543 | - target_long ret; | 543 | + abi_long ret; |
544 | int ok; | 544 | int ok; |
545 | 545 | ||
546 | if (rfd_p) { | 546 | if (rfd_p) { |
547 | - target_rfds = lock_user(rfd_p, sizeof(target_long) * n, 1); | 547 | + target_rfds = lock_user(rfd_p, sizeof(abi_long) * n, 1); |
548 | rfds_ptr = target_to_host_fds(&rfds, target_rfds, n); | 548 | rfds_ptr = target_to_host_fds(&rfds, target_rfds, n); |
549 | } else { | 549 | } else { |
550 | target_rfds = NULL; | 550 | target_rfds = NULL; |
551 | rfds_ptr = NULL; | 551 | rfds_ptr = NULL; |
552 | } | 552 | } |
553 | if (wfd_p) { | 553 | if (wfd_p) { |
554 | - target_wfds = lock_user(wfd_p, sizeof(target_long) * n, 1); | 554 | + target_wfds = lock_user(wfd_p, sizeof(abi_long) * n, 1); |
555 | wfds_ptr = target_to_host_fds(&wfds, target_wfds, n); | 555 | wfds_ptr = target_to_host_fds(&wfds, target_wfds, n); |
556 | } else { | 556 | } else { |
557 | target_wfds = NULL; | 557 | target_wfds = NULL; |
558 | wfds_ptr = NULL; | 558 | wfds_ptr = NULL; |
559 | } | 559 | } |
560 | if (efd_p) { | 560 | if (efd_p) { |
561 | - target_efds = lock_user(efd_p, sizeof(target_long) * n, 1); | 561 | + target_efds = lock_user(efd_p, sizeof(abi_long) * n, 1); |
562 | efds_ptr = target_to_host_fds(&efds, target_efds, n); | 562 | efds_ptr = target_to_host_fds(&efds, target_efds, n); |
563 | } else { | 563 | } else { |
564 | target_efds = NULL; | 564 | target_efds = NULL; |
@@ -584,17 +584,17 @@ static target_long do_select(int n, | @@ -584,17 +584,17 @@ static target_long do_select(int n, | ||
584 | } | 584 | } |
585 | } | 585 | } |
586 | if (target_rfds) | 586 | if (target_rfds) |
587 | - unlock_user(target_rfds, rfd_p, ok ? sizeof(target_long) * n : 0); | 587 | + unlock_user(target_rfds, rfd_p, ok ? sizeof(abi_long) * n : 0); |
588 | if (target_wfds) | 588 | if (target_wfds) |
589 | - unlock_user(target_wfds, wfd_p, ok ? sizeof(target_long) * n : 0); | 589 | + unlock_user(target_wfds, wfd_p, ok ? sizeof(abi_long) * n : 0); |
590 | if (target_efds) | 590 | if (target_efds) |
591 | - unlock_user(target_efds, efd_p, ok ? sizeof(target_long) * n : 0); | 591 | + unlock_user(target_efds, efd_p, ok ? sizeof(abi_long) * n : 0); |
592 | 592 | ||
593 | return ret; | 593 | return ret; |
594 | } | 594 | } |
595 | 595 | ||
596 | static inline void target_to_host_sockaddr(struct sockaddr *addr, | 596 | static inline void target_to_host_sockaddr(struct sockaddr *addr, |
597 | - target_ulong target_addr, | 597 | + abi_ulong target_addr, |
598 | socklen_t len) | 598 | socklen_t len) |
599 | { | 599 | { |
600 | struct target_sockaddr *target_saddr; | 600 | struct target_sockaddr *target_saddr; |
@@ -605,7 +605,7 @@ static inline void target_to_host_sockaddr(struct sockaddr *addr, | @@ -605,7 +605,7 @@ static inline void target_to_host_sockaddr(struct sockaddr *addr, | ||
605 | unlock_user(target_saddr, target_addr, 0); | 605 | unlock_user(target_saddr, target_addr, 0); |
606 | } | 606 | } |
607 | 607 | ||
608 | -static inline void host_to_target_sockaddr(target_ulong target_addr, | 608 | +static inline void host_to_target_sockaddr(abi_ulong target_addr, |
609 | struct sockaddr *addr, | 609 | struct sockaddr *addr, |
610 | socklen_t len) | 610 | socklen_t len) |
611 | { | 611 | { |
@@ -706,10 +706,10 @@ static inline void host_to_target_cmsg(struct target_msghdr *target_msgh, | @@ -706,10 +706,10 @@ static inline void host_to_target_cmsg(struct target_msghdr *target_msgh, | ||
706 | msgh->msg_controllen = tswapl(space); | 706 | msgh->msg_controllen = tswapl(space); |
707 | } | 707 | } |
708 | 708 | ||
709 | -static target_long do_setsockopt(int sockfd, int level, int optname, | ||
710 | - target_ulong optval, socklen_t optlen) | 709 | +static abi_long do_setsockopt(int sockfd, int level, int optname, |
710 | + abi_ulong optval, socklen_t optlen) | ||
711 | { | 711 | { |
712 | - target_long ret; | 712 | + abi_long ret; |
713 | int val; | 713 | int val; |
714 | 714 | ||
715 | switch(level) { | 715 | switch(level) { |
@@ -827,10 +827,10 @@ static target_long do_setsockopt(int sockfd, int level, int optname, | @@ -827,10 +827,10 @@ static target_long do_setsockopt(int sockfd, int level, int optname, | ||
827 | return ret; | 827 | return ret; |
828 | } | 828 | } |
829 | 829 | ||
830 | -static target_long do_getsockopt(int sockfd, int level, int optname, | ||
831 | - target_ulong optval, target_ulong optlen) | 830 | +static abi_long do_getsockopt(int sockfd, int level, int optname, |
831 | + abi_ulong optval, abi_ulong optlen) | ||
832 | { | 832 | { |
833 | - target_long ret; | 833 | + abi_long ret; |
834 | int len, lv, val; | 834 | int len, lv, val; |
835 | 835 | ||
836 | switch(level) { | 836 | switch(level) { |
@@ -916,11 +916,11 @@ static target_long do_getsockopt(int sockfd, int level, int optname, | @@ -916,11 +916,11 @@ static target_long do_getsockopt(int sockfd, int level, int optname, | ||
916 | return ret; | 916 | return ret; |
917 | } | 917 | } |
918 | 918 | ||
919 | -static void lock_iovec(struct iovec *vec, target_ulong target_addr, | 919 | +static void lock_iovec(struct iovec *vec, abi_ulong target_addr, |
920 | int count, int copy) | 920 | int count, int copy) |
921 | { | 921 | { |
922 | struct target_iovec *target_vec; | 922 | struct target_iovec *target_vec; |
923 | - target_ulong base; | 923 | + abi_ulong base; |
924 | int i; | 924 | int i; |
925 | 925 | ||
926 | target_vec = lock_user(target_addr, count * sizeof(struct target_iovec), 1); | 926 | target_vec = lock_user(target_addr, count * sizeof(struct target_iovec), 1); |
@@ -932,11 +932,11 @@ static void lock_iovec(struct iovec *vec, target_ulong target_addr, | @@ -932,11 +932,11 @@ static void lock_iovec(struct iovec *vec, target_ulong target_addr, | ||
932 | unlock_user (target_vec, target_addr, 0); | 932 | unlock_user (target_vec, target_addr, 0); |
933 | } | 933 | } |
934 | 934 | ||
935 | -static void unlock_iovec(struct iovec *vec, target_ulong target_addr, | 935 | +static void unlock_iovec(struct iovec *vec, abi_ulong target_addr, |
936 | int count, int copy) | 936 | int count, int copy) |
937 | { | 937 | { |
938 | struct target_iovec *target_vec; | 938 | struct target_iovec *target_vec; |
939 | - target_ulong base; | 939 | + abi_ulong base; |
940 | int i; | 940 | int i; |
941 | 941 | ||
942 | target_vec = lock_user(target_addr, count * sizeof(struct target_iovec), 1); | 942 | target_vec = lock_user(target_addr, count * sizeof(struct target_iovec), 1); |
@@ -947,7 +947,7 @@ static void unlock_iovec(struct iovec *vec, target_ulong target_addr, | @@ -947,7 +947,7 @@ static void unlock_iovec(struct iovec *vec, target_ulong target_addr, | ||
947 | unlock_user (target_vec, target_addr, 0); | 947 | unlock_user (target_vec, target_addr, 0); |
948 | } | 948 | } |
949 | 949 | ||
950 | -static target_long do_socket(int domain, int type, int protocol) | 950 | +static abi_long do_socket(int domain, int type, int protocol) |
951 | { | 951 | { |
952 | #if defined(TARGET_MIPS) | 952 | #if defined(TARGET_MIPS) |
953 | switch(type) { | 953 | switch(type) { |
@@ -974,8 +974,8 @@ static target_long do_socket(int domain, int type, int protocol) | @@ -974,8 +974,8 @@ static target_long do_socket(int domain, int type, int protocol) | ||
974 | return get_errno(socket(domain, type, protocol)); | 974 | return get_errno(socket(domain, type, protocol)); |
975 | } | 975 | } |
976 | 976 | ||
977 | -static target_long do_bind(int sockfd, target_ulong target_addr, | ||
978 | - socklen_t addrlen) | 977 | +static abi_long do_bind(int sockfd, abi_ulong target_addr, |
978 | + socklen_t addrlen) | ||
979 | { | 979 | { |
980 | void *addr = alloca(addrlen); | 980 | void *addr = alloca(addrlen); |
981 | 981 | ||
@@ -983,8 +983,8 @@ static target_long do_bind(int sockfd, target_ulong target_addr, | @@ -983,8 +983,8 @@ static target_long do_bind(int sockfd, target_ulong target_addr, | ||
983 | return get_errno(bind(sockfd, addr, addrlen)); | 983 | return get_errno(bind(sockfd, addr, addrlen)); |
984 | } | 984 | } |
985 | 985 | ||
986 | -static target_long do_connect(int sockfd, target_ulong target_addr, | ||
987 | - socklen_t addrlen) | 986 | +static abi_long do_connect(int sockfd, abi_ulong target_addr, |
987 | + socklen_t addrlen) | ||
988 | { | 988 | { |
989 | void *addr = alloca(addrlen); | 989 | void *addr = alloca(addrlen); |
990 | 990 | ||
@@ -992,15 +992,15 @@ static target_long do_connect(int sockfd, target_ulong target_addr, | @@ -992,15 +992,15 @@ static target_long do_connect(int sockfd, target_ulong target_addr, | ||
992 | return get_errno(connect(sockfd, addr, addrlen)); | 992 | return get_errno(connect(sockfd, addr, addrlen)); |
993 | } | 993 | } |
994 | 994 | ||
995 | -static target_long do_sendrecvmsg(int fd, target_ulong target_msg, | ||
996 | - int flags, int send) | 995 | +static abi_long do_sendrecvmsg(int fd, abi_ulong target_msg, |
996 | + int flags, int send) | ||
997 | { | 997 | { |
998 | - target_long ret; | 998 | + abi_long ret; |
999 | struct target_msghdr *msgp; | 999 | struct target_msghdr *msgp; |
1000 | struct msghdr msg; | 1000 | struct msghdr msg; |
1001 | int count; | 1001 | int count; |
1002 | struct iovec *vec; | 1002 | struct iovec *vec; |
1003 | - target_ulong target_vec; | 1003 | + abi_ulong target_vec; |
1004 | 1004 | ||
1005 | lock_user_struct(msgp, target_msg, 1); | 1005 | lock_user_struct(msgp, target_msg, 1); |
1006 | if (msgp->msg_name) { | 1006 | if (msgp->msg_name) { |
@@ -1035,12 +1035,12 @@ static target_long do_sendrecvmsg(int fd, target_ulong target_msg, | @@ -1035,12 +1035,12 @@ static target_long do_sendrecvmsg(int fd, target_ulong target_msg, | ||
1035 | return ret; | 1035 | return ret; |
1036 | } | 1036 | } |
1037 | 1037 | ||
1038 | -static target_long do_accept(int fd, target_ulong target_addr, | ||
1039 | - target_ulong target_addrlen) | 1038 | +static abi_long do_accept(int fd, abi_ulong target_addr, |
1039 | + abi_ulong target_addrlen) | ||
1040 | { | 1040 | { |
1041 | socklen_t addrlen = tget32(target_addrlen); | 1041 | socklen_t addrlen = tget32(target_addrlen); |
1042 | void *addr = alloca(addrlen); | 1042 | void *addr = alloca(addrlen); |
1043 | - target_long ret; | 1043 | + abi_long ret; |
1044 | 1044 | ||
1045 | ret = get_errno(accept(fd, addr, &addrlen)); | 1045 | ret = get_errno(accept(fd, addr, &addrlen)); |
1046 | if (!is_error(ret)) { | 1046 | if (!is_error(ret)) { |
@@ -1050,12 +1050,12 @@ static target_long do_accept(int fd, target_ulong target_addr, | @@ -1050,12 +1050,12 @@ static target_long do_accept(int fd, target_ulong target_addr, | ||
1050 | return ret; | 1050 | return ret; |
1051 | } | 1051 | } |
1052 | 1052 | ||
1053 | -static target_long do_getpeername(int fd, target_ulong target_addr, | ||
1054 | - target_ulong target_addrlen) | 1053 | +static abi_long do_getpeername(int fd, abi_ulong target_addr, |
1054 | + abi_ulong target_addrlen) | ||
1055 | { | 1055 | { |
1056 | socklen_t addrlen = tget32(target_addrlen); | 1056 | socklen_t addrlen = tget32(target_addrlen); |
1057 | void *addr = alloca(addrlen); | 1057 | void *addr = alloca(addrlen); |
1058 | - target_long ret; | 1058 | + abi_long ret; |
1059 | 1059 | ||
1060 | ret = get_errno(getpeername(fd, addr, &addrlen)); | 1060 | ret = get_errno(getpeername(fd, addr, &addrlen)); |
1061 | if (!is_error(ret)) { | 1061 | if (!is_error(ret)) { |
@@ -1065,12 +1065,12 @@ static target_long do_getpeername(int fd, target_ulong target_addr, | @@ -1065,12 +1065,12 @@ static target_long do_getpeername(int fd, target_ulong target_addr, | ||
1065 | return ret; | 1065 | return ret; |
1066 | } | 1066 | } |
1067 | 1067 | ||
1068 | -static target_long do_getsockname(int fd, target_ulong target_addr, | ||
1069 | - target_ulong target_addrlen) | 1068 | +static abi_long do_getsockname(int fd, abi_ulong target_addr, |
1069 | + abi_ulong target_addrlen) | ||
1070 | { | 1070 | { |
1071 | socklen_t addrlen = tget32(target_addrlen); | 1071 | socklen_t addrlen = tget32(target_addrlen); |
1072 | void *addr = alloca(addrlen); | 1072 | void *addr = alloca(addrlen); |
1073 | - target_long ret; | 1073 | + abi_long ret; |
1074 | 1074 | ||
1075 | ret = get_errno(getsockname(fd, addr, &addrlen)); | 1075 | ret = get_errno(getsockname(fd, addr, &addrlen)); |
1076 | if (!is_error(ret)) { | 1076 | if (!is_error(ret)) { |
@@ -1080,11 +1080,11 @@ static target_long do_getsockname(int fd, target_ulong target_addr, | @@ -1080,11 +1080,11 @@ static target_long do_getsockname(int fd, target_ulong target_addr, | ||
1080 | return ret; | 1080 | return ret; |
1081 | } | 1081 | } |
1082 | 1082 | ||
1083 | -static target_long do_socketpair(int domain, int type, int protocol, | ||
1084 | - target_ulong target_tab) | 1083 | +static abi_long do_socketpair(int domain, int type, int protocol, |
1084 | + abi_ulong target_tab) | ||
1085 | { | 1085 | { |
1086 | int tab[2]; | 1086 | int tab[2]; |
1087 | - target_long ret; | 1087 | + abi_long ret; |
1088 | 1088 | ||
1089 | ret = get_errno(socketpair(domain, type, protocol, tab)); | 1089 | ret = get_errno(socketpair(domain, type, protocol, tab)); |
1090 | if (!is_error(ret)) { | 1090 | if (!is_error(ret)) { |
@@ -1094,12 +1094,12 @@ static target_long do_socketpair(int domain, int type, int protocol, | @@ -1094,12 +1094,12 @@ static target_long do_socketpair(int domain, int type, int protocol, | ||
1094 | return ret; | 1094 | return ret; |
1095 | } | 1095 | } |
1096 | 1096 | ||
1097 | -static target_long do_sendto(int fd, target_ulong msg, size_t len, int flags, | ||
1098 | - target_ulong target_addr, socklen_t addrlen) | 1097 | +static abi_long do_sendto(int fd, abi_ulong msg, size_t len, int flags, |
1098 | + abi_ulong target_addr, socklen_t addrlen) | ||
1099 | { | 1099 | { |
1100 | void *addr; | 1100 | void *addr; |
1101 | void *host_msg; | 1101 | void *host_msg; |
1102 | - target_long ret; | 1102 | + abi_long ret; |
1103 | 1103 | ||
1104 | host_msg = lock_user(msg, len, 1); | 1104 | host_msg = lock_user(msg, len, 1); |
1105 | if (target_addr) { | 1105 | if (target_addr) { |
@@ -1113,14 +1113,14 @@ static target_long do_sendto(int fd, target_ulong msg, size_t len, int flags, | @@ -1113,14 +1113,14 @@ static target_long do_sendto(int fd, target_ulong msg, size_t len, int flags, | ||
1113 | return ret; | 1113 | return ret; |
1114 | } | 1114 | } |
1115 | 1115 | ||
1116 | -static target_long do_recvfrom(int fd, target_ulong msg, size_t len, int flags, | ||
1117 | - target_ulong target_addr, | ||
1118 | - target_ulong target_addrlen) | 1116 | +static abi_long do_recvfrom(int fd, abi_ulong msg, size_t len, int flags, |
1117 | + abi_ulong target_addr, | ||
1118 | + abi_ulong target_addrlen) | ||
1119 | { | 1119 | { |
1120 | socklen_t addrlen; | 1120 | socklen_t addrlen; |
1121 | void *addr; | 1121 | void *addr; |
1122 | void *host_msg; | 1122 | void *host_msg; |
1123 | - target_long ret; | 1123 | + abi_long ret; |
1124 | 1124 | ||
1125 | host_msg = lock_user(msg, len, 0); | 1125 | host_msg = lock_user(msg, len, 0); |
1126 | if (target_addr) { | 1126 | if (target_addr) { |
@@ -1144,10 +1144,10 @@ static target_long do_recvfrom(int fd, target_ulong msg, size_t len, int flags, | @@ -1144,10 +1144,10 @@ static target_long do_recvfrom(int fd, target_ulong msg, size_t len, int flags, | ||
1144 | } | 1144 | } |
1145 | 1145 | ||
1146 | #ifdef TARGET_NR_socketcall | 1146 | #ifdef TARGET_NR_socketcall |
1147 | -static target_long do_socketcall(int num, target_ulong vptr) | 1147 | +static abi_long do_socketcall(int num, abi_ulong vptr) |
1148 | { | 1148 | { |
1149 | - target_long ret; | ||
1150 | - const int n = sizeof(target_ulong); | 1149 | + abi_long ret; |
1150 | + const int n = sizeof(abi_ulong); | ||
1151 | 1151 | ||
1152 | switch(num) { | 1152 | switch(num) { |
1153 | case SOCKOP_socket: | 1153 | case SOCKOP_socket: |
@@ -1161,7 +1161,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1161,7 +1161,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1161 | case SOCKOP_bind: | 1161 | case SOCKOP_bind: |
1162 | { | 1162 | { |
1163 | int sockfd = tgetl(vptr); | 1163 | int sockfd = tgetl(vptr); |
1164 | - target_ulong target_addr = tgetl(vptr + n); | 1164 | + abi_ulong target_addr = tgetl(vptr + n); |
1165 | socklen_t addrlen = tgetl(vptr + 2 * n); | 1165 | socklen_t addrlen = tgetl(vptr + 2 * n); |
1166 | ret = do_bind(sockfd, target_addr, addrlen); | 1166 | ret = do_bind(sockfd, target_addr, addrlen); |
1167 | } | 1167 | } |
@@ -1169,7 +1169,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1169,7 +1169,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1169 | case SOCKOP_connect: | 1169 | case SOCKOP_connect: |
1170 | { | 1170 | { |
1171 | int sockfd = tgetl(vptr); | 1171 | int sockfd = tgetl(vptr); |
1172 | - target_ulong target_addr = tgetl(vptr + n); | 1172 | + abi_ulong target_addr = tgetl(vptr + n); |
1173 | socklen_t addrlen = tgetl(vptr + 2 * n); | 1173 | socklen_t addrlen = tgetl(vptr + 2 * n); |
1174 | ret = do_connect(sockfd, target_addr, addrlen); | 1174 | ret = do_connect(sockfd, target_addr, addrlen); |
1175 | } | 1175 | } |
@@ -1184,24 +1184,24 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1184,24 +1184,24 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1184 | case SOCKOP_accept: | 1184 | case SOCKOP_accept: |
1185 | { | 1185 | { |
1186 | int sockfd = tgetl(vptr); | 1186 | int sockfd = tgetl(vptr); |
1187 | - target_ulong target_addr = tgetl(vptr + n); | ||
1188 | - target_ulong target_addrlen = tgetl(vptr + 2 * n); | 1187 | + abi_ulong target_addr = tgetl(vptr + n); |
1188 | + abi_ulong target_addrlen = tgetl(vptr + 2 * n); | ||
1189 | ret = do_accept(sockfd, target_addr, target_addrlen); | 1189 | ret = do_accept(sockfd, target_addr, target_addrlen); |
1190 | } | 1190 | } |
1191 | break; | 1191 | break; |
1192 | case SOCKOP_getsockname: | 1192 | case SOCKOP_getsockname: |
1193 | { | 1193 | { |
1194 | int sockfd = tgetl(vptr); | 1194 | int sockfd = tgetl(vptr); |
1195 | - target_ulong target_addr = tgetl(vptr + n); | ||
1196 | - target_ulong target_addrlen = tgetl(vptr + 2 * n); | 1195 | + abi_ulong target_addr = tgetl(vptr + n); |
1196 | + abi_ulong target_addrlen = tgetl(vptr + 2 * n); | ||
1197 | ret = do_getsockname(sockfd, target_addr, target_addrlen); | 1197 | ret = do_getsockname(sockfd, target_addr, target_addrlen); |
1198 | } | 1198 | } |
1199 | break; | 1199 | break; |
1200 | case SOCKOP_getpeername: | 1200 | case SOCKOP_getpeername: |
1201 | { | 1201 | { |
1202 | int sockfd = tgetl(vptr); | 1202 | int sockfd = tgetl(vptr); |
1203 | - target_ulong target_addr = tgetl(vptr + n); | ||
1204 | - target_ulong target_addrlen = tgetl(vptr + 2 * n); | 1203 | + abi_ulong target_addr = tgetl(vptr + n); |
1204 | + abi_ulong target_addrlen = tgetl(vptr + 2 * n); | ||
1205 | ret = do_getpeername(sockfd, target_addr, target_addrlen); | 1205 | ret = do_getpeername(sockfd, target_addr, target_addrlen); |
1206 | } | 1206 | } |
1207 | break; | 1207 | break; |
@@ -1210,14 +1210,14 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1210,14 +1210,14 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1210 | int domain = tgetl(vptr); | 1210 | int domain = tgetl(vptr); |
1211 | int type = tgetl(vptr + n); | 1211 | int type = tgetl(vptr + n); |
1212 | int protocol = tgetl(vptr + 2 * n); | 1212 | int protocol = tgetl(vptr + 2 * n); |
1213 | - target_ulong tab = tgetl(vptr + 3 * n); | 1213 | + abi_ulong tab = tgetl(vptr + 3 * n); |
1214 | ret = do_socketpair(domain, type, protocol, tab); | 1214 | ret = do_socketpair(domain, type, protocol, tab); |
1215 | } | 1215 | } |
1216 | break; | 1216 | break; |
1217 | case SOCKOP_send: | 1217 | case SOCKOP_send: |
1218 | { | 1218 | { |
1219 | int sockfd = tgetl(vptr); | 1219 | int sockfd = tgetl(vptr); |
1220 | - target_ulong msg = tgetl(vptr + n); | 1220 | + abi_ulong msg = tgetl(vptr + n); |
1221 | size_t len = tgetl(vptr + 2 * n); | 1221 | size_t len = tgetl(vptr + 2 * n); |
1222 | int flags = tgetl(vptr + 3 * n); | 1222 | int flags = tgetl(vptr + 3 * n); |
1223 | ret = do_sendto(sockfd, msg, len, flags, 0, 0); | 1223 | ret = do_sendto(sockfd, msg, len, flags, 0, 0); |
@@ -1226,7 +1226,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1226,7 +1226,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1226 | case SOCKOP_recv: | 1226 | case SOCKOP_recv: |
1227 | { | 1227 | { |
1228 | int sockfd = tgetl(vptr); | 1228 | int sockfd = tgetl(vptr); |
1229 | - target_ulong msg = tgetl(vptr + n); | 1229 | + abi_ulong msg = tgetl(vptr + n); |
1230 | size_t len = tgetl(vptr + 2 * n); | 1230 | size_t len = tgetl(vptr + 2 * n); |
1231 | int flags = tgetl(vptr + 3 * n); | 1231 | int flags = tgetl(vptr + 3 * n); |
1232 | ret = do_recvfrom(sockfd, msg, len, flags, 0, 0); | 1232 | ret = do_recvfrom(sockfd, msg, len, flags, 0, 0); |
@@ -1235,10 +1235,10 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1235,10 +1235,10 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1235 | case SOCKOP_sendto: | 1235 | case SOCKOP_sendto: |
1236 | { | 1236 | { |
1237 | int sockfd = tgetl(vptr); | 1237 | int sockfd = tgetl(vptr); |
1238 | - target_ulong msg = tgetl(vptr + n); | 1238 | + abi_ulong msg = tgetl(vptr + n); |
1239 | size_t len = tgetl(vptr + 2 * n); | 1239 | size_t len = tgetl(vptr + 2 * n); |
1240 | int flags = tgetl(vptr + 3 * n); | 1240 | int flags = tgetl(vptr + 3 * n); |
1241 | - target_ulong addr = tgetl(vptr + 4 * n); | 1241 | + abi_ulong addr = tgetl(vptr + 4 * n); |
1242 | socklen_t addrlen = tgetl(vptr + 5 * n); | 1242 | socklen_t addrlen = tgetl(vptr + 5 * n); |
1243 | ret = do_sendto(sockfd, msg, len, flags, addr, addrlen); | 1243 | ret = do_sendto(sockfd, msg, len, flags, addr, addrlen); |
1244 | } | 1244 | } |
@@ -1246,11 +1246,11 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1246,11 +1246,11 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1246 | case SOCKOP_recvfrom: | 1246 | case SOCKOP_recvfrom: |
1247 | { | 1247 | { |
1248 | int sockfd = tgetl(vptr); | 1248 | int sockfd = tgetl(vptr); |
1249 | - target_ulong msg = tgetl(vptr + n); | 1249 | + abi_ulong msg = tgetl(vptr + n); |
1250 | size_t len = tgetl(vptr + 2 * n); | 1250 | size_t len = tgetl(vptr + 2 * n); |
1251 | int flags = tgetl(vptr + 3 * n); | 1251 | int flags = tgetl(vptr + 3 * n); |
1252 | - target_ulong addr = tgetl(vptr + 4 * n); | ||
1253 | - target_ulong addrlen = tgetl(vptr + 5 * n); | 1252 | + abi_ulong addr = tgetl(vptr + 4 * n); |
1253 | + abi_ulong addrlen = tgetl(vptr + 5 * n); | ||
1254 | ret = do_recvfrom(sockfd, msg, len, flags, addr, addrlen); | 1254 | ret = do_recvfrom(sockfd, msg, len, flags, addr, addrlen); |
1255 | } | 1255 | } |
1256 | break; | 1256 | break; |
@@ -1266,7 +1266,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1266,7 +1266,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1266 | case SOCKOP_recvmsg: | 1266 | case SOCKOP_recvmsg: |
1267 | { | 1267 | { |
1268 | int fd; | 1268 | int fd; |
1269 | - target_ulong target_msg; | 1269 | + abi_ulong target_msg; |
1270 | int flags; | 1270 | int flags; |
1271 | 1271 | ||
1272 | fd = tgetl(vptr); | 1272 | fd = tgetl(vptr); |
@@ -1282,7 +1282,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1282,7 +1282,7 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1282 | int sockfd = tgetl(vptr); | 1282 | int sockfd = tgetl(vptr); |
1283 | int level = tgetl(vptr + n); | 1283 | int level = tgetl(vptr + n); |
1284 | int optname = tgetl(vptr + 2 * n); | 1284 | int optname = tgetl(vptr + 2 * n); |
1285 | - target_ulong optval = tgetl(vptr + 3 * n); | 1285 | + abi_ulong optval = tgetl(vptr + 3 * n); |
1286 | socklen_t optlen = tgetl(vptr + 4 * n); | 1286 | socklen_t optlen = tgetl(vptr + 4 * n); |
1287 | 1287 | ||
1288 | ret = do_setsockopt(sockfd, level, optname, optval, optlen); | 1288 | ret = do_setsockopt(sockfd, level, optname, optval, optlen); |
@@ -1293,8 +1293,8 @@ static target_long do_socketcall(int num, target_ulong vptr) | @@ -1293,8 +1293,8 @@ static target_long do_socketcall(int num, target_ulong vptr) | ||
1293 | int sockfd = tgetl(vptr); | 1293 | int sockfd = tgetl(vptr); |
1294 | int level = tgetl(vptr + n); | 1294 | int level = tgetl(vptr + n); |
1295 | int optname = tgetl(vptr + 2 * n); | 1295 | int optname = tgetl(vptr + 2 * n); |
1296 | - target_ulong optval = tgetl(vptr + 3 * n); | ||
1297 | - target_ulong poptlen = tgetl(vptr + 4 * n); | 1296 | + abi_ulong optval = tgetl(vptr + 3 * n); |
1297 | + abi_ulong poptlen = tgetl(vptr + 4 * n); | ||
1298 | 1298 | ||
1299 | ret = do_getsockopt(sockfd, level, optname, optval, poptlen); | 1299 | ret = do_getsockopt(sockfd, level, optname, optval, poptlen); |
1300 | } | 1300 | } |
@@ -1318,33 +1318,33 @@ static struct shm_region { | @@ -1318,33 +1318,33 @@ static struct shm_region { | ||
1318 | 1318 | ||
1319 | struct target_ipc_perm | 1319 | struct target_ipc_perm |
1320 | { | 1320 | { |
1321 | - target_long __key; | ||
1322 | - target_ulong uid; | ||
1323 | - target_ulong gid; | ||
1324 | - target_ulong cuid; | ||
1325 | - target_ulong cgid; | 1321 | + abi_long __key; |
1322 | + abi_ulong uid; | ||
1323 | + abi_ulong gid; | ||
1324 | + abi_ulong cuid; | ||
1325 | + abi_ulong cgid; | ||
1326 | unsigned short int mode; | 1326 | unsigned short int mode; |
1327 | unsigned short int __pad1; | 1327 | unsigned short int __pad1; |
1328 | unsigned short int __seq; | 1328 | unsigned short int __seq; |
1329 | unsigned short int __pad2; | 1329 | unsigned short int __pad2; |
1330 | - target_ulong __unused1; | ||
1331 | - target_ulong __unused2; | 1330 | + abi_ulong __unused1; |
1331 | + abi_ulong __unused2; | ||
1332 | }; | 1332 | }; |
1333 | 1333 | ||
1334 | struct target_semid_ds | 1334 | struct target_semid_ds |
1335 | { | 1335 | { |
1336 | struct target_ipc_perm sem_perm; | 1336 | struct target_ipc_perm sem_perm; |
1337 | - target_ulong sem_otime; | ||
1338 | - target_ulong __unused1; | ||
1339 | - target_ulong sem_ctime; | ||
1340 | - target_ulong __unused2; | ||
1341 | - target_ulong sem_nsems; | ||
1342 | - target_ulong __unused3; | ||
1343 | - target_ulong __unused4; | 1337 | + abi_ulong sem_otime; |
1338 | + abi_ulong __unused1; | ||
1339 | + abi_ulong sem_ctime; | ||
1340 | + abi_ulong __unused2; | ||
1341 | + abi_ulong sem_nsems; | ||
1342 | + abi_ulong __unused3; | ||
1343 | + abi_ulong __unused4; | ||
1344 | }; | 1344 | }; |
1345 | 1345 | ||
1346 | static inline void target_to_host_ipc_perm(struct ipc_perm *host_ip, | 1346 | static inline void target_to_host_ipc_perm(struct ipc_perm *host_ip, |
1347 | - target_ulong target_addr) | 1347 | + abi_ulong target_addr) |
1348 | { | 1348 | { |
1349 | struct target_ipc_perm *target_ip; | 1349 | struct target_ipc_perm *target_ip; |
1350 | struct target_semid_ds *target_sd; | 1350 | struct target_semid_ds *target_sd; |
@@ -1360,7 +1360,7 @@ static inline void target_to_host_ipc_perm(struct ipc_perm *host_ip, | @@ -1360,7 +1360,7 @@ static inline void target_to_host_ipc_perm(struct ipc_perm *host_ip, | ||
1360 | unlock_user_struct(target_sd, target_addr, 0); | 1360 | unlock_user_struct(target_sd, target_addr, 0); |
1361 | } | 1361 | } |
1362 | 1362 | ||
1363 | -static inline void host_to_target_ipc_perm(target_ulong target_addr, | 1363 | +static inline void host_to_target_ipc_perm(abi_ulong target_addr, |
1364 | struct ipc_perm *host_ip) | 1364 | struct ipc_perm *host_ip) |
1365 | { | 1365 | { |
1366 | struct target_ipc_perm *target_ip; | 1366 | struct target_ipc_perm *target_ip; |
@@ -1378,7 +1378,7 @@ static inline void host_to_target_ipc_perm(target_ulong target_addr, | @@ -1378,7 +1378,7 @@ static inline void host_to_target_ipc_perm(target_ulong target_addr, | ||
1378 | } | 1378 | } |
1379 | 1379 | ||
1380 | static inline void target_to_host_semid_ds(struct semid_ds *host_sd, | 1380 | static inline void target_to_host_semid_ds(struct semid_ds *host_sd, |
1381 | - target_ulong target_addr) | 1381 | + abi_ulong target_addr) |
1382 | { | 1382 | { |
1383 | struct target_semid_ds *target_sd; | 1383 | struct target_semid_ds *target_sd; |
1384 | 1384 | ||
@@ -1390,7 +1390,7 @@ static inline void target_to_host_semid_ds(struct semid_ds *host_sd, | @@ -1390,7 +1390,7 @@ static inline void target_to_host_semid_ds(struct semid_ds *host_sd, | ||
1390 | unlock_user_struct(target_sd, target_addr, 0); | 1390 | unlock_user_struct(target_sd, target_addr, 0); |
1391 | } | 1391 | } |
1392 | 1392 | ||
1393 | -static inline void host_to_target_semid_ds(target_ulong target_addr, | 1393 | +static inline void host_to_target_semid_ds(abi_ulong target_addr, |
1394 | struct semid_ds *host_sd) | 1394 | struct semid_ds *host_sd) |
1395 | { | 1395 | { |
1396 | struct target_semid_ds *target_sd; | 1396 | struct target_semid_ds *target_sd; |
@@ -1411,13 +1411,13 @@ union semun { | @@ -1411,13 +1411,13 @@ union semun { | ||
1411 | 1411 | ||
1412 | union target_semun { | 1412 | union target_semun { |
1413 | int val; | 1413 | int val; |
1414 | - target_long buf; | 1414 | + abi_long buf; |
1415 | unsigned short int *array; | 1415 | unsigned short int *array; |
1416 | }; | 1416 | }; |
1417 | 1417 | ||
1418 | static inline void target_to_host_semun(int cmd, | 1418 | static inline void target_to_host_semun(int cmd, |
1419 | union semun *host_su, | 1419 | union semun *host_su, |
1420 | - target_ulong target_addr, | 1420 | + abi_ulong target_addr, |
1421 | struct semid_ds *ds) | 1421 | struct semid_ds *ds) |
1422 | { | 1422 | { |
1423 | union target_semun *target_su; | 1423 | union target_semun *target_su; |
@@ -1448,7 +1448,7 @@ static inline void target_to_host_semun(int cmd, | @@ -1448,7 +1448,7 @@ static inline void target_to_host_semun(int cmd, | ||
1448 | } | 1448 | } |
1449 | 1449 | ||
1450 | static inline void host_to_target_semun(int cmd, | 1450 | static inline void host_to_target_semun(int cmd, |
1451 | - target_ulong target_addr, | 1451 | + abi_ulong target_addr, |
1452 | union semun *host_su, | 1452 | union semun *host_su, |
1453 | struct semid_ds *ds) | 1453 | struct semid_ds *ds) |
1454 | { | 1454 | { |
@@ -1478,13 +1478,13 @@ static inline void host_to_target_semun(int cmd, | @@ -1478,13 +1478,13 @@ static inline void host_to_target_semun(int cmd, | ||
1478 | } | 1478 | } |
1479 | } | 1479 | } |
1480 | 1480 | ||
1481 | -static inline target_long do_semctl(int first, int second, int third, | ||
1482 | - target_long ptr) | 1481 | +static inline abi_long do_semctl(int first, int second, int third, |
1482 | + abi_long ptr) | ||
1483 | { | 1483 | { |
1484 | union semun arg; | 1484 | union semun arg; |
1485 | struct semid_ds dsarg; | 1485 | struct semid_ds dsarg; |
1486 | int cmd = third&0xff; | 1486 | int cmd = third&0xff; |
1487 | - target_long ret = 0; | 1487 | + abi_long ret = 0; |
1488 | 1488 | ||
1489 | switch( cmd ) { | 1489 | switch( cmd ) { |
1490 | case GETVAL: | 1490 | case GETVAL: |
@@ -1527,23 +1527,23 @@ static inline target_long do_semctl(int first, int second, int third, | @@ -1527,23 +1527,23 @@ static inline target_long do_semctl(int first, int second, int third, | ||
1527 | struct target_msqid_ds | 1527 | struct target_msqid_ds |
1528 | { | 1528 | { |
1529 | struct target_ipc_perm msg_perm; | 1529 | struct target_ipc_perm msg_perm; |
1530 | - target_ulong msg_stime; | ||
1531 | - target_ulong __unused1; | ||
1532 | - target_ulong msg_rtime; | ||
1533 | - target_ulong __unused2; | ||
1534 | - target_ulong msg_ctime; | ||
1535 | - target_ulong __unused3; | ||
1536 | - target_ulong __msg_cbytes; | ||
1537 | - target_ulong msg_qnum; | ||
1538 | - target_ulong msg_qbytes; | ||
1539 | - target_ulong msg_lspid; | ||
1540 | - target_ulong msg_lrpid; | ||
1541 | - target_ulong __unused4; | ||
1542 | - target_ulong __unused5; | 1530 | + abi_ulong msg_stime; |
1531 | + abi_ulong __unused1; | ||
1532 | + abi_ulong msg_rtime; | ||
1533 | + abi_ulong __unused2; | ||
1534 | + abi_ulong msg_ctime; | ||
1535 | + abi_ulong __unused3; | ||
1536 | + abi_ulong __msg_cbytes; | ||
1537 | + abi_ulong msg_qnum; | ||
1538 | + abi_ulong msg_qbytes; | ||
1539 | + abi_ulong msg_lspid; | ||
1540 | + abi_ulong msg_lrpid; | ||
1541 | + abi_ulong __unused4; | ||
1542 | + abi_ulong __unused5; | ||
1543 | }; | 1543 | }; |
1544 | 1544 | ||
1545 | static inline void target_to_host_msqid_ds(struct msqid_ds *host_md, | 1545 | static inline void target_to_host_msqid_ds(struct msqid_ds *host_md, |
1546 | - target_ulong target_addr) | 1546 | + abi_ulong target_addr) |
1547 | { | 1547 | { |
1548 | struct target_msqid_ds *target_md; | 1548 | struct target_msqid_ds *target_md; |
1549 | 1549 | ||
@@ -1560,7 +1560,7 @@ static inline void target_to_host_msqid_ds(struct msqid_ds *host_md, | @@ -1560,7 +1560,7 @@ static inline void target_to_host_msqid_ds(struct msqid_ds *host_md, | ||
1560 | unlock_user_struct(target_md, target_addr, 0); | 1560 | unlock_user_struct(target_md, target_addr, 0); |
1561 | } | 1561 | } |
1562 | 1562 | ||
1563 | -static inline void host_to_target_msqid_ds(target_ulong target_addr, | 1563 | +static inline void host_to_target_msqid_ds(abi_ulong target_addr, |
1564 | struct msqid_ds *host_md) | 1564 | struct msqid_ds *host_md) |
1565 | { | 1565 | { |
1566 | struct target_msqid_ds *target_md; | 1566 | struct target_msqid_ds *target_md; |
@@ -1578,11 +1578,11 @@ static inline void host_to_target_msqid_ds(target_ulong target_addr, | @@ -1578,11 +1578,11 @@ static inline void host_to_target_msqid_ds(target_ulong target_addr, | ||
1578 | unlock_user_struct(target_md, target_addr, 1); | 1578 | unlock_user_struct(target_md, target_addr, 1); |
1579 | } | 1579 | } |
1580 | 1580 | ||
1581 | -static inline target_long do_msgctl(int first, int second, target_long ptr) | 1581 | +static inline abi_long do_msgctl(int first, int second, abi_long ptr) |
1582 | { | 1582 | { |
1583 | struct msqid_ds dsarg; | 1583 | struct msqid_ds dsarg; |
1584 | int cmd = second&0xff; | 1584 | int cmd = second&0xff; |
1585 | - target_long ret = 0; | 1585 | + abi_long ret = 0; |
1586 | switch( cmd ) { | 1586 | switch( cmd ) { |
1587 | case IPC_STAT: | 1587 | case IPC_STAT: |
1588 | case IPC_SET: | 1588 | case IPC_SET: |
@@ -1596,16 +1596,16 @@ static inline target_long do_msgctl(int first, int second, target_long ptr) | @@ -1596,16 +1596,16 @@ static inline target_long do_msgctl(int first, int second, target_long ptr) | ||
1596 | } | 1596 | } |
1597 | 1597 | ||
1598 | struct target_msgbuf { | 1598 | struct target_msgbuf { |
1599 | - target_ulong mtype; | 1599 | + abi_ulong mtype; |
1600 | char mtext[1]; | 1600 | char mtext[1]; |
1601 | }; | 1601 | }; |
1602 | 1602 | ||
1603 | -static inline target_long do_msgsnd(int msqid, target_long msgp, | ||
1604 | - unsigned int msgsz, int msgflg) | 1603 | +static inline abi_long do_msgsnd(int msqid, abi_long msgp, |
1604 | + unsigned int msgsz, int msgflg) | ||
1605 | { | 1605 | { |
1606 | struct target_msgbuf *target_mb; | 1606 | struct target_msgbuf *target_mb; |
1607 | struct msgbuf *host_mb; | 1607 | struct msgbuf *host_mb; |
1608 | - target_long ret = 0; | 1608 | + abi_long ret = 0; |
1609 | 1609 | ||
1610 | lock_user_struct(target_mb,msgp,0); | 1610 | lock_user_struct(target_mb,msgp,0); |
1611 | host_mb = malloc(msgsz+sizeof(long)); | 1611 | host_mb = malloc(msgsz+sizeof(long)); |
@@ -1618,13 +1618,13 @@ static inline target_long do_msgsnd(int msqid, target_long msgp, | @@ -1618,13 +1618,13 @@ static inline target_long do_msgsnd(int msqid, target_long msgp, | ||
1618 | return ret; | 1618 | return ret; |
1619 | } | 1619 | } |
1620 | 1620 | ||
1621 | -static inline target_long do_msgrcv(int msqid, target_long msgp, | ||
1622 | - unsigned int msgsz, int msgtype, | ||
1623 | - int msgflg) | 1621 | +static inline abi_long do_msgrcv(int msqid, abi_long msgp, |
1622 | + unsigned int msgsz, int msgtype, | ||
1623 | + int msgflg) | ||
1624 | { | 1624 | { |
1625 | struct target_msgbuf *target_mb; | 1625 | struct target_msgbuf *target_mb; |
1626 | struct msgbuf *host_mb; | 1626 | struct msgbuf *host_mb; |
1627 | - target_long ret = 0; | 1627 | + abi_long ret = 0; |
1628 | 1628 | ||
1629 | lock_user_struct(target_mb, msgp, 0); | 1629 | lock_user_struct(target_mb, msgp, 0); |
1630 | host_mb = malloc(msgsz+sizeof(long)); | 1630 | host_mb = malloc(msgsz+sizeof(long)); |
@@ -1639,12 +1639,12 @@ static inline target_long do_msgrcv(int msqid, target_long msgp, | @@ -1639,12 +1639,12 @@ static inline target_long do_msgrcv(int msqid, target_long msgp, | ||
1639 | } | 1639 | } |
1640 | 1640 | ||
1641 | /* ??? This only works with linear mappings. */ | 1641 | /* ??? This only works with linear mappings. */ |
1642 | -static target_long do_ipc(unsigned int call, int first, | ||
1643 | - int second, int third, | ||
1644 | - target_long ptr, target_long fifth) | 1642 | +static abi_long do_ipc(unsigned int call, int first, |
1643 | + int second, int third, | ||
1644 | + abi_long ptr, abi_long fifth) | ||
1645 | { | 1645 | { |
1646 | int version; | 1646 | int version; |
1647 | - target_long ret = 0; | 1647 | + abi_long ret = 0; |
1648 | unsigned long raddr; | 1648 | unsigned long raddr; |
1649 | struct shmid_ds shm_info; | 1649 | struct shmid_ds shm_info; |
1650 | int i; | 1650 | int i; |
@@ -1722,7 +1722,7 @@ static target_long do_ipc(unsigned int call, int first, | @@ -1722,7 +1722,7 @@ static target_long do_ipc(unsigned int call, int first, | ||
1722 | break; | 1722 | break; |
1723 | } | 1723 | } |
1724 | } | 1724 | } |
1725 | - if (put_user(raddr, (target_ulong *)third)) | 1725 | + if (put_user(raddr, (abi_ulong *)third)) |
1726 | return -EFAULT; | 1726 | return -EFAULT; |
1727 | ret = 0; | 1727 | ret = 0; |
1728 | break; | 1728 | break; |
@@ -1803,11 +1803,11 @@ IOCTLEntry ioctl_entries[] = { | @@ -1803,11 +1803,11 @@ IOCTLEntry ioctl_entries[] = { | ||
1803 | }; | 1803 | }; |
1804 | 1804 | ||
1805 | /* ??? Implement proper locking for ioctls. */ | 1805 | /* ??? Implement proper locking for ioctls. */ |
1806 | -static target_long do_ioctl(int fd, target_long cmd, target_long arg) | 1806 | +static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg) |
1807 | { | 1807 | { |
1808 | const IOCTLEntry *ie; | 1808 | const IOCTLEntry *ie; |
1809 | const argtype *arg_type; | 1809 | const argtype *arg_type; |
1810 | - target_long ret; | 1810 | + abi_long ret; |
1811 | uint8_t buf_temp[MAX_STRUCT_SIZE]; | 1811 | uint8_t buf_temp[MAX_STRUCT_SIZE]; |
1812 | int target_size; | 1812 | int target_size; |
1813 | void *argptr; | 1813 | void *argptr; |
@@ -2088,7 +2088,7 @@ static bitmask_transtbl fcntl_flags_tbl[] = { | @@ -2088,7 +2088,7 @@ static bitmask_transtbl fcntl_flags_tbl[] = { | ||
2088 | /* NOTE: there is really one LDT for all the threads */ | 2088 | /* NOTE: there is really one LDT for all the threads */ |
2089 | uint8_t *ldt_table; | 2089 | uint8_t *ldt_table; |
2090 | 2090 | ||
2091 | -static int read_ldt(target_ulong ptr, unsigned long bytecount) | 2091 | +static int read_ldt(abi_ulong ptr, unsigned long bytecount) |
2092 | { | 2092 | { |
2093 | int size; | 2093 | int size; |
2094 | void *p; | 2094 | void *p; |
@@ -2107,7 +2107,7 @@ static int read_ldt(target_ulong ptr, unsigned long bytecount) | @@ -2107,7 +2107,7 @@ static int read_ldt(target_ulong ptr, unsigned long bytecount) | ||
2107 | 2107 | ||
2108 | /* XXX: add locking support */ | 2108 | /* XXX: add locking support */ |
2109 | static int write_ldt(CPUX86State *env, | 2109 | static int write_ldt(CPUX86State *env, |
2110 | - target_ulong ptr, unsigned long bytecount, int oldmode) | 2110 | + abi_ulong ptr, unsigned long bytecount, int oldmode) |
2111 | { | 2111 | { |
2112 | struct target_modify_ldt_ldt_s ldt_info; | 2112 | struct target_modify_ldt_ldt_s ldt_info; |
2113 | struct target_modify_ldt_ldt_s *target_ldt_info; | 2113 | struct target_modify_ldt_ldt_s *target_ldt_info; |
@@ -2188,7 +2188,7 @@ install: | @@ -2188,7 +2188,7 @@ install: | ||
2188 | } | 2188 | } |
2189 | 2189 | ||
2190 | /* specific and weird i386 syscalls */ | 2190 | /* specific and weird i386 syscalls */ |
2191 | -int do_modify_ldt(CPUX86State *env, int func, target_ulong ptr, unsigned long bytecount) | 2191 | +int do_modify_ldt(CPUX86State *env, int func, abi_ulong ptr, unsigned long bytecount) |
2192 | { | 2192 | { |
2193 | int ret = -ENOSYS; | 2193 | int ret = -ENOSYS; |
2194 | 2194 | ||
@@ -2220,7 +2220,7 @@ static int clone_func(void *arg) | @@ -2220,7 +2220,7 @@ static int clone_func(void *arg) | ||
2220 | return 0; | 2220 | return 0; |
2221 | } | 2221 | } |
2222 | 2222 | ||
2223 | -int do_fork(CPUState *env, unsigned int flags, target_ulong newsp) | 2223 | +int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp) |
2224 | { | 2224 | { |
2225 | int ret; | 2225 | int ret; |
2226 | TaskState *ts; | 2226 | TaskState *ts; |
@@ -2310,13 +2310,13 @@ int do_fork(CPUState *env, unsigned int flags, target_ulong newsp) | @@ -2310,13 +2310,13 @@ int do_fork(CPUState *env, unsigned int flags, target_ulong newsp) | ||
2310 | return ret; | 2310 | return ret; |
2311 | } | 2311 | } |
2312 | 2312 | ||
2313 | -static target_long do_fcntl(int fd, int cmd, target_ulong arg) | 2313 | +static abi_long do_fcntl(int fd, int cmd, abi_ulong arg) |
2314 | { | 2314 | { |
2315 | struct flock fl; | 2315 | struct flock fl; |
2316 | struct target_flock *target_fl; | 2316 | struct target_flock *target_fl; |
2317 | struct flock64 fl64; | 2317 | struct flock64 fl64; |
2318 | struct target_flock64 *target_fl64; | 2318 | struct target_flock64 *target_fl64; |
2319 | - target_long ret; | 2319 | + abi_long ret; |
2320 | 2320 | ||
2321 | switch(cmd) { | 2321 | switch(cmd) { |
2322 | case TARGET_F_GETLK: | 2322 | case TARGET_F_GETLK: |
@@ -2475,7 +2475,7 @@ void syscall_init(void) | @@ -2475,7 +2475,7 @@ void syscall_init(void) | ||
2475 | } | 2475 | } |
2476 | } | 2476 | } |
2477 | 2477 | ||
2478 | -#if TARGET_LONG_BITS == 32 | 2478 | +#if TARGET_ABI_BITS == 32 |
2479 | static inline uint64_t target_offset64(uint32_t word0, uint32_t word1) | 2479 | static inline uint64_t target_offset64(uint32_t word0, uint32_t word1) |
2480 | { | 2480 | { |
2481 | #ifdef TARGET_WORDS_BIG_ENDIAN | 2481 | #ifdef TARGET_WORDS_BIG_ENDIAN |
@@ -2484,18 +2484,18 @@ static inline uint64_t target_offset64(uint32_t word0, uint32_t word1) | @@ -2484,18 +2484,18 @@ static inline uint64_t target_offset64(uint32_t word0, uint32_t word1) | ||
2484 | return ((uint64_t)word1 << 32) | word0; | 2484 | return ((uint64_t)word1 << 32) | word0; |
2485 | #endif | 2485 | #endif |
2486 | } | 2486 | } |
2487 | -#else /* TARGET_LONG_BITS == 32 */ | 2487 | +#else /* TARGET_ABI_BITS == 32 */ |
2488 | static inline uint64_t target_offset64(uint64_t word0, uint64_t word1) | 2488 | static inline uint64_t target_offset64(uint64_t word0, uint64_t word1) |
2489 | { | 2489 | { |
2490 | return word0; | 2490 | return word0; |
2491 | } | 2491 | } |
2492 | -#endif /* TARGET_LONG_BITS != 32 */ | 2492 | +#endif /* TARGET_ABI_BITS != 32 */ |
2493 | 2493 | ||
2494 | #ifdef TARGET_NR_truncate64 | 2494 | #ifdef TARGET_NR_truncate64 |
2495 | -static inline target_long target_truncate64(void *cpu_env, const char *arg1, | ||
2496 | - target_long arg2, | ||
2497 | - target_long arg3, | ||
2498 | - target_long arg4) | 2495 | +static inline abi_long target_truncate64(void *cpu_env, const char *arg1, |
2496 | + abi_long arg2, | ||
2497 | + abi_long arg3, | ||
2498 | + abi_long arg4) | ||
2499 | { | 2499 | { |
2500 | #ifdef TARGET_ARM | 2500 | #ifdef TARGET_ARM |
2501 | if (((CPUARMState *)cpu_env)->eabi) | 2501 | if (((CPUARMState *)cpu_env)->eabi) |
@@ -2509,10 +2509,10 @@ static inline target_long target_truncate64(void *cpu_env, const char *arg1, | @@ -2509,10 +2509,10 @@ static inline target_long target_truncate64(void *cpu_env, const char *arg1, | ||
2509 | #endif | 2509 | #endif |
2510 | 2510 | ||
2511 | #ifdef TARGET_NR_ftruncate64 | 2511 | #ifdef TARGET_NR_ftruncate64 |
2512 | -static inline target_long target_ftruncate64(void *cpu_env, target_long arg1, | ||
2513 | - target_long arg2, | ||
2514 | - target_long arg3, | ||
2515 | - target_long arg4) | 2512 | +static inline abi_long target_ftruncate64(void *cpu_env, abi_long arg1, |
2513 | + abi_long arg2, | ||
2514 | + abi_long arg3, | ||
2515 | + abi_long arg4) | ||
2516 | { | 2516 | { |
2517 | #ifdef TARGET_ARM | 2517 | #ifdef TARGET_ARM |
2518 | if (((CPUARMState *)cpu_env)->eabi) | 2518 | if (((CPUARMState *)cpu_env)->eabi) |
@@ -2526,7 +2526,7 @@ static inline target_long target_ftruncate64(void *cpu_env, target_long arg1, | @@ -2526,7 +2526,7 @@ static inline target_long target_ftruncate64(void *cpu_env, target_long arg1, | ||
2526 | #endif | 2526 | #endif |
2527 | 2527 | ||
2528 | static inline void target_to_host_timespec(struct timespec *host_ts, | 2528 | static inline void target_to_host_timespec(struct timespec *host_ts, |
2529 | - target_ulong target_addr) | 2529 | + abi_ulong target_addr) |
2530 | { | 2530 | { |
2531 | struct target_timespec *target_ts; | 2531 | struct target_timespec *target_ts; |
2532 | 2532 | ||
@@ -2536,7 +2536,7 @@ static inline void target_to_host_timespec(struct timespec *host_ts, | @@ -2536,7 +2536,7 @@ static inline void target_to_host_timespec(struct timespec *host_ts, | ||
2536 | unlock_user_struct(target_ts, target_addr, 0); | 2536 | unlock_user_struct(target_ts, target_addr, 0); |
2537 | } | 2537 | } |
2538 | 2538 | ||
2539 | -static inline void host_to_target_timespec(target_ulong target_addr, | 2539 | +static inline void host_to_target_timespec(abi_ulong target_addr, |
2540 | struct timespec *host_ts) | 2540 | struct timespec *host_ts) |
2541 | { | 2541 | { |
2542 | struct target_timespec *target_ts; | 2542 | struct target_timespec *target_ts; |
@@ -2547,11 +2547,11 @@ static inline void host_to_target_timespec(target_ulong target_addr, | @@ -2547,11 +2547,11 @@ static inline void host_to_target_timespec(target_ulong target_addr, | ||
2547 | unlock_user_struct(target_ts, target_addr, 1); | 2547 | unlock_user_struct(target_ts, target_addr, 1); |
2548 | } | 2548 | } |
2549 | 2549 | ||
2550 | -target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
2551 | - target_long arg2, target_long arg3, target_long arg4, | ||
2552 | - target_long arg5, target_long arg6) | 2550 | +abi_long do_syscall(void *cpu_env, int num, abi_long arg1, |
2551 | + abi_long arg2, abi_long arg3, abi_long arg4, | ||
2552 | + abi_long arg5, abi_long arg6) | ||
2553 | { | 2553 | { |
2554 | - target_long ret; | 2554 | + abi_long ret; |
2555 | struct stat st; | 2555 | struct stat st; |
2556 | struct statfs stfs; | 2556 | struct statfs stfs; |
2557 | void *p; | 2557 | void *p; |
@@ -2687,10 +2687,10 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -2687,10 +2687,10 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
2687 | { | 2687 | { |
2688 | char **argp, **envp; | 2688 | char **argp, **envp; |
2689 | int argc, envc; | 2689 | int argc, envc; |
2690 | - target_ulong gp; | ||
2691 | - target_ulong guest_argp; | ||
2692 | - target_ulong guest_envp; | ||
2693 | - target_ulong addr; | 2690 | + abi_ulong gp; |
2691 | + abi_ulong guest_argp; | ||
2692 | + abi_ulong guest_envp; | ||
2693 | + abi_ulong addr; | ||
2694 | char **q; | 2694 | char **q; |
2695 | 2695 | ||
2696 | argc = 0; | 2696 | argc = 0; |
@@ -2706,7 +2706,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -2706,7 +2706,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
2706 | envp = alloca((envc + 1) * sizeof(void *)); | 2706 | envp = alloca((envc + 1) * sizeof(void *)); |
2707 | 2707 | ||
2708 | for (gp = guest_argp, q = argp; ; | 2708 | for (gp = guest_argp, q = argp; ; |
2709 | - gp += sizeof(target_ulong), q++) { | 2709 | + gp += sizeof(abi_ulong), q++) { |
2710 | addr = tgetl(gp); | 2710 | addr = tgetl(gp); |
2711 | if (!addr) | 2711 | if (!addr) |
2712 | break; | 2712 | break; |
@@ -2715,7 +2715,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -2715,7 +2715,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
2715 | *q = NULL; | 2715 | *q = NULL; |
2716 | 2716 | ||
2717 | for (gp = guest_envp, q = envp; ; | 2717 | for (gp = guest_envp, q = envp; ; |
2718 | - gp += sizeof(target_ulong), q++) { | 2718 | + gp += sizeof(abi_ulong), q++) { |
2719 | addr = tgetl(gp); | 2719 | addr = tgetl(gp); |
2720 | if (!addr) | 2720 | if (!addr) |
2721 | break; | 2721 | break; |
@@ -2728,12 +2728,12 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -2728,12 +2728,12 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
2728 | unlock_user(p, arg1, 0); | 2728 | unlock_user(p, arg1, 0); |
2729 | 2729 | ||
2730 | for (gp = guest_argp, q = argp; *q; | 2730 | for (gp = guest_argp, q = argp; *q; |
2731 | - gp += sizeof(target_ulong), q++) { | 2731 | + gp += sizeof(abi_ulong), q++) { |
2732 | addr = tgetl(gp); | 2732 | addr = tgetl(gp); |
2733 | unlock_user(*q, addr, 0); | 2733 | unlock_user(*q, addr, 0); |
2734 | } | 2734 | } |
2735 | for (gp = guest_envp, q = envp; *q; | 2735 | for (gp = guest_envp, q = envp; *q; |
2736 | - gp += sizeof(target_ulong), q++) { | 2736 | + gp += sizeof(abi_ulong), q++) { |
2737 | addr = tgetl(gp); | 2737 | addr = tgetl(gp); |
2738 | unlock_user(*q, addr, 0); | 2738 | unlock_user(*q, addr, 0); |
2739 | } | 2739 | } |
@@ -3163,7 +3163,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3163,7 +3163,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3163 | case TARGET_NR_sgetmask: | 3163 | case TARGET_NR_sgetmask: |
3164 | { | 3164 | { |
3165 | sigset_t cur_set; | 3165 | sigset_t cur_set; |
3166 | - target_ulong target_set; | 3166 | + abi_ulong target_set; |
3167 | sigprocmask(0, NULL, &cur_set); | 3167 | sigprocmask(0, NULL, &cur_set); |
3168 | host_to_target_old_sigset(&target_set, &cur_set); | 3168 | host_to_target_old_sigset(&target_set, &cur_set); |
3169 | ret = target_set; | 3169 | ret = target_set; |
@@ -3174,7 +3174,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3174,7 +3174,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3174 | case TARGET_NR_ssetmask: | 3174 | case TARGET_NR_ssetmask: |
3175 | { | 3175 | { |
3176 | sigset_t set, oset, cur_set; | 3176 | sigset_t set, oset, cur_set; |
3177 | - target_ulong target_set = arg1; | 3177 | + abi_ulong target_set = arg1; |
3178 | sigprocmask(0, NULL, &cur_set); | 3178 | sigprocmask(0, NULL, &cur_set); |
3179 | target_to_host_old_sigset(&set, &target_set); | 3179 | target_to_host_old_sigset(&set, &target_set); |
3180 | sigorset(&set, &set, &cur_set); | 3180 | sigorset(&set, &set, &cur_set); |
@@ -3407,7 +3407,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3407,7 +3407,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3407 | case TARGET_NR_select: | 3407 | case TARGET_NR_select: |
3408 | { | 3408 | { |
3409 | struct target_sel_arg_struct *sel; | 3409 | struct target_sel_arg_struct *sel; |
3410 | - target_ulong inp, outp, exp, tvp; | 3410 | + abi_ulong inp, outp, exp, tvp; |
3411 | long nsel; | 3411 | long nsel; |
3412 | 3412 | ||
3413 | lock_user_struct(sel, arg1, 1); | 3413 | lock_user_struct(sel, arg1, 1); |
@@ -3510,9 +3510,9 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3510,9 +3510,9 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3510 | case TARGET_NR_mmap: | 3510 | case TARGET_NR_mmap: |
3511 | #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_M68K) || defined(TARGET_CRIS) | 3511 | #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_M68K) || defined(TARGET_CRIS) |
3512 | { | 3512 | { |
3513 | - target_ulong *v; | ||
3514 | - target_ulong v1, v2, v3, v4, v5, v6; | ||
3515 | - v = lock_user(arg1, 6 * sizeof(target_ulong), 1); | 3513 | + abi_ulong *v; |
3514 | + abi_ulong v1, v2, v3, v4, v5, v6; | ||
3515 | + v = lock_user(arg1, 6 * sizeof(abi_ulong), 1); | ||
3516 | v1 = tswapl(v[0]); | 3516 | v1 = tswapl(v[0]); |
3517 | v2 = tswapl(v[1]); | 3517 | v2 = tswapl(v[1]); |
3518 | v3 = tswapl(v[2]); | 3518 | v3 = tswapl(v[2]); |
@@ -3829,7 +3829,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3829,7 +3829,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3829 | struct target_stat *target_st; | 3829 | struct target_stat *target_st; |
3830 | 3830 | ||
3831 | lock_user_struct(target_st, arg2, 0); | 3831 | lock_user_struct(target_st, arg2, 0); |
3832 | -#if defined(TARGET_MIPS) || defined(TARGET_SPARC64) | 3832 | +#if defined(TARGET_MIPS) || (defined(TARGET_SPARC64) && !defined(TARGET_ABI32)) |
3833 | target_st->st_dev = tswap32(st.st_dev); | 3833 | target_st->st_dev = tswap32(st.st_dev); |
3834 | #else | 3834 | #else |
3835 | target_st->st_dev = tswap16(st.st_dev); | 3835 | target_st->st_dev = tswap16(st.st_dev); |
@@ -3839,7 +3839,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3839,7 +3839,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3839 | target_st->st_mode = tswapl(st.st_mode); /* XXX: check this */ | 3839 | target_st->st_mode = tswapl(st.st_mode); /* XXX: check this */ |
3840 | target_st->st_uid = tswap32(st.st_uid); | 3840 | target_st->st_uid = tswap32(st.st_uid); |
3841 | target_st->st_gid = tswap32(st.st_gid); | 3841 | target_st->st_gid = tswap32(st.st_gid); |
3842 | -#elif defined(TARGET_SPARC64) | 3842 | +#elif defined(TARGET_SPARC64) && !defined(TARGET_ABI32) |
3843 | target_st->st_mode = tswap32(st.st_mode); | 3843 | target_st->st_mode = tswap32(st.st_mode); |
3844 | target_st->st_uid = tswap32(st.st_uid); | 3844 | target_st->st_uid = tswap32(st.st_uid); |
3845 | target_st->st_gid = tswap32(st.st_gid); | 3845 | target_st->st_gid = tswap32(st.st_gid); |
@@ -3852,7 +3852,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3852,7 +3852,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3852 | /* If this is the same on PPC, then just merge w/ the above ifdef */ | 3852 | /* If this is the same on PPC, then just merge w/ the above ifdef */ |
3853 | target_st->st_nlink = tswapl(st.st_nlink); | 3853 | target_st->st_nlink = tswapl(st.st_nlink); |
3854 | target_st->st_rdev = tswapl(st.st_rdev); | 3854 | target_st->st_rdev = tswapl(st.st_rdev); |
3855 | -#elif defined(TARGET_SPARC64) | 3855 | +#elif defined(TARGET_SPARC64) && !defined(TARGET_ABI32) |
3856 | target_st->st_nlink = tswap32(st.st_nlink); | 3856 | target_st->st_nlink = tswap32(st.st_nlink); |
3857 | target_st->st_rdev = tswap32(st.st_rdev); | 3857 | target_st->st_rdev = tswap32(st.st_rdev); |
3858 | #else | 3858 | #else |
@@ -3892,9 +3892,9 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -3892,9 +3892,9 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
3892 | case TARGET_NR_wait4: | 3892 | case TARGET_NR_wait4: |
3893 | { | 3893 | { |
3894 | int status; | 3894 | int status; |
3895 | - target_long status_ptr = arg2; | 3895 | + abi_long status_ptr = arg2; |
3896 | struct rusage rusage, *rusage_ptr; | 3896 | struct rusage rusage, *rusage_ptr; |
3897 | - target_ulong target_rusage = arg4; | 3897 | + abi_ulong target_rusage = arg4; |
3898 | if (target_rusage) | 3898 | if (target_rusage) |
3899 | rusage_ptr = &rusage; | 3899 | rusage_ptr = &rusage; |
3900 | else | 3900 | else |
@@ -4045,14 +4045,14 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -4045,14 +4045,14 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
4045 | break; | 4045 | break; |
4046 | #endif | 4046 | #endif |
4047 | case TARGET_NR_getdents: | 4047 | case TARGET_NR_getdents: |
4048 | -#if TARGET_LONG_SIZE != 4 | 4048 | +#if TARGET_ABI_BITS != 32 |
4049 | goto unimplemented; | 4049 | goto unimplemented; |
4050 | #warning not supported | 4050 | #warning not supported |
4051 | -#elif TARGET_LONG_SIZE == 4 && HOST_LONG_SIZE == 8 | 4051 | +#elif TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 64 |
4052 | { | 4052 | { |
4053 | struct target_dirent *target_dirp; | 4053 | struct target_dirent *target_dirp; |
4054 | struct dirent *dirp; | 4054 | struct dirent *dirp; |
4055 | - target_long count = arg3; | 4055 | + abi_long count = arg3; |
4056 | 4056 | ||
4057 | dirp = malloc(count); | 4057 | dirp = malloc(count); |
4058 | if (!dirp) | 4058 | if (!dirp) |
@@ -4072,11 +4072,11 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -4072,11 +4072,11 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
4072 | tde = target_dirp; | 4072 | tde = target_dirp; |
4073 | while (len > 0) { | 4073 | while (len > 0) { |
4074 | reclen = de->d_reclen; | 4074 | reclen = de->d_reclen; |
4075 | - treclen = reclen - (2 * (sizeof(long) - sizeof(target_long))); | 4075 | + treclen = reclen - (2 * (sizeof(long) - sizeof(abi_long))); |
4076 | tde->d_reclen = tswap16(treclen); | 4076 | tde->d_reclen = tswap16(treclen); |
4077 | tde->d_ino = tswapl(de->d_ino); | 4077 | tde->d_ino = tswapl(de->d_ino); |
4078 | tde->d_off = tswapl(de->d_off); | 4078 | tde->d_off = tswapl(de->d_off); |
4079 | - tnamelen = treclen - (2 * sizeof(target_long) + 2); | 4079 | + tnamelen = treclen - (2 * sizeof(abi_long) + 2); |
4080 | if (tnamelen > 256) | 4080 | if (tnamelen > 256) |
4081 | tnamelen = 256; | 4081 | tnamelen = 256; |
4082 | /* XXX: may not be correct */ | 4082 | /* XXX: may not be correct */ |
@@ -4094,7 +4094,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -4094,7 +4094,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
4094 | #else | 4094 | #else |
4095 | { | 4095 | { |
4096 | struct dirent *dirp; | 4096 | struct dirent *dirp; |
4097 | - target_long count = arg3; | 4097 | + abi_long count = arg3; |
4098 | 4098 | ||
4099 | dirp = lock_user(arg2, count, 0); | 4099 | dirp = lock_user(arg2, count, 0); |
4100 | ret = get_errno(sys_getdents(arg1, dirp, count)); | 4100 | ret = get_errno(sys_getdents(arg1, dirp, count)); |
@@ -4122,7 +4122,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -4122,7 +4122,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
4122 | case TARGET_NR_getdents64: | 4122 | case TARGET_NR_getdents64: |
4123 | { | 4123 | { |
4124 | struct dirent64 *dirp; | 4124 | struct dirent64 *dirp; |
4125 | - target_long count = arg3; | 4125 | + abi_long count = arg3; |
4126 | dirp = lock_user(arg2, count, 0); | 4126 | dirp = lock_user(arg2, count, 0); |
4127 | ret = get_errno(sys_getdents64(arg1, dirp, count)); | 4127 | ret = get_errno(sys_getdents64(arg1, dirp, count)); |
4128 | if (!is_error(ret)) { | 4128 | if (!is_error(ret)) { |
@@ -4742,7 +4742,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | @@ -4742,7 +4742,7 @@ target_long do_syscall(void *cpu_env, int num, target_long arg1, | ||
4742 | ret = get_errno(0); | 4742 | ret = get_errno(0); |
4743 | break; | 4743 | break; |
4744 | #endif | 4744 | #endif |
4745 | -#if TARGET_LONG_BITS == 32 | 4745 | +#if TARGET_ABI_BITS == 32 |
4746 | case TARGET_NR_fcntl64: | 4746 | case TARGET_NR_fcntl64: |
4747 | { | 4747 | { |
4748 | int cmd; | 4748 | int cmd; |
linux-user/syscall_defs.h
@@ -105,13 +105,13 @@ struct target_sockaddr { | @@ -105,13 +105,13 @@ struct target_sockaddr { | ||
105 | }; | 105 | }; |
106 | 106 | ||
107 | struct target_timeval { | 107 | struct target_timeval { |
108 | - target_long tv_sec; | ||
109 | - target_long tv_usec; | 108 | + abi_long tv_sec; |
109 | + abi_long tv_usec; | ||
110 | }; | 110 | }; |
111 | 111 | ||
112 | struct target_timespec { | 112 | struct target_timespec { |
113 | - target_long tv_sec; | ||
114 | - target_long tv_nsec; | 113 | + abi_long tv_sec; |
114 | + abi_long tv_nsec; | ||
115 | }; | 115 | }; |
116 | 116 | ||
117 | struct target_itimerval { | 117 | struct target_itimerval { |
@@ -119,7 +119,7 @@ struct target_itimerval { | @@ -119,7 +119,7 @@ struct target_itimerval { | ||
119 | struct target_timeval it_value; | 119 | struct target_timeval it_value; |
120 | }; | 120 | }; |
121 | 121 | ||
122 | -typedef target_long target_clock_t; | 122 | +typedef abi_long target_clock_t; |
123 | 123 | ||
124 | #define TARGET_HZ 100 | 124 | #define TARGET_HZ 100 |
125 | 125 | ||
@@ -131,33 +131,33 @@ struct target_tms { | @@ -131,33 +131,33 @@ struct target_tms { | ||
131 | }; | 131 | }; |
132 | 132 | ||
133 | struct target_utimbuf { | 133 | struct target_utimbuf { |
134 | - target_long actime; | ||
135 | - target_long modtime; | 134 | + abi_long actime; |
135 | + abi_long modtime; | ||
136 | }; | 136 | }; |
137 | 137 | ||
138 | struct target_sel_arg_struct { | 138 | struct target_sel_arg_struct { |
139 | - target_long n; | ||
140 | - target_long inp, outp, exp; | ||
141 | - target_long tvp; | 139 | + abi_long n; |
140 | + abi_long inp, outp, exp; | ||
141 | + abi_long tvp; | ||
142 | }; | 142 | }; |
143 | 143 | ||
144 | struct target_iovec { | 144 | struct target_iovec { |
145 | - target_long iov_base; /* Starting address */ | ||
146 | - target_long iov_len; /* Number of bytes */ | 145 | + abi_long iov_base; /* Starting address */ |
146 | + abi_long iov_len; /* Number of bytes */ | ||
147 | }; | 147 | }; |
148 | 148 | ||
149 | struct target_msghdr { | 149 | struct target_msghdr { |
150 | - target_long msg_name; /* Socket name */ | ||
151 | - int msg_namelen; /* Length of name */ | ||
152 | - target_long msg_iov; /* Data blocks */ | ||
153 | - target_long msg_iovlen; /* Number of blocks */ | ||
154 | - target_long msg_control; /* Per protocol magic (eg BSD file descriptor passing) */ | ||
155 | - target_long msg_controllen; /* Length of cmsg list */ | 150 | + abi_long msg_name; /* Socket name */ |
151 | + int msg_namelen; /* Length of name */ | ||
152 | + abi_long msg_iov; /* Data blocks */ | ||
153 | + abi_long msg_iovlen; /* Number of blocks */ | ||
154 | + abi_long msg_control; /* Per protocol magic (eg BSD file descriptor passing) */ | ||
155 | + abi_long msg_controllen; /* Length of cmsg list */ | ||
156 | unsigned int msg_flags; | 156 | unsigned int msg_flags; |
157 | }; | 157 | }; |
158 | 158 | ||
159 | struct target_cmsghdr { | 159 | struct target_cmsghdr { |
160 | - target_long cmsg_len; | 160 | + abi_long cmsg_len; |
161 | int cmsg_level; | 161 | int cmsg_level; |
162 | int cmsg_type; | 162 | int cmsg_type; |
163 | }; | 163 | }; |
@@ -167,8 +167,8 @@ struct target_cmsghdr { | @@ -167,8 +167,8 @@ struct target_cmsghdr { | ||
167 | #define TARGET_CMSG_FIRSTHDR(mhdr) \ | 167 | #define TARGET_CMSG_FIRSTHDR(mhdr) \ |
168 | ((size_t) tswapl((mhdr)->msg_controllen) >= sizeof (struct target_cmsghdr) \ | 168 | ((size_t) tswapl((mhdr)->msg_controllen) >= sizeof (struct target_cmsghdr) \ |
169 | ? (struct target_cmsghdr *) tswapl((mhdr)->msg_control) : (struct target_cmsghdr *) NULL) | 169 | ? (struct target_cmsghdr *) tswapl((mhdr)->msg_control) : (struct target_cmsghdr *) NULL) |
170 | -#define TARGET_CMSG_ALIGN(len) (((len) + sizeof (target_long) - 1) \ | ||
171 | - & (size_t) ~(sizeof (target_long) - 1)) | 170 | +#define TARGET_CMSG_ALIGN(len) (((len) + sizeof (abi_long) - 1) \ |
171 | + & (size_t) ~(sizeof (abi_long) - 1)) | ||
172 | #define TARGET_CMSG_SPACE(len) (TARGET_CMSG_ALIGN (len) \ | 172 | #define TARGET_CMSG_SPACE(len) (TARGET_CMSG_ALIGN (len) \ |
173 | + TARGET_CMSG_ALIGN (sizeof (struct target_cmsghdr))) | 173 | + TARGET_CMSG_ALIGN (sizeof (struct target_cmsghdr))) |
174 | #define TARGET_CMSG_LEN(len) (TARGET_CMSG_ALIGN (sizeof (struct target_cmsghdr)) + (len)) | 174 | #define TARGET_CMSG_LEN(len) (TARGET_CMSG_ALIGN (sizeof (struct target_cmsghdr)) + (len)) |
@@ -191,20 +191,20 @@ __target_cmsg_nxthdr (struct target_msghdr *__mhdr, struct target_cmsghdr *__cms | @@ -191,20 +191,20 @@ __target_cmsg_nxthdr (struct target_msghdr *__mhdr, struct target_cmsghdr *__cms | ||
191 | struct target_rusage { | 191 | struct target_rusage { |
192 | struct target_timeval ru_utime; /* user time used */ | 192 | struct target_timeval ru_utime; /* user time used */ |
193 | struct target_timeval ru_stime; /* system time used */ | 193 | struct target_timeval ru_stime; /* system time used */ |
194 | - target_long ru_maxrss; /* maximum resident set size */ | ||
195 | - target_long ru_ixrss; /* integral shared memory size */ | ||
196 | - target_long ru_idrss; /* integral unshared data size */ | ||
197 | - target_long ru_isrss; /* integral unshared stack size */ | ||
198 | - target_long ru_minflt; /* page reclaims */ | ||
199 | - target_long ru_majflt; /* page faults */ | ||
200 | - target_long ru_nswap; /* swaps */ | ||
201 | - target_long ru_inblock; /* block input operations */ | ||
202 | - target_long ru_oublock; /* block output operations */ | ||
203 | - target_long ru_msgsnd; /* messages sent */ | ||
204 | - target_long ru_msgrcv; /* messages received */ | ||
205 | - target_long ru_nsignals; /* signals received */ | ||
206 | - target_long ru_nvcsw; /* voluntary context switches */ | ||
207 | - target_long ru_nivcsw; /* involuntary " */ | 194 | + abi_long ru_maxrss; /* maximum resident set size */ |
195 | + abi_long ru_ixrss; /* integral shared memory size */ | ||
196 | + abi_long ru_idrss; /* integral unshared data size */ | ||
197 | + abi_long ru_isrss; /* integral unshared stack size */ | ||
198 | + abi_long ru_minflt; /* page reclaims */ | ||
199 | + abi_long ru_majflt; /* page faults */ | ||
200 | + abi_long ru_nswap; /* swaps */ | ||
201 | + abi_long ru_inblock; /* block input operations */ | ||
202 | + abi_long ru_oublock; /* block output operations */ | ||
203 | + abi_long ru_msgsnd; /* messages sent */ | ||
204 | + abi_long ru_msgrcv; /* messages received */ | ||
205 | + abi_long ru_nsignals; /* signals received */ | ||
206 | + abi_long ru_nvcsw; /* voluntary context switches */ | ||
207 | + abi_long ru_nivcsw; /* involuntary " */ | ||
208 | }; | 208 | }; |
209 | 209 | ||
210 | typedef struct { | 210 | typedef struct { |
@@ -225,8 +225,8 @@ struct kernel_statfs { | @@ -225,8 +225,8 @@ struct kernel_statfs { | ||
225 | }; | 225 | }; |
226 | 226 | ||
227 | struct target_dirent { | 227 | struct target_dirent { |
228 | - target_long d_ino; | ||
229 | - target_long d_off; | 228 | + abi_long d_ino; |
229 | + abi_long d_off; | ||
230 | unsigned short d_reclen; | 230 | unsigned short d_reclen; |
231 | char d_name[256]; /* We must not include limits.h! */ | 231 | char d_name[256]; /* We must not include limits.h! */ |
232 | }; | 232 | }; |
@@ -241,20 +241,20 @@ struct target_dirent64 { | @@ -241,20 +241,20 @@ struct target_dirent64 { | ||
241 | 241 | ||
242 | 242 | ||
243 | /* mostly generic signal stuff */ | 243 | /* mostly generic signal stuff */ |
244 | -#define TARGET_SIG_DFL ((target_long)0) /* default signal handling */ | ||
245 | -#define TARGET_SIG_IGN ((target_long)1) /* ignore signal */ | ||
246 | -#define TARGET_SIG_ERR ((target_long)-1) /* error return from signal */ | 244 | +#define TARGET_SIG_DFL ((abi_long)0) /* default signal handling */ |
245 | +#define TARGET_SIG_IGN ((abi_long)1) /* ignore signal */ | ||
246 | +#define TARGET_SIG_ERR ((abi_long)-1) /* error return from signal */ | ||
247 | 247 | ||
248 | #ifdef TARGET_MIPS | 248 | #ifdef TARGET_MIPS |
249 | #define TARGET_NSIG 128 | 249 | #define TARGET_NSIG 128 |
250 | #else | 250 | #else |
251 | #define TARGET_NSIG 64 | 251 | #define TARGET_NSIG 64 |
252 | #endif | 252 | #endif |
253 | -#define TARGET_NSIG_BPW TARGET_LONG_BITS | 253 | +#define TARGET_NSIG_BPW TARGET_ABI_BITS |
254 | #define TARGET_NSIG_WORDS (TARGET_NSIG / TARGET_NSIG_BPW) | 254 | #define TARGET_NSIG_WORDS (TARGET_NSIG / TARGET_NSIG_BPW) |
255 | 255 | ||
256 | typedef struct { | 256 | typedef struct { |
257 | - target_ulong sig[TARGET_NSIG_WORDS]; | 257 | + abi_ulong sig[TARGET_NSIG_WORDS]; |
258 | } target_sigset_t; | 258 | } target_sigset_t; |
259 | 259 | ||
260 | #ifdef BSWAP_NEEDED | 260 | #ifdef BSWAP_NEEDED |
@@ -271,7 +271,7 @@ static inline void tswap_sigset(target_sigset_t *d, const target_sigset_t *s) | @@ -271,7 +271,7 @@ static inline void tswap_sigset(target_sigset_t *d, const target_sigset_t *s) | ||
271 | } | 271 | } |
272 | #endif | 272 | #endif |
273 | 273 | ||
274 | -static inline void target_siginitset(target_sigset_t *d, target_ulong set) | 274 | +static inline void target_siginitset(target_sigset_t *d, abi_ulong set) |
275 | { | 275 | { |
276 | int i; | 276 | int i; |
277 | d->sig[0] = set; | 277 | d->sig[0] = set; |
@@ -281,10 +281,10 @@ static inline void target_siginitset(target_sigset_t *d, target_ulong set) | @@ -281,10 +281,10 @@ static inline void target_siginitset(target_sigset_t *d, target_ulong set) | ||
281 | 281 | ||
282 | void host_to_target_sigset(target_sigset_t *d, const sigset_t *s); | 282 | void host_to_target_sigset(target_sigset_t *d, const sigset_t *s); |
283 | void target_to_host_sigset(sigset_t *d, const target_sigset_t *s); | 283 | void target_to_host_sigset(sigset_t *d, const target_sigset_t *s); |
284 | -void host_to_target_old_sigset(target_ulong *old_sigset, | 284 | +void host_to_target_old_sigset(abi_ulong *old_sigset, |
285 | const sigset_t *sigset); | 285 | const sigset_t *sigset); |
286 | void target_to_host_old_sigset(sigset_t *sigset, | 286 | void target_to_host_old_sigset(sigset_t *sigset, |
287 | - const target_ulong *old_sigset); | 287 | + const abi_ulong *old_sigset); |
288 | struct target_sigaction; | 288 | struct target_sigaction; |
289 | int do_sigaction(int sig, const struct target_sigaction *act, | 289 | int do_sigaction(int sig, const struct target_sigaction *act, |
290 | struct target_sigaction *oact); | 290 | struct target_sigaction *oact); |
@@ -453,40 +453,40 @@ struct target_sigaction { | @@ -453,40 +453,40 @@ struct target_sigaction { | ||
453 | #if defined(TARGET_MIPSN32) | 453 | #if defined(TARGET_MIPSN32) |
454 | uint32_t _sa_handler; | 454 | uint32_t _sa_handler; |
455 | #else | 455 | #else |
456 | - target_ulong _sa_handler; | 456 | + abi_ulong _sa_handler; |
457 | #endif | 457 | #endif |
458 | target_sigset_t sa_mask; | 458 | target_sigset_t sa_mask; |
459 | }; | 459 | }; |
460 | 460 | ||
461 | #else | 461 | #else |
462 | struct target_old_sigaction { | 462 | struct target_old_sigaction { |
463 | - target_ulong _sa_handler; | ||
464 | - target_ulong sa_mask; | ||
465 | - target_ulong sa_flags; | ||
466 | - target_ulong sa_restorer; | 463 | + abi_ulong _sa_handler; |
464 | + abi_ulong sa_mask; | ||
465 | + abi_ulong sa_flags; | ||
466 | + abi_ulong sa_restorer; | ||
467 | }; | 467 | }; |
468 | 468 | ||
469 | struct target_sigaction { | 469 | struct target_sigaction { |
470 | - target_ulong _sa_handler; | ||
471 | - target_ulong sa_flags; | ||
472 | - target_ulong sa_restorer; | 470 | + abi_ulong _sa_handler; |
471 | + abi_ulong sa_flags; | ||
472 | + abi_ulong sa_restorer; | ||
473 | target_sigset_t sa_mask; | 473 | target_sigset_t sa_mask; |
474 | }; | 474 | }; |
475 | #endif | 475 | #endif |
476 | 476 | ||
477 | typedef union target_sigval { | 477 | typedef union target_sigval { |
478 | int sival_int; | 478 | int sival_int; |
479 | - target_ulong sival_ptr; | 479 | + abi_ulong sival_ptr; |
480 | } target_sigval_t; | 480 | } target_sigval_t; |
481 | #if 0 | 481 | #if 0 |
482 | #if defined (TARGET_SPARC) | 482 | #if defined (TARGET_SPARC) |
483 | typedef struct { | 483 | typedef struct { |
484 | struct { | 484 | struct { |
485 | - target_ulong psr; | ||
486 | - target_ulong pc; | ||
487 | - target_ulong npc; | ||
488 | - target_ulong y; | ||
489 | - target_ulong u_regs[16]; /* globals and ins */ | 485 | + abi_ulong psr; |
486 | + abi_ulong pc; | ||
487 | + abi_ulong npc; | ||
488 | + abi_ulong y; | ||
489 | + abi_ulong u_regs[16]; /* globals and ins */ | ||
490 | } si_regs; | 490 | } si_regs; |
491 | int si_mask; | 491 | int si_mask; |
492 | } __siginfo_t; | 492 | } __siginfo_t; |
@@ -544,7 +544,7 @@ typedef struct target_siginfo { | @@ -544,7 +544,7 @@ typedef struct target_siginfo { | ||
544 | 544 | ||
545 | /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ | 545 | /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ |
546 | struct { | 546 | struct { |
547 | - target_ulong _addr; /* faulting insn/memory ref. */ | 547 | + abi_ulong _addr; /* faulting insn/memory ref. */ |
548 | } _sigfault; | 548 | } _sigfault; |
549 | 549 | ||
550 | /* SIGPOLL */ | 550 | /* SIGPOLL */ |
@@ -614,8 +614,8 @@ typedef struct target_siginfo { | @@ -614,8 +614,8 @@ typedef struct target_siginfo { | ||
614 | #endif /* defined(TARGET_I386) || defined(TARGET_ARM) */ | 614 | #endif /* defined(TARGET_I386) || defined(TARGET_ARM) */ |
615 | 615 | ||
616 | struct target_rlimit { | 616 | struct target_rlimit { |
617 | - target_ulong rlim_cur; | ||
618 | - target_ulong rlim_max; | 617 | + abi_ulong rlim_cur; |
618 | + abi_ulong rlim_max; | ||
619 | }; | 619 | }; |
620 | 620 | ||
621 | struct target_pollfd { | 621 | struct target_pollfd { |
@@ -888,24 +888,24 @@ struct target_winsize { | @@ -888,24 +888,24 @@ struct target_winsize { | ||
888 | struct target_stat { | 888 | struct target_stat { |
889 | unsigned short st_dev; | 889 | unsigned short st_dev; |
890 | unsigned short __pad1; | 890 | unsigned short __pad1; |
891 | - target_ulong st_ino; | 891 | + abi_ulong st_ino; |
892 | unsigned short st_mode; | 892 | unsigned short st_mode; |
893 | unsigned short st_nlink; | 893 | unsigned short st_nlink; |
894 | unsigned short st_uid; | 894 | unsigned short st_uid; |
895 | unsigned short st_gid; | 895 | unsigned short st_gid; |
896 | unsigned short st_rdev; | 896 | unsigned short st_rdev; |
897 | unsigned short __pad2; | 897 | unsigned short __pad2; |
898 | - target_ulong st_size; | ||
899 | - target_ulong st_blksize; | ||
900 | - target_ulong st_blocks; | ||
901 | - target_ulong target_st_atime; | ||
902 | - target_ulong __unused1; | ||
903 | - target_ulong target_st_mtime; | ||
904 | - target_ulong __unused2; | ||
905 | - target_ulong target_st_ctime; | ||
906 | - target_ulong __unused3; | ||
907 | - target_ulong __unused4; | ||
908 | - target_ulong __unused5; | 898 | + abi_ulong st_size; |
899 | + abi_ulong st_blksize; | ||
900 | + abi_ulong st_blocks; | ||
901 | + abi_ulong target_st_atime; | ||
902 | + abi_ulong __unused1; | ||
903 | + abi_ulong target_st_mtime; | ||
904 | + abi_ulong __unused2; | ||
905 | + abi_ulong target_st_ctime; | ||
906 | + abi_ulong __unused3; | ||
907 | + abi_ulong __unused4; | ||
908 | + abi_ulong __unused5; | ||
909 | }; | 909 | }; |
910 | 910 | ||
911 | /* This matches struct stat64 in glibc2.1, hence the absolutely | 911 | /* This matches struct stat64 in glibc2.1, hence the absolutely |
@@ -916,31 +916,31 @@ struct target_stat64 { | @@ -916,31 +916,31 @@ struct target_stat64 { | ||
916 | unsigned char __pad0[10]; | 916 | unsigned char __pad0[10]; |
917 | 917 | ||
918 | #define TARGET_STAT64_HAS_BROKEN_ST_INO 1 | 918 | #define TARGET_STAT64_HAS_BROKEN_ST_INO 1 |
919 | - target_ulong __st_ino; | 919 | + abi_ulong __st_ino; |
920 | 920 | ||
921 | unsigned int st_mode; | 921 | unsigned int st_mode; |
922 | unsigned int st_nlink; | 922 | unsigned int st_nlink; |
923 | 923 | ||
924 | - target_ulong st_uid; | ||
925 | - target_ulong st_gid; | 924 | + abi_ulong st_uid; |
925 | + abi_ulong st_gid; | ||
926 | 926 | ||
927 | unsigned short st_rdev; | 927 | unsigned short st_rdev; |
928 | unsigned char __pad3[10]; | 928 | unsigned char __pad3[10]; |
929 | 929 | ||
930 | long long st_size; | 930 | long long st_size; |
931 | - target_ulong st_blksize; | 931 | + abi_ulong st_blksize; |
932 | 932 | ||
933 | - target_ulong st_blocks; /* Number 512-byte blocks allocated. */ | ||
934 | - target_ulong __pad4; /* future possible st_blocks high bits */ | 933 | + abi_ulong st_blocks; /* Number 512-byte blocks allocated. */ |
934 | + abi_ulong __pad4; /* future possible st_blocks high bits */ | ||
935 | 935 | ||
936 | - target_ulong target_st_atime; | ||
937 | - target_ulong __pad5; | 936 | + abi_ulong target_st_atime; |
937 | + abi_ulong __pad5; | ||
938 | 938 | ||
939 | - target_ulong target_st_mtime; | ||
940 | - target_ulong __pad6; | 939 | + abi_ulong target_st_mtime; |
940 | + abi_ulong __pad6; | ||
941 | 941 | ||
942 | - target_ulong target_st_ctime; | ||
943 | - target_ulong __pad7; /* will be high 32 bits of ctime someday */ | 942 | + abi_ulong target_st_ctime; |
943 | + abi_ulong __pad7; /* will be high 32 bits of ctime someday */ | ||
944 | 944 | ||
945 | unsigned long long st_ino; | 945 | unsigned long long st_ino; |
946 | } __attribute__((packed)); | 946 | } __attribute__((packed)); |
@@ -949,50 +949,50 @@ struct target_stat64 { | @@ -949,50 +949,50 @@ struct target_stat64 { | ||
949 | struct target_eabi_stat64 { | 949 | struct target_eabi_stat64 { |
950 | unsigned long long st_dev; | 950 | unsigned long long st_dev; |
951 | unsigned int __pad1; | 951 | unsigned int __pad1; |
952 | - target_ulong __st_ino; | 952 | + abi_ulong __st_ino; |
953 | unsigned int st_mode; | 953 | unsigned int st_mode; |
954 | unsigned int st_nlink; | 954 | unsigned int st_nlink; |
955 | 955 | ||
956 | - target_ulong st_uid; | ||
957 | - target_ulong st_gid; | 956 | + abi_ulong st_uid; |
957 | + abi_ulong st_gid; | ||
958 | 958 | ||
959 | unsigned long long st_rdev; | 959 | unsigned long long st_rdev; |
960 | unsigned int __pad2[2]; | 960 | unsigned int __pad2[2]; |
961 | 961 | ||
962 | long long st_size; | 962 | long long st_size; |
963 | - target_ulong st_blksize; | 963 | + abi_ulong st_blksize; |
964 | unsigned int __pad3; | 964 | unsigned int __pad3; |
965 | unsigned long long st_blocks; | 965 | unsigned long long st_blocks; |
966 | 966 | ||
967 | - target_ulong target_st_atime; | ||
968 | - target_ulong target_st_atime_nsec; | 967 | + abi_ulong target_st_atime; |
968 | + abi_ulong target_st_atime_nsec; | ||
969 | 969 | ||
970 | - target_ulong target_st_mtime; | ||
971 | - target_ulong target_st_mtime_nsec; | 970 | + abi_ulong target_st_mtime; |
971 | + abi_ulong target_st_mtime_nsec; | ||
972 | 972 | ||
973 | - target_ulong target_st_ctime; | ||
974 | - target_ulong target_st_ctime_nsec; | 973 | + abi_ulong target_st_ctime; |
974 | + abi_ulong target_st_ctime_nsec; | ||
975 | 975 | ||
976 | unsigned long long st_ino; | 976 | unsigned long long st_ino; |
977 | } __attribute__ ((packed)); | 977 | } __attribute__ ((packed)); |
978 | #endif | 978 | #endif |
979 | 979 | ||
980 | -#elif defined(TARGET_SPARC64) | 980 | +#elif defined(TARGET_SPARC64) && !defined(TARGET_ABI32) |
981 | struct target_stat { | 981 | struct target_stat { |
982 | unsigned int st_dev; | 982 | unsigned int st_dev; |
983 | - target_ulong st_ino; | 983 | + abi_ulong st_ino; |
984 | unsigned int st_mode; | 984 | unsigned int st_mode; |
985 | unsigned int st_nlink; | 985 | unsigned int st_nlink; |
986 | unsigned int st_uid; | 986 | unsigned int st_uid; |
987 | unsigned int st_gid; | 987 | unsigned int st_gid; |
988 | unsigned int st_rdev; | 988 | unsigned int st_rdev; |
989 | - target_long st_size; | ||
990 | - target_long target_st_atime; | ||
991 | - target_long target_st_mtime; | ||
992 | - target_long target_st_ctime; | ||
993 | - target_long st_blksize; | ||
994 | - target_long st_blocks; | ||
995 | - target_ulong __unused4[2]; | 989 | + abi_long st_size; |
990 | + abi_long target_st_atime; | ||
991 | + abi_long target_st_mtime; | ||
992 | + abi_long target_st_ctime; | ||
993 | + abi_long st_blksize; | ||
994 | + abi_long st_blocks; | ||
995 | + abi_ulong __unused4[2]; | ||
996 | }; | 996 | }; |
997 | 997 | ||
998 | struct target_stat64 { | 998 | struct target_stat64 { |
@@ -1016,38 +1016,38 @@ struct target_stat64 { | @@ -1016,38 +1016,38 @@ struct target_stat64 { | ||
1016 | unsigned char __pad4[4]; | 1016 | unsigned char __pad4[4]; |
1017 | unsigned int st_blocks; | 1017 | unsigned int st_blocks; |
1018 | 1018 | ||
1019 | - target_ulong target_st_atime; | ||
1020 | - target_ulong __unused1; | 1019 | + abi_ulong target_st_atime; |
1020 | + abi_ulong __unused1; | ||
1021 | 1021 | ||
1022 | - target_ulong target_st_mtime; | ||
1023 | - target_ulong __unused2; | 1022 | + abi_ulong target_st_mtime; |
1023 | + abi_ulong __unused2; | ||
1024 | 1024 | ||
1025 | - target_ulong target_st_ctime; | ||
1026 | - target_ulong __unused3; | 1025 | + abi_ulong target_st_ctime; |
1026 | + abi_ulong __unused3; | ||
1027 | 1027 | ||
1028 | - target_ulong __unused4[3]; | 1028 | + abi_ulong __unused4[3]; |
1029 | }; | 1029 | }; |
1030 | 1030 | ||
1031 | #elif defined(TARGET_SPARC) | 1031 | #elif defined(TARGET_SPARC) |
1032 | 1032 | ||
1033 | struct target_stat { | 1033 | struct target_stat { |
1034 | unsigned short st_dev; | 1034 | unsigned short st_dev; |
1035 | - target_ulong st_ino; | 1035 | + abi_ulong st_ino; |
1036 | unsigned short st_mode; | 1036 | unsigned short st_mode; |
1037 | short st_nlink; | 1037 | short st_nlink; |
1038 | unsigned short st_uid; | 1038 | unsigned short st_uid; |
1039 | unsigned short st_gid; | 1039 | unsigned short st_gid; |
1040 | unsigned short st_rdev; | 1040 | unsigned short st_rdev; |
1041 | - target_long st_size; | ||
1042 | - target_long target_st_atime; | ||
1043 | - target_ulong __unused1; | ||
1044 | - target_long target_st_mtime; | ||
1045 | - target_ulong __unused2; | ||
1046 | - target_long target_st_ctime; | ||
1047 | - target_ulong __unused3; | ||
1048 | - target_long st_blksize; | ||
1049 | - target_long st_blocks; | ||
1050 | - target_ulong __unused4[2]; | 1041 | + abi_long st_size; |
1042 | + abi_long target_st_atime; | ||
1043 | + abi_ulong __unused1; | ||
1044 | + abi_long target_st_mtime; | ||
1045 | + abi_ulong __unused2; | ||
1046 | + abi_long target_st_ctime; | ||
1047 | + abi_ulong __unused3; | ||
1048 | + abi_long st_blksize; | ||
1049 | + abi_long st_blocks; | ||
1050 | + abi_ulong __unused4[2]; | ||
1051 | }; | 1051 | }; |
1052 | 1052 | ||
1053 | struct target_stat64 { | 1053 | struct target_stat64 { |
@@ -1090,23 +1090,23 @@ struct target_stat64 { | @@ -1090,23 +1090,23 @@ struct target_stat64 { | ||
1090 | 1090 | ||
1091 | struct target_stat { | 1091 | struct target_stat { |
1092 | unsigned short st_dev; | 1092 | unsigned short st_dev; |
1093 | - target_ulong st_ino; | 1093 | + abi_ulong st_ino; |
1094 | unsigned int st_mode; | 1094 | unsigned int st_mode; |
1095 | unsigned short st_nlink; | 1095 | unsigned short st_nlink; |
1096 | unsigned int st_uid; | 1096 | unsigned int st_uid; |
1097 | unsigned int st_gid; | 1097 | unsigned int st_gid; |
1098 | unsigned short st_rdev; | 1098 | unsigned short st_rdev; |
1099 | - target_ulong st_size; | ||
1100 | - target_ulong st_blksize; | ||
1101 | - target_ulong st_blocks; | ||
1102 | - target_ulong target_st_atime; | ||
1103 | - target_ulong __unused1; | ||
1104 | - target_ulong target_st_mtime; | ||
1105 | - target_ulong __unused2; | ||
1106 | - target_ulong target_st_ctime; | ||
1107 | - target_ulong __unused3; | ||
1108 | - target_ulong __unused4; | ||
1109 | - target_ulong __unused5; | 1099 | + abi_ulong st_size; |
1100 | + abi_ulong st_blksize; | ||
1101 | + abi_ulong st_blocks; | ||
1102 | + abi_ulong target_st_atime; | ||
1103 | + abi_ulong __unused1; | ||
1104 | + abi_ulong target_st_mtime; | ||
1105 | + abi_ulong __unused2; | ||
1106 | + abi_ulong target_st_ctime; | ||
1107 | + abi_ulong __unused3; | ||
1108 | + abi_ulong __unused4; | ||
1109 | + abi_ulong __unused5; | ||
1110 | }; | 1110 | }; |
1111 | 1111 | ||
1112 | struct target_stat64 { | 1112 | struct target_stat64 { |
@@ -1119,17 +1119,17 @@ struct target_stat64 { | @@ -1119,17 +1119,17 @@ struct target_stat64 { | ||
1119 | unsigned long long st_rdev; | 1119 | unsigned long long st_rdev; |
1120 | long long pad0; | 1120 | long long pad0; |
1121 | long long st_size; | 1121 | long long st_size; |
1122 | - target_ulong st_blksize; | ||
1123 | - target_ulong pad1; | 1122 | + abi_ulong st_blksize; |
1123 | + abi_ulong pad1; | ||
1124 | long long st_blocks; /* Number 512-byte blocks allocated. */ | 1124 | long long st_blocks; /* Number 512-byte blocks allocated. */ |
1125 | - target_ulong target_st_atime; | ||
1126 | - target_ulong target_st_atime_nsec; | ||
1127 | - target_ulong target_st_mtime; | ||
1128 | - target_ulong target_st_mtime_nsec; | ||
1129 | - target_ulong target_st_ctime; | ||
1130 | - target_ulong target_st_ctime_nsec; | ||
1131 | - target_ulong __unused4; | ||
1132 | - target_ulong __unused5; | 1125 | + abi_ulong target_st_atime; |
1126 | + abi_ulong target_st_atime_nsec; | ||
1127 | + abi_ulong target_st_mtime; | ||
1128 | + abi_ulong target_st_mtime_nsec; | ||
1129 | + abi_ulong target_st_ctime; | ||
1130 | + abi_ulong target_st_ctime_nsec; | ||
1131 | + abi_ulong __unused4; | ||
1132 | + abi_ulong __unused5; | ||
1133 | }; | 1133 | }; |
1134 | 1134 | ||
1135 | #elif defined(TARGET_M68K) | 1135 | #elif defined(TARGET_M68K) |
@@ -1137,24 +1137,24 @@ struct target_stat64 { | @@ -1137,24 +1137,24 @@ struct target_stat64 { | ||
1137 | struct target_stat { | 1137 | struct target_stat { |
1138 | unsigned short st_dev; | 1138 | unsigned short st_dev; |
1139 | unsigned short __pad1; | 1139 | unsigned short __pad1; |
1140 | - target_ulong st_ino; | 1140 | + abi_ulong st_ino; |
1141 | unsigned short st_mode; | 1141 | unsigned short st_mode; |
1142 | unsigned short st_nlink; | 1142 | unsigned short st_nlink; |
1143 | unsigned short st_uid; | 1143 | unsigned short st_uid; |
1144 | unsigned short st_gid; | 1144 | unsigned short st_gid; |
1145 | unsigned short st_rdev; | 1145 | unsigned short st_rdev; |
1146 | unsigned short __pad2; | 1146 | unsigned short __pad2; |
1147 | - target_ulong st_size; | ||
1148 | - target_ulong st_blksize; | ||
1149 | - target_ulong st_blocks; | ||
1150 | - target_ulong target_st_atime; | ||
1151 | - target_ulong __unused1; | ||
1152 | - target_ulong target_st_mtime; | ||
1153 | - target_ulong __unused2; | ||
1154 | - target_ulong target_st_ctime; | ||
1155 | - target_ulong __unused3; | ||
1156 | - target_ulong __unused4; | ||
1157 | - target_ulong __unused5; | 1147 | + abi_ulong st_size; |
1148 | + abi_ulong st_blksize; | ||
1149 | + abi_ulong st_blocks; | ||
1150 | + abi_ulong target_st_atime; | ||
1151 | + abi_ulong __unused1; | ||
1152 | + abi_ulong target_st_mtime; | ||
1153 | + abi_ulong __unused2; | ||
1154 | + abi_ulong target_st_ctime; | ||
1155 | + abi_ulong __unused3; | ||
1156 | + abi_ulong __unused4; | ||
1157 | + abi_ulong __unused5; | ||
1158 | }; | 1158 | }; |
1159 | 1159 | ||
1160 | /* This matches struct stat64 in glibc2.1, hence the absolutely | 1160 | /* This matches struct stat64 in glibc2.1, hence the absolutely |
@@ -1165,31 +1165,31 @@ struct target_stat64 { | @@ -1165,31 +1165,31 @@ struct target_stat64 { | ||
1165 | unsigned char __pad1[2]; | 1165 | unsigned char __pad1[2]; |
1166 | 1166 | ||
1167 | #define TARGET_STAT64_HAS_BROKEN_ST_INO 1 | 1167 | #define TARGET_STAT64_HAS_BROKEN_ST_INO 1 |
1168 | - target_ulong __st_ino; | 1168 | + abi_ulong __st_ino; |
1169 | 1169 | ||
1170 | unsigned int st_mode; | 1170 | unsigned int st_mode; |
1171 | unsigned int st_nlink; | 1171 | unsigned int st_nlink; |
1172 | 1172 | ||
1173 | - target_ulong st_uid; | ||
1174 | - target_ulong st_gid; | 1173 | + abi_ulong st_uid; |
1174 | + abi_ulong st_gid; | ||
1175 | 1175 | ||
1176 | unsigned long long st_rdev; | 1176 | unsigned long long st_rdev; |
1177 | unsigned char __pad3[2]; | 1177 | unsigned char __pad3[2]; |
1178 | 1178 | ||
1179 | long long st_size; | 1179 | long long st_size; |
1180 | - target_ulong st_blksize; | 1180 | + abi_ulong st_blksize; |
1181 | 1181 | ||
1182 | - target_ulong __pad4; /* future possible st_blocks high bits */ | ||
1183 | - target_ulong st_blocks; /* Number 512-byte blocks allocated. */ | 1182 | + abi_ulong __pad4; /* future possible st_blocks high bits */ |
1183 | + abi_ulong st_blocks; /* Number 512-byte blocks allocated. */ | ||
1184 | 1184 | ||
1185 | - target_ulong target_st_atime; | ||
1186 | - target_ulong target_st_atime_nsec; | 1185 | + abi_ulong target_st_atime; |
1186 | + abi_ulong target_st_atime_nsec; | ||
1187 | 1187 | ||
1188 | - target_ulong target_st_mtime; | ||
1189 | - target_ulong target_st_mtime_nsec; | 1188 | + abi_ulong target_st_mtime; |
1189 | + abi_ulong target_st_mtime_nsec; | ||
1190 | 1190 | ||
1191 | - target_ulong target_st_ctime; | ||
1192 | - target_ulong target_st_ctime_nsec; | 1191 | + abi_ulong target_st_ctime; |
1192 | + abi_ulong target_st_ctime_nsec; | ||
1193 | 1193 | ||
1194 | unsigned long long st_ino; | 1194 | unsigned long long st_ino; |
1195 | } __attribute__((packed)); | 1195 | } __attribute__((packed)); |
@@ -1201,7 +1201,7 @@ struct target_stat { | @@ -1201,7 +1201,7 @@ struct target_stat { | ||
1201 | unsigned int st_dev; | 1201 | unsigned int st_dev; |
1202 | unsigned int st_pad0[3]; /* Reserved for st_dev expansion */ | 1202 | unsigned int st_pad0[3]; /* Reserved for st_dev expansion */ |
1203 | 1203 | ||
1204 | - target_ulong st_ino; | 1204 | + abi_ulong st_ino; |
1205 | 1205 | ||
1206 | unsigned int st_mode; | 1206 | unsigned int st_mode; |
1207 | unsigned int st_nlink; | 1207 | unsigned int st_nlink; |
@@ -1212,7 +1212,7 @@ struct target_stat { | @@ -1212,7 +1212,7 @@ struct target_stat { | ||
1212 | unsigned int st_rdev; | 1212 | unsigned int st_rdev; |
1213 | unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */ | 1213 | unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */ |
1214 | 1214 | ||
1215 | - target_ulong st_size; | 1215 | + abi_ulong st_size; |
1216 | 1216 | ||
1217 | /* | 1217 | /* |
1218 | * Actually this should be timestruc_t st_atime, st_mtime and st_ctime | 1218 | * Actually this should be timestruc_t st_atime, st_mtime and st_ctime |
@@ -1230,7 +1230,7 @@ struct target_stat { | @@ -1230,7 +1230,7 @@ struct target_stat { | ||
1230 | unsigned int st_blksize; | 1230 | unsigned int st_blksize; |
1231 | unsigned int st_pad2; | 1231 | unsigned int st_pad2; |
1232 | 1232 | ||
1233 | - target_ulong st_blocks; | 1233 | + abi_ulong st_blocks; |
1234 | }; | 1234 | }; |
1235 | 1235 | ||
1236 | #elif defined(TARGET_MIPSN32) | 1236 | #elif defined(TARGET_MIPSN32) |
@@ -1308,29 +1308,29 @@ struct target_stat64 { | @@ -1308,29 +1308,29 @@ struct target_stat64 { | ||
1308 | 1308 | ||
1309 | struct target_stat { | 1309 | struct target_stat { |
1310 | unsigned st_dev; | 1310 | unsigned st_dev; |
1311 | - target_long st_pad1[3]; /* Reserved for network id */ | ||
1312 | - target_ulong st_ino; | 1311 | + abi_long st_pad1[3]; /* Reserved for network id */ |
1312 | + abi_ulong st_ino; | ||
1313 | unsigned int st_mode; | 1313 | unsigned int st_mode; |
1314 | unsigned int st_nlink; | 1314 | unsigned int st_nlink; |
1315 | int st_uid; | 1315 | int st_uid; |
1316 | int st_gid; | 1316 | int st_gid; |
1317 | unsigned st_rdev; | 1317 | unsigned st_rdev; |
1318 | - target_long st_pad2[2]; | ||
1319 | - target_long st_size; | ||
1320 | - target_long st_pad3; | 1318 | + abi_long st_pad2[2]; |
1319 | + abi_long st_size; | ||
1320 | + abi_long st_pad3; | ||
1321 | /* | 1321 | /* |
1322 | * Actually this should be timestruc_t st_atime, st_mtime and st_ctime | 1322 | * Actually this should be timestruc_t st_atime, st_mtime and st_ctime |
1323 | * but we don't have it under Linux. | 1323 | * but we don't have it under Linux. |
1324 | */ | 1324 | */ |
1325 | - target_long target_st_atime; | ||
1326 | - target_long target_st_atime_nsec; | ||
1327 | - target_long target_st_mtime; | ||
1328 | - target_long target_st_mtime_nsec; | ||
1329 | - target_long target_st_ctime; | ||
1330 | - target_long target_st_ctime_nsec; | ||
1331 | - target_long st_blksize; | ||
1332 | - target_long st_blocks; | ||
1333 | - target_long st_pad4[14]; | 1325 | + abi_long target_st_atime; |
1326 | + abi_long target_st_atime_nsec; | ||
1327 | + abi_long target_st_mtime; | ||
1328 | + abi_long target_st_mtime_nsec; | ||
1329 | + abi_long target_st_ctime; | ||
1330 | + abi_long target_st_ctime_nsec; | ||
1331 | + abi_long st_blksize; | ||
1332 | + abi_long st_blocks; | ||
1333 | + abi_long st_pad4[14]; | ||
1334 | }; | 1334 | }; |
1335 | 1335 | ||
1336 | /* | 1336 | /* |
@@ -1340,8 +1340,8 @@ struct target_stat { | @@ -1340,8 +1340,8 @@ struct target_stat { | ||
1340 | */ | 1340 | */ |
1341 | 1341 | ||
1342 | struct target_stat64 { | 1342 | struct target_stat64 { |
1343 | - target_ulong st_dev; | ||
1344 | - target_ulong st_pad0[3]; /* Reserved for st_dev expansion */ | 1343 | + abi_ulong st_dev; |
1344 | + abi_ulong st_pad0[3]; /* Reserved for st_dev expansion */ | ||
1345 | 1345 | ||
1346 | uint64_t st_ino; | 1346 | uint64_t st_ino; |
1347 | 1347 | ||
@@ -1351,8 +1351,8 @@ struct target_stat64 { | @@ -1351,8 +1351,8 @@ struct target_stat64 { | ||
1351 | int st_uid; | 1351 | int st_uid; |
1352 | int st_gid; | 1352 | int st_gid; |
1353 | 1353 | ||
1354 | - target_ulong st_rdev; | ||
1355 | - target_ulong st_pad1[3]; /* Reserved for st_rdev expansion */ | 1354 | + abi_ulong st_rdev; |
1355 | + abi_ulong st_pad1[3]; /* Reserved for st_rdev expansion */ | ||
1356 | 1356 | ||
1357 | int64_t st_size; | 1357 | int64_t st_size; |
1358 | 1358 | ||
@@ -1360,17 +1360,17 @@ struct target_stat64 { | @@ -1360,17 +1360,17 @@ struct target_stat64 { | ||
1360 | * Actually this should be timestruc_t st_atime, st_mtime and st_ctime | 1360 | * Actually this should be timestruc_t st_atime, st_mtime and st_ctime |
1361 | * but we don't have it under Linux. | 1361 | * but we don't have it under Linux. |
1362 | */ | 1362 | */ |
1363 | - target_long target_st_atime; | ||
1364 | - target_ulong target_st_atime_nsec; /* Reserved for st_atime expansion */ | 1363 | + abi_long target_st_atime; |
1364 | + abi_ulong target_st_atime_nsec; /* Reserved for st_atime expansion */ | ||
1365 | 1365 | ||
1366 | - target_long target_st_mtime; | ||
1367 | - target_ulong target_st_mtime_nsec; /* Reserved for st_mtime expansion */ | 1366 | + abi_long target_st_mtime; |
1367 | + abi_ulong target_st_mtime_nsec; /* Reserved for st_mtime expansion */ | ||
1368 | 1368 | ||
1369 | - target_long target_st_ctime; | ||
1370 | - target_ulong target_st_ctime_nsec; /* Reserved for st_ctime expansion */ | 1369 | + abi_long target_st_ctime; |
1370 | + abi_ulong target_st_ctime_nsec; /* Reserved for st_ctime expansion */ | ||
1371 | 1371 | ||
1372 | - target_ulong st_blksize; | ||
1373 | - target_ulong st_pad2; | 1372 | + abi_ulong st_blksize; |
1373 | + abi_ulong st_pad2; | ||
1374 | 1374 | ||
1375 | int64_t st_blocks; | 1375 | int64_t st_blocks; |
1376 | }; | 1376 | }; |
@@ -1385,10 +1385,10 @@ struct target_stat { | @@ -1385,10 +1385,10 @@ struct target_stat { | ||
1385 | unsigned int st_uid; | 1385 | unsigned int st_uid; |
1386 | unsigned int st_gid; | 1386 | unsigned int st_gid; |
1387 | unsigned int st_rdev; | 1387 | unsigned int st_rdev; |
1388 | - target_long st_size; | ||
1389 | - target_ulong target_st_atime; | ||
1390 | - target_ulong target_st_mtime; | ||
1391 | - target_ulong target_st_ctime; | 1388 | + abi_long st_size; |
1389 | + abi_ulong target_st_atime; | ||
1390 | + abi_ulong target_st_mtime; | ||
1391 | + abi_ulong target_st_ctime; | ||
1392 | unsigned int st_blksize; | 1392 | unsigned int st_blksize; |
1393 | unsigned int st_blocks; | 1393 | unsigned int st_blocks; |
1394 | unsigned int st_flags; | 1394 | unsigned int st_flags; |
@@ -1396,11 +1396,11 @@ struct target_stat { | @@ -1396,11 +1396,11 @@ struct target_stat { | ||
1396 | }; | 1396 | }; |
1397 | 1397 | ||
1398 | struct target_stat64 { | 1398 | struct target_stat64 { |
1399 | - target_ulong st_dev; | ||
1400 | - target_ulong st_ino; | ||
1401 | - target_ulong st_rdev; | ||
1402 | - target_long st_size; | ||
1403 | - target_ulong st_blocks; | 1399 | + abi_ulong st_dev; |
1400 | + abi_ulong st_ino; | ||
1401 | + abi_ulong st_rdev; | ||
1402 | + abi_long st_size; | ||
1403 | + abi_ulong st_blocks; | ||
1404 | 1404 | ||
1405 | unsigned int st_mode; | 1405 | unsigned int st_mode; |
1406 | unsigned int st_uid; | 1406 | unsigned int st_uid; |
@@ -1409,36 +1409,36 @@ struct target_stat64 { | @@ -1409,36 +1409,36 @@ struct target_stat64 { | ||
1409 | unsigned int st_nlink; | 1409 | unsigned int st_nlink; |
1410 | unsigned int __pad0; | 1410 | unsigned int __pad0; |
1411 | 1411 | ||
1412 | - target_ulong target_st_atime; | ||
1413 | - target_ulong target_st_atime_nsec; | ||
1414 | - target_ulong target_st_mtime; | ||
1415 | - target_ulong target_st_mtime_nsec; | ||
1416 | - target_ulong target_st_ctime; | ||
1417 | - target_ulong target_st_ctime_nsec; | ||
1418 | - target_long __unused[3]; | 1412 | + abi_ulong target_st_atime; |
1413 | + abi_ulong target_st_atime_nsec; | ||
1414 | + abi_ulong target_st_mtime; | ||
1415 | + abi_ulong target_st_mtime_nsec; | ||
1416 | + abi_ulong target_st_ctime; | ||
1417 | + abi_ulong target_st_ctime_nsec; | ||
1418 | + abi_long __unused[3]; | ||
1419 | }; | 1419 | }; |
1420 | 1420 | ||
1421 | #elif defined(TARGET_SH4) | 1421 | #elif defined(TARGET_SH4) |
1422 | 1422 | ||
1423 | struct target_stat { | 1423 | struct target_stat { |
1424 | - target_ulong st_dev; | ||
1425 | - target_ulong st_ino; | 1424 | + abi_ulong st_dev; |
1425 | + abi_ulong st_ino; | ||
1426 | unsigned short st_mode; | 1426 | unsigned short st_mode; |
1427 | unsigned short st_nlink; | 1427 | unsigned short st_nlink; |
1428 | unsigned short st_uid; | 1428 | unsigned short st_uid; |
1429 | unsigned short st_gid; | 1429 | unsigned short st_gid; |
1430 | - target_ulong st_rdev; | ||
1431 | - target_ulong st_size; | ||
1432 | - target_ulong st_blksize; | ||
1433 | - target_ulong st_blocks; | ||
1434 | - target_ulong target_st_atime; | ||
1435 | - target_ulong target_st_atime_nsec; | ||
1436 | - target_ulong target_st_mtime; | ||
1437 | - target_ulong target_st_mtime_nsec; | ||
1438 | - target_ulong target_st_ctime; | ||
1439 | - target_ulong target_st_ctime_nsec; | ||
1440 | - target_ulong __unused4; | ||
1441 | - target_ulong __unused5; | 1430 | + abi_ulong st_rdev; |
1431 | + abi_ulong st_size; | ||
1432 | + abi_ulong st_blksize; | ||
1433 | + abi_ulong st_blocks; | ||
1434 | + abi_ulong target_st_atime; | ||
1435 | + abi_ulong target_st_atime_nsec; | ||
1436 | + abi_ulong target_st_mtime; | ||
1437 | + abi_ulong target_st_mtime_nsec; | ||
1438 | + abi_ulong target_st_ctime; | ||
1439 | + abi_ulong target_st_ctime_nsec; | ||
1440 | + abi_ulong __unused4; | ||
1441 | + abi_ulong __unused5; | ||
1442 | }; | 1442 | }; |
1443 | 1443 | ||
1444 | /* This matches struct stat64 in glibc2.1, hence the absolutely | 1444 | /* This matches struct stat64 in glibc2.1, hence the absolutely |
@@ -1449,30 +1449,30 @@ struct target_stat64 { | @@ -1449,30 +1449,30 @@ struct target_stat64 { | ||
1449 | unsigned char __pad0[4]; | 1449 | unsigned char __pad0[4]; |
1450 | 1450 | ||
1451 | #define TARGET_STAT64_HAS_BROKEN_ST_INO 1 | 1451 | #define TARGET_STAT64_HAS_BROKEN_ST_INO 1 |
1452 | - target_ulong __st_ino; | 1452 | + abi_ulong __st_ino; |
1453 | 1453 | ||
1454 | unsigned int st_mode; | 1454 | unsigned int st_mode; |
1455 | unsigned int st_nlink; | 1455 | unsigned int st_nlink; |
1456 | 1456 | ||
1457 | - target_ulong st_uid; | ||
1458 | - target_ulong st_gid; | 1457 | + abi_ulong st_uid; |
1458 | + abi_ulong st_gid; | ||
1459 | 1459 | ||
1460 | unsigned long long st_rdev; | 1460 | unsigned long long st_rdev; |
1461 | unsigned char __pad3[4]; | 1461 | unsigned char __pad3[4]; |
1462 | 1462 | ||
1463 | long long st_size; | 1463 | long long st_size; |
1464 | - target_ulong st_blksize; | 1464 | + abi_ulong st_blksize; |
1465 | 1465 | ||
1466 | unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ | 1466 | unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ |
1467 | 1467 | ||
1468 | - target_ulong target_st_atime; | ||
1469 | - target_ulong target_st_atime_nsec; | 1468 | + abi_ulong target_st_atime; |
1469 | + abi_ulong target_st_atime_nsec; | ||
1470 | 1470 | ||
1471 | - target_ulong target_st_mtime; | ||
1472 | - target_ulong target_st_mtime_nsec; | 1471 | + abi_ulong target_st_mtime; |
1472 | + abi_ulong target_st_mtime_nsec; | ||
1473 | 1473 | ||
1474 | - target_ulong target_st_ctime; | ||
1475 | - target_ulong target_st_ctime_nsec; | 1474 | + abi_ulong target_st_ctime; |
1475 | + abi_ulong target_st_ctime_nsec; | ||
1476 | 1476 | ||
1477 | unsigned long long st_ino; | 1477 | unsigned long long st_ino; |
1478 | }; | 1478 | }; |
@@ -1504,19 +1504,19 @@ struct target_statfs { | @@ -1504,19 +1504,19 @@ struct target_statfs { | ||
1504 | }; | 1504 | }; |
1505 | #else | 1505 | #else |
1506 | struct target_statfs { | 1506 | struct target_statfs { |
1507 | - target_long f_type; | ||
1508 | - target_long f_bsize; | ||
1509 | - target_long f_frsize; /* Fragment size - unsupported */ | ||
1510 | - target_long f_blocks; | ||
1511 | - target_long f_bfree; | ||
1512 | - target_long f_files; | ||
1513 | - target_long f_ffree; | ||
1514 | - target_long f_bavail; | 1507 | + abi_long f_type; |
1508 | + abi_long f_bsize; | ||
1509 | + abi_long f_frsize; /* Fragment size - unsupported */ | ||
1510 | + abi_long f_blocks; | ||
1511 | + abi_long f_bfree; | ||
1512 | + abi_long f_files; | ||
1513 | + abi_long f_ffree; | ||
1514 | + abi_long f_bavail; | ||
1515 | 1515 | ||
1516 | /* Linux specials */ | 1516 | /* Linux specials */ |
1517 | target_fsid_t f_fsid; | 1517 | target_fsid_t f_fsid; |
1518 | - target_long f_namelen; | ||
1519 | - target_long f_spare[6]; | 1518 | + abi_long f_namelen; |
1519 | + abi_long f_spare[6]; | ||
1520 | }; | 1520 | }; |
1521 | #endif | 1521 | #endif |
1522 | 1522 | ||
@@ -1688,8 +1688,8 @@ struct target_statfs64 { | @@ -1688,8 +1688,8 @@ struct target_statfs64 { | ||
1688 | struct target_flock { | 1688 | struct target_flock { |
1689 | short l_type; | 1689 | short l_type; |
1690 | short l_whence; | 1690 | short l_whence; |
1691 | - target_ulong l_start; | ||
1692 | - target_ulong l_len; | 1691 | + abi_ulong l_start; |
1692 | + abi_ulong l_len; | ||
1693 | int l_pid; | 1693 | int l_pid; |
1694 | }; | 1694 | }; |
1695 | 1695 | ||
@@ -1856,20 +1856,20 @@ struct target_eabi_flock64 { | @@ -1856,20 +1856,20 @@ struct target_eabi_flock64 { | ||
1856 | #define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2) | 1856 | #define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2) |
1857 | 1857 | ||
1858 | struct target_sysinfo { | 1858 | struct target_sysinfo { |
1859 | - target_long uptime; /* Seconds since boot */ | ||
1860 | - target_ulong loads[3]; /* 1, 5, and 15 minute load averages */ | ||
1861 | - target_ulong totalram; /* Total usable main memory size */ | ||
1862 | - target_ulong freeram; /* Available memory size */ | ||
1863 | - target_ulong sharedram; /* Amount of shared memory */ | ||
1864 | - target_ulong bufferram; /* Memory used by buffers */ | ||
1865 | - target_ulong totalswap; /* Total swap space size */ | ||
1866 | - target_ulong freeswap; /* swap space still available */ | 1859 | + abi_long uptime; /* Seconds since boot */ |
1860 | + abi_ulong loads[3]; /* 1, 5, and 15 minute load averages */ | ||
1861 | + abi_ulong totalram; /* Total usable main memory size */ | ||
1862 | + abi_ulong freeram; /* Available memory size */ | ||
1863 | + abi_ulong sharedram; /* Amount of shared memory */ | ||
1864 | + abi_ulong bufferram; /* Memory used by buffers */ | ||
1865 | + abi_ulong totalswap; /* Total swap space size */ | ||
1866 | + abi_ulong freeswap; /* swap space still available */ | ||
1867 | unsigned short procs; /* Number of current processes */ | 1867 | unsigned short procs; /* Number of current processes */ |
1868 | unsigned short pad; /* explicit padding for m68k */ | 1868 | unsigned short pad; /* explicit padding for m68k */ |
1869 | - target_ulong totalhigh; /* Total high memory size */ | ||
1870 | - target_ulong freehigh; /* Available high memory size */ | 1869 | + abi_ulong totalhigh; /* Total high memory size */ |
1870 | + abi_ulong freehigh; /* Available high memory size */ | ||
1871 | unsigned int mem_unit; /* Memory unit size in bytes */ | 1871 | unsigned int mem_unit; /* Memory unit size in bytes */ |
1872 | - char _f[20-2*sizeof(target_long)-sizeof(int)]; /* Padding: libc5 uses this.. */ | 1872 | + char _f[20-2*sizeof(abi_long)-sizeof(int)]; /* Padding: libc5 uses this.. */ |
1873 | }; | 1873 | }; |
1874 | 1874 | ||
1875 | #include "socket.h" | 1875 | #include "socket.h" |
linux-user/vm86.c
@@ -381,7 +381,7 @@ void handle_vm86_fault(CPUX86State *env) | @@ -381,7 +381,7 @@ void handle_vm86_fault(CPUX86State *env) | ||
381 | } | 381 | } |
382 | } | 382 | } |
383 | 383 | ||
384 | -int do_vm86(CPUX86State *env, long subfunction, target_ulong vm86_addr) | 384 | +int do_vm86(CPUX86State *env, long subfunction, abi_ulong vm86_addr) |
385 | { | 385 | { |
386 | TaskState *ts = env->opaque; | 386 | TaskState *ts = env->opaque; |
387 | struct target_vm86plus_struct * target_v86; | 387 | struct target_vm86plus_struct * target_v86; |
linux-user/x86_64/syscall.h
@@ -2,30 +2,30 @@ | @@ -2,30 +2,30 @@ | ||
2 | #define __USER_DS (0x2B) | 2 | #define __USER_DS (0x2B) |
3 | 3 | ||
4 | struct target_pt_regs { | 4 | struct target_pt_regs { |
5 | - target_ulong r15; | ||
6 | - target_ulong r14; | ||
7 | - target_ulong r13; | ||
8 | - target_ulong r12; | ||
9 | - target_ulong rbp; | ||
10 | - target_ulong rbx; | 5 | + abi_ulong r15; |
6 | + abi_ulong r14; | ||
7 | + abi_ulong r13; | ||
8 | + abi_ulong r12; | ||
9 | + abi_ulong rbp; | ||
10 | + abi_ulong rbx; | ||
11 | /* arguments: non interrupts/non tracing syscalls only save upto here*/ | 11 | /* arguments: non interrupts/non tracing syscalls only save upto here*/ |
12 | - target_ulong r11; | ||
13 | - target_ulong r10; | ||
14 | - target_ulong r9; | ||
15 | - target_ulong r8; | ||
16 | - target_ulong rax; | ||
17 | - target_ulong rcx; | ||
18 | - target_ulong rdx; | ||
19 | - target_ulong rsi; | ||
20 | - target_ulong rdi; | ||
21 | - target_ulong orig_rax; | 12 | + abi_ulong r11; |
13 | + abi_ulong r10; | ||
14 | + abi_ulong r9; | ||
15 | + abi_ulong r8; | ||
16 | + abi_ulong rax; | ||
17 | + abi_ulong rcx; | ||
18 | + abi_ulong rdx; | ||
19 | + abi_ulong rsi; | ||
20 | + abi_ulong rdi; | ||
21 | + abi_ulong orig_rax; | ||
22 | /* end of arguments */ | 22 | /* end of arguments */ |
23 | /* cpu exception frame or undefined */ | 23 | /* cpu exception frame or undefined */ |
24 | - target_ulong rip; | ||
25 | - target_ulong cs; | ||
26 | - target_ulong eflags; | ||
27 | - target_ulong rsp; | ||
28 | - target_ulong ss; | 24 | + abi_ulong rip; |
25 | + abi_ulong cs; | ||
26 | + abi_ulong eflags; | ||
27 | + abi_ulong rsp; | ||
28 | + abi_ulong ss; | ||
29 | /* top of stack page */ | 29 | /* top of stack page */ |
30 | }; | 30 | }; |
31 | 31 | ||
@@ -41,7 +41,7 @@ struct target_pt_regs { | @@ -41,7 +41,7 @@ struct target_pt_regs { | ||
41 | #if 0 // Redefine this | 41 | #if 0 // Redefine this |
42 | struct target_modify_ldt_ldt_s { | 42 | struct target_modify_ldt_ldt_s { |
43 | unsigned int entry_number; | 43 | unsigned int entry_number; |
44 | - target_ulong base_addr; | 44 | + abi_ulong base_addr; |
45 | unsigned int limit; | 45 | unsigned int limit; |
46 | unsigned int seg_32bit:1; | 46 | unsigned int seg_32bit:1; |
47 | unsigned int contents:2; | 47 | unsigned int contents:2; |
@@ -54,7 +54,7 @@ struct target_modify_ldt_ldt_s { | @@ -54,7 +54,7 @@ struct target_modify_ldt_ldt_s { | ||
54 | #else | 54 | #else |
55 | struct target_modify_ldt_ldt_s { | 55 | struct target_modify_ldt_ldt_s { |
56 | unsigned int entry_number; | 56 | unsigned int entry_number; |
57 | - target_ulong base_addr; | 57 | + abi_ulong base_addr; |
58 | unsigned int limit; | 58 | unsigned int limit; |
59 | unsigned int flags; | 59 | unsigned int flags; |
60 | }; | 60 | }; |
@@ -71,8 +71,8 @@ struct target_ipc64_perm | @@ -71,8 +71,8 @@ struct target_ipc64_perm | ||
71 | unsigned short __pad1; | 71 | unsigned short __pad1; |
72 | unsigned short seq; | 72 | unsigned short seq; |
73 | unsigned short __pad2; | 73 | unsigned short __pad2; |
74 | - target_ulong __unused1; | ||
75 | - target_ulong __unused2; | 74 | + abi_ulong __unused1; |
75 | + abi_ulong __unused2; | ||
76 | }; | 76 | }; |
77 | 77 | ||
78 | struct target_msqid64_ds { | 78 | struct target_msqid64_ds { |
@@ -80,13 +80,13 @@ struct target_msqid64_ds { | @@ -80,13 +80,13 @@ struct target_msqid64_ds { | ||
80 | unsigned int msg_stime; /* last msgsnd time */ | 80 | unsigned int msg_stime; /* last msgsnd time */ |
81 | unsigned int msg_rtime; /* last msgrcv time */ | 81 | unsigned int msg_rtime; /* last msgrcv time */ |
82 | unsigned int msg_ctime; /* last change time */ | 82 | unsigned int msg_ctime; /* last change time */ |
83 | - target_ulong msg_cbytes; /* current number of bytes on queue */ | ||
84 | - target_ulong msg_qnum; /* number of messages in queue */ | ||
85 | - target_ulong msg_qbytes; /* max number of bytes on queue */ | 83 | + abi_ulong msg_cbytes; /* current number of bytes on queue */ |
84 | + abi_ulong msg_qnum; /* number of messages in queue */ | ||
85 | + abi_ulong msg_qbytes; /* max number of bytes on queue */ | ||
86 | unsigned int msg_lspid; /* pid of last msgsnd */ | 86 | unsigned int msg_lspid; /* pid of last msgsnd */ |
87 | unsigned int msg_lrpid; /* last receive pid */ | 87 | unsigned int msg_lrpid; /* last receive pid */ |
88 | - target_ulong __unused4; | ||
89 | - target_ulong __unused5; | 88 | + abi_ulong __unused4; |
89 | + abi_ulong __unused5; | ||
90 | }; | 90 | }; |
91 | 91 | ||
92 | #define UNAME_MACHINE "x86_64" | 92 | #define UNAME_MACHINE "x86_64" |
linux-user/x86_64/target_signal.h
@@ -6,9 +6,9 @@ | @@ -6,9 +6,9 @@ | ||
6 | /* this struct defines a stack used during syscall handling */ | 6 | /* this struct defines a stack used during syscall handling */ |
7 | 7 | ||
8 | typedef struct target_sigaltstack { | 8 | typedef struct target_sigaltstack { |
9 | - target_ulong ss_sp; | ||
10 | - target_long ss_flags; | ||
11 | - target_ulong ss_size; | 9 | + abi_ulong ss_sp; |
10 | + abi_long ss_flags; | ||
11 | + abi_ulong ss_size; | ||
12 | } target_stack_t; | 12 | } target_stack_t; |
13 | 13 | ||
14 | 14 | ||
@@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { | ||
21 | #define TARGET_MINSIGSTKSZ 2048 | 21 | #define TARGET_MINSIGSTKSZ 2048 |
22 | #define TARGET_SIGSTKSZ 8192 | 22 | #define TARGET_SIGSTKSZ 8192 |
23 | 23 | ||
24 | -static inline target_ulong get_sp_from_cpustate(CPUX86State *state) | 24 | +static inline abi_ulong get_sp_from_cpustate(CPUX86State *state) |
25 | { | 25 | { |
26 | return state->regs[R_ESP]; | 26 | return state->regs[R_ESP]; |
27 | } | 27 | } |
target-sparc/op_mem.h
1 | +#ifdef TARGET_ABI32 | ||
2 | +#define ADDR(x) ((x) & 0xffffffff) | ||
3 | +#else | ||
4 | +#define ADDR(x) (x) | ||
5 | +#endif | ||
6 | + | ||
1 | /*** Integer load ***/ | 7 | /*** Integer load ***/ |
2 | #define SPARC_LD_OP(name, qp) \ | 8 | #define SPARC_LD_OP(name, qp) \ |
3 | void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ | 9 | void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ |
4 | { \ | 10 | { \ |
5 | - T1 = (target_ulong)glue(qp, MEMSUFFIX)(T0); \ | 11 | + T1 = (target_ulong)glue(qp, MEMSUFFIX)(ADDR(T0)); \ |
6 | } | 12 | } |
7 | 13 | ||
8 | #define SPARC_LD_OP_S(name, qp) \ | 14 | #define SPARC_LD_OP_S(name, qp) \ |
9 | void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ | 15 | void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ |
10 | { \ | 16 | { \ |
11 | - T1 = (target_long)glue(qp, MEMSUFFIX)(T0); \ | 17 | + T1 = (target_long)glue(qp, MEMSUFFIX)(ADDR(T0)); \ |
12 | } | 18 | } |
13 | 19 | ||
14 | #define SPARC_ST_OP(name, op) \ | 20 | #define SPARC_ST_OP(name, op) \ |
15 | void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ | 21 | void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ |
16 | { \ | 22 | { \ |
17 | - glue(op, MEMSUFFIX)(T0, T1); \ | 23 | + glue(op, MEMSUFFIX)(ADDR(T0), T1); \ |
18 | } | 24 | } |
19 | 25 | ||
20 | SPARC_LD_OP(ld, ldl); | 26 | SPARC_LD_OP(ld, ldl); |
@@ -30,60 +36,60 @@ SPARC_ST_OP(sth, stw); | @@ -30,60 +36,60 @@ SPARC_ST_OP(sth, stw); | ||
30 | 36 | ||
31 | void OPPROTO glue(op_std, MEMSUFFIX)(void) | 37 | void OPPROTO glue(op_std, MEMSUFFIX)(void) |
32 | { | 38 | { |
33 | - glue(stl, MEMSUFFIX)(T0, T1); | ||
34 | - glue(stl, MEMSUFFIX)((T0 + 4), T2); | 39 | + glue(stl, MEMSUFFIX)(ADDR(T0), T1); |
40 | + glue(stl, MEMSUFFIX)((ADDR(T0 + 4)), T2); | ||
35 | } | 41 | } |
36 | 42 | ||
37 | void OPPROTO glue(op_ldstub, MEMSUFFIX)(void) | 43 | void OPPROTO glue(op_ldstub, MEMSUFFIX)(void) |
38 | { | 44 | { |
39 | - T1 = glue(ldub, MEMSUFFIX)(T0); | ||
40 | - glue(stb, MEMSUFFIX)(T0, 0xff); /* XXX: Should be Atomically */ | 45 | + T1 = glue(ldub, MEMSUFFIX)(ADDR(T0)); |
46 | + glue(stb, MEMSUFFIX)(ADDR(T0), 0xff); /* XXX: Should be Atomically */ | ||
41 | } | 47 | } |
42 | 48 | ||
43 | void OPPROTO glue(op_swap, MEMSUFFIX)(void) | 49 | void OPPROTO glue(op_swap, MEMSUFFIX)(void) |
44 | { | 50 | { |
45 | - target_ulong tmp = glue(ldl, MEMSUFFIX)(T0); | ||
46 | - glue(stl, MEMSUFFIX)(T0, T1); /* XXX: Should be Atomically */ | 51 | + target_ulong tmp = glue(ldl, MEMSUFFIX)(ADDR(T0)); |
52 | + glue(stl, MEMSUFFIX)(ADDR(T0), T1); /* XXX: Should be Atomically */ | ||
47 | T1 = tmp; | 53 | T1 = tmp; |
48 | } | 54 | } |
49 | 55 | ||
50 | void OPPROTO glue(op_ldd, MEMSUFFIX)(void) | 56 | void OPPROTO glue(op_ldd, MEMSUFFIX)(void) |
51 | { | 57 | { |
52 | - T1 = glue(ldl, MEMSUFFIX)(T0); | ||
53 | - T0 = glue(ldl, MEMSUFFIX)((T0 + 4)); | 58 | + T1 = glue(ldl, MEMSUFFIX)(ADDR(T0)); |
59 | + T0 = glue(ldl, MEMSUFFIX)((ADDR(T0 + 4))); | ||
54 | } | 60 | } |
55 | 61 | ||
56 | /*** Floating-point store ***/ | 62 | /*** Floating-point store ***/ |
57 | void OPPROTO glue(op_stf, MEMSUFFIX) (void) | 63 | void OPPROTO glue(op_stf, MEMSUFFIX) (void) |
58 | { | 64 | { |
59 | - glue(stfl, MEMSUFFIX)(T0, FT0); | 65 | + glue(stfl, MEMSUFFIX)(ADDR(T0), FT0); |
60 | } | 66 | } |
61 | 67 | ||
62 | void OPPROTO glue(op_stdf, MEMSUFFIX) (void) | 68 | void OPPROTO glue(op_stdf, MEMSUFFIX) (void) |
63 | { | 69 | { |
64 | - glue(stfq, MEMSUFFIX)(T0, DT0); | 70 | + glue(stfq, MEMSUFFIX)(ADDR(T0), DT0); |
65 | } | 71 | } |
66 | 72 | ||
67 | /*** Floating-point load ***/ | 73 | /*** Floating-point load ***/ |
68 | void OPPROTO glue(op_ldf, MEMSUFFIX) (void) | 74 | void OPPROTO glue(op_ldf, MEMSUFFIX) (void) |
69 | { | 75 | { |
70 | - FT0 = glue(ldfl, MEMSUFFIX)(T0); | 76 | + FT0 = glue(ldfl, MEMSUFFIX)(ADDR(T0)); |
71 | } | 77 | } |
72 | 78 | ||
73 | void OPPROTO glue(op_lddf, MEMSUFFIX) (void) | 79 | void OPPROTO glue(op_lddf, MEMSUFFIX) (void) |
74 | { | 80 | { |
75 | - DT0 = glue(ldfq, MEMSUFFIX)(T0); | 81 | + DT0 = glue(ldfq, MEMSUFFIX)(ADDR(T0)); |
76 | } | 82 | } |
77 | 83 | ||
78 | #ifdef TARGET_SPARC64 | 84 | #ifdef TARGET_SPARC64 |
79 | void OPPROTO glue(op_lduw, MEMSUFFIX)(void) | 85 | void OPPROTO glue(op_lduw, MEMSUFFIX)(void) |
80 | { | 86 | { |
81 | - T1 = (uint64_t)(glue(ldl, MEMSUFFIX)(T0) & 0xffffffff); | 87 | + T1 = (uint64_t)(glue(ldl, MEMSUFFIX)(ADDR(T0)) & 0xffffffff); |
82 | } | 88 | } |
83 | 89 | ||
84 | void OPPROTO glue(op_ldsw, MEMSUFFIX)(void) | 90 | void OPPROTO glue(op_ldsw, MEMSUFFIX)(void) |
85 | { | 91 | { |
86 | - T1 = (int64_t)(glue(ldl, MEMSUFFIX)(T0) & 0xffffffff); | 92 | + T1 = (int64_t)(glue(ldl, MEMSUFFIX)(ADDR(T0)) & 0xffffffff); |
87 | } | 93 | } |
88 | 94 | ||
89 | SPARC_LD_OP(ldx, ldq); | 95 | SPARC_LD_OP(ldx, ldq); |
thunk.c
@@ -136,13 +136,13 @@ const argtype *thunk_convert(void *dst, const void *src, | @@ -136,13 +136,13 @@ const argtype *thunk_convert(void *dst, const void *src, | ||
136 | case TYPE_ULONGLONG: | 136 | case TYPE_ULONGLONG: |
137 | *(uint64_t *)dst = tswap64(*(uint64_t *)src); | 137 | *(uint64_t *)dst = tswap64(*(uint64_t *)src); |
138 | break; | 138 | break; |
139 | -#if HOST_LONG_BITS == 32 && TARGET_LONG_BITS == 32 | 139 | +#if HOST_LONG_BITS == 32 && TARGET_ABI_BITS == 32 |
140 | case TYPE_LONG: | 140 | case TYPE_LONG: |
141 | case TYPE_ULONG: | 141 | case TYPE_ULONG: |
142 | case TYPE_PTRVOID: | 142 | case TYPE_PTRVOID: |
143 | *(uint32_t *)dst = tswap32(*(uint32_t *)src); | 143 | *(uint32_t *)dst = tswap32(*(uint32_t *)src); |
144 | break; | 144 | break; |
145 | -#elif HOST_LONG_BITS == 64 && TARGET_LONG_BITS == 32 | 145 | +#elif HOST_LONG_BITS == 64 && TARGET_ABI_BITS == 32 |
146 | case TYPE_LONG: | 146 | case TYPE_LONG: |
147 | case TYPE_ULONG: | 147 | case TYPE_ULONG: |
148 | case TYPE_PTRVOID: | 148 | case TYPE_PTRVOID: |
thunk.h
@@ -98,7 +98,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host) | @@ -98,7 +98,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host) | ||
98 | if (is_host) { | 98 | if (is_host) { |
99 | return HOST_LONG_SIZE; | 99 | return HOST_LONG_SIZE; |
100 | } else { | 100 | } else { |
101 | - return TARGET_LONG_SIZE; | 101 | + return TARGET_ABI_BITS / 8; |
102 | } | 102 | } |
103 | break; | 103 | break; |
104 | case TYPE_ARRAY: | 104 | case TYPE_ARRAY: |
@@ -135,7 +135,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host) | @@ -135,7 +135,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host) | ||
135 | if (is_host) { | 135 | if (is_host) { |
136 | return HOST_LONG_SIZE; | 136 | return HOST_LONG_SIZE; |
137 | } else { | 137 | } else { |
138 | - return TARGET_LONG_SIZE; | 138 | + return TARGET_ABI_BITS / 8; |
139 | } | 139 | } |
140 | break; | 140 | break; |
141 | case TYPE_ARRAY: | 141 | case TYPE_ARRAY: |