aboutsummaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/elfload.c1
-rw-r--r--linux-user/ppc64/syscall.h20
-rw-r--r--linux-user/qemu.h1
3 files changed, 12 insertions, 10 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index b87119e..2a43338 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1315,6 +1315,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
interp_load_addr,
(interpreter_type == INTERPRETER_AOUT ? 0 : 1),
info);
+ info->load_addr = reloc_func_desc;
info->start_brk = info->brk = elf_brk;
info->end_code = end_code;
info->start_code = start_code;
diff --git a/linux-user/ppc64/syscall.h b/linux-user/ppc64/syscall.h
index 6920616..c47e58a 100644
--- a/linux-user/ppc64/syscall.h
+++ b/linux-user/ppc64/syscall.h
@@ -65,18 +65,21 @@ struct target_revectored_struct {
#define TARGET_SHMGET 23
#define TARGET_SHMCTL 24
+#if 0 // To make it compile, even if the definition in syscall.c is bugged
struct target_msgbuf {
int mtype;
char mtext[1];
};
+#endif
struct target_ipc_kludge {
unsigned int msgp; /* Really (struct msgbuf *) */
int msgtyp;
};
+#if 0 // To make it compile, even if the definition in syscall.c is bugged
struct target_ipc_perm {
- int key;
+ int __key;
unsigned short uid;
unsigned short gid;
unsigned short cuid;
@@ -84,7 +87,9 @@ struct target_ipc_perm {
unsigned short mode;
unsigned short seq;
};
+#endif
+#if 0 // To make it compile, even if the definition in syscall.c is bugged
struct target_msqid_ds {
struct target_ipc_perm msg_perm;
unsigned int msg_first; /* really struct target_msg* */
@@ -100,7 +105,9 @@ struct target_msqid_ds {
unsigned short msg_lspid;
unsigned short msg_lrpid;
};
+#endif
+#if 0 // To make it compile, even if the definition in syscall.c is bugged
struct target_shmid_ds {
struct target_ipc_perm shm_perm;
int shm_segsz;
@@ -114,17 +121,10 @@ struct target_shmid_ds {
unsigned long *shm_pages;
void *attaches; /* really struct shm_desc * */
};
+#endif
#define TARGET_IPC_RMID 0
#define TARGET_IPC_SET 1
#define TARGET_IPC_STAT 2
-union target_semun {
- int val;
- unsigned int buf; /* really struct semid_ds * */
- unsigned int array; /* really unsigned short * */
- unsigned int __buf; /* really struct seminfo * */
- unsigned int __pad; /* really void* */
-};
-
-#define UNAME_MACHINE "ppc"
+#define UNAME_MACHINE "ppc64"
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 8c03ad1..4b857f3 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -16,6 +16,7 @@
* task_struct fields in the kernel
*/
struct image_info {
+ target_ulong load_addr;
unsigned long start_code;
unsigned long end_code;
unsigned long start_data;