qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 2/7] linux-user: commonify definitions of target typ


From: Nathan Froyd
Subject: [Qemu-devel] [PATCH 2/7] linux-user: commonify definitions of target typedefs
Date: Fri, 11 Dec 2009 09:04:46 -0800

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 <address@hidden>
---
 linux-user/elfload.c |   32 ++++++++++----------------------
 1 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 76eb031..024dcc2 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];
 
@@ -1779,13 +1774,6 @@ int load_elf_binary(struct linux_binprm * bprm, struct 
target_pt_regs * regs,
  * #define ELF_NREG <number of registers>
  * 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/<ARCH>/include/asm/posix_types.h):
- *
- * typedef <target_uid_type> target_uid_t;
- * typedef <target_gid_type> target_gid_t;
- * typedef <target_pid_type> target_pid_t;
- *
  * Last step is to implement target specific function that copies registers
  * from given cpu into just specified register set.  Prototype is:
  *
-- 
1.6.3.2





reply via email to

[Prev in Thread] Current Thread [Next in Thread]