From 21e807fadb8a16608875551fd313cb471ab315ce Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Fri, 11 Dec 2009 09:04:46 -0800 Subject: [PATCH] linux-user: commonify definitions of target typedefs There's no sense in separately declaring target_{elf_greg,uid,gid,pid}_t for every architecture. Just declare them once with appropriate USE_UID16 handling. Signed-off-by: Nathan Froyd Signed-off-by: Aurelien Jarno --- linux-user/elfload.c | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 987354192a..7e591aa235 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -97,6 +97,16 @@ enum { #define ELIBBAD 80 #endif +typedef target_ulong target_elf_greg_t; +#ifdef USE_UID16 +typedef uint16_t target_uid_t; +typedef uint16_t target_gid_t; +#else +typedef uint32_t target_uid_t; +typedef uint32_t target_gid_t; +#endif +typedef int32_t target_pid_t; + #ifdef TARGET_I386 #define ELF_PLATFORM get_elf_platform() @@ -134,11 +144,6 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i regs->rip = infop->entry; } -typedef target_ulong target_elf_greg_t; -typedef uint32_t target_uid_t; -typedef uint32_t target_gid_t; -typedef int32_t target_pid_t; - #define ELF_NREG 27 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -211,11 +216,6 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i regs->edx = 0; } -typedef target_ulong target_elf_greg_t; -typedef uint16_t target_uid_t; -typedef uint16_t target_gid_t; -typedef int32_t target_pid_t; - #define ELF_NREG 17 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -286,11 +286,6 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i regs->ARM_r10 = infop->start_data; } -typedef uint32_t target_elf_greg_t; -typedef uint16_t target_uid_t; -typedef uint16_t target_gid_t; -typedef int32_t target_pid_t; - #define ELF_NREG 18 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -1776,13 +1771,6 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, * #define ELF_NREG * typedef taret_elf_greg_t target_elf_gregset_t[ELF_NREG]; * - * Then define following types to match target types. Actual types can - * be found from linux kernel (arch//include/asm/posix_types.h): - * - * typedef target_uid_t; - * typedef target_gid_t; - * typedef target_pid_t; - * * Last step is to implement target specific function that copies registers * from given cpu into just specified register set. Prototype is: *