Index: sys/arm/linux/linux.h =================================================================== --- sys/arm/linux/linux.h +++ sys/arm/linux/linux.h @@ -94,7 +94,7 @@ typedef struct { l_int val[2]; -} l_fsid_t; +} __packed l_fsid_t; typedef struct { l_time_t tv_sec; @@ -138,7 +138,7 @@ struct l_rlimit { l_ulong rlim_cur; l_ulong rlim_max; -}; +} __packed; /* mmap options */ #define LINUX_MAP_SHARED 0x0001 @@ -162,7 +162,7 @@ struct l_timespec { l_time_t tv_sec; l_long tv_nsec; -}; +} __packed; struct l_newstat { l_ushort st_dev; @@ -182,7 +182,7 @@ struct l_timespec st_ctim; l_ulong __unused4; l_ulong __unused5; -}; +} __packed; struct l_stat { l_ushort st_dev; @@ -220,7 +220,7 @@ struct l_timespec st_mtim; struct l_timespec st_ctim; l_ulonglong st_ino; -}; +} __packed; struct l_statfs64 { l_int f_type; @@ -233,7 +233,7 @@ l_fsid_t f_fsid; l_int f_namelen; l_int f_spare[6]; -}; +} __packed; #define LINUX_NSIG_WORDS 2 @@ -264,20 +264,20 @@ l_osigset_t lsa_mask; l_ulong lsa_flags; void (*lsa_restorer)(void); -} l_osigaction_t; +} __packed l_osigaction_t; typedef struct { l_handler_t lsa_handler; l_ulong lsa_flags; void (*lsa_restorer)(void); l_sigset_t lsa_mask; -} l_sigaction_t; +} __packed l_sigaction_t; typedef struct { void *ss_sp; l_int ss_flags; l_size_t ss_size; -} l_stack_t; +} __packed l_stack_t; /* The Linux sigcontext, pretty much a standard 386 trapframe. */ struct l_sigcontext { @@ -303,7 +303,7 @@ l_int sc_387; l_int sc_mask; l_int sc_cr2; -}; +} __packed; struct l_ucontext { l_ulong uc_flags; @@ -311,7 +311,7 @@ l_stack_t uc_stack; struct l_sigcontext uc_mcontext; l_sigset_t uc_sigmask; -}; +} __packed; #define LINUX_SI_MAX_SIZE 128 #define LINUX_SI_PAD_SIZE ((LINUX_SI_MAX_SIZE/sizeof(l_int)) - 3) @@ -331,7 +331,7 @@ struct { l_pid_t _pid; l_uid_t _uid; - } _kill; + } __packed _kill; struct { l_timer_t _tid; @@ -339,13 +339,13 @@ char _pad[sizeof(l_uid_t) - sizeof(l_int)]; l_sigval_t _sigval; l_int _sys_private; - } _timer; + } __packed _timer; struct { l_pid_t _pid; /* sender's pid */ l_uid_t _uid; /* sender's uid */ l_sigval_t _sigval; - } _rt; + } __packed _rt; struct { l_pid_t _pid; /* which child */ @@ -353,18 +353,18 @@ l_int _status; /* exit code */ l_clock_t _utime; l_clock_t _stime; - } _sigchld; + } __packed _sigchld; struct { l_uintptr_t _addr; /* Faulting insn/memory ref. */ - } _sigfault; + } __packed _sigfault; struct { l_long _band; /* POLL_IN,POLL_OUT,POLL_MSG */ l_int _fd; - } _sigpoll; + } __packed _sigpoll; } _sifields; -} l_siginfo_t; +} __packed l_siginfo_t; #define lsi_pid _sifields._kill._pid #define lsi_uid _sifields._kill._uid @@ -384,17 +384,17 @@ struct l_fpreg { u_int16_t significand[4]; u_int16_t exponent; -}; +} __packed; struct l_fpxreg { u_int16_t significand[4]; u_int16_t exponent; u_int16_t padding[3]; -}; +} __packed; struct l_xmmreg { u_int32_t element[4]; -}; +} __packed; struct l_fpstate { /* Regular FPU environment */ @@ -416,7 +416,7 @@ struct l_fpxreg _fxsr_st[8]; /* reg data is ignored. */ struct l_xmmreg _xmm[8]; u_int32_t padding[56]; -}; +} __packed; /* * We make the stack look like Linux expects it when calling a signal @@ -430,7 +430,7 @@ struct l_fpstate sf_fpstate; l_uint sf_extramask[LINUX_NSIG_WORDS-1]; l_handler_t sf_handler; -}; +} __packed; struct l_rt_sigframe { l_int sf_sig; @@ -439,7 +439,7 @@ l_siginfo_t sf_si; struct l_ucontext sf_sc; l_handler_t sf_handler; -}; +} __packed; extern struct sysentvec linux_sysvec; @@ -456,7 +456,7 @@ l_ushort *array; struct l_seminfo *__buf; void *__pad; -}; +} __packed; struct l_ipc_perm { l_key_t key; @@ -511,7 +511,7 @@ u_char irq; u_char dma; u_char port; -}; +} __packed; #define LINUX_IFHWADDRLEN 6 #define LINUX_IFNAMSIZ 16 @@ -534,7 +534,7 @@ char ifru_slave[LINUX_IFNAMSIZ]; l_caddr_t ifru_data; } ifr_ifru; -}; +} __packed; #define ifr_name ifr_ifrn.ifrn_name /* Interface name */ #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ @@ -558,7 +558,7 @@ l_int fd; l_short events; l_short revents; -}; +} __packed; struct l_user_desc { l_uint entry_number; Index: sys/arm/linux/linux_ipc64.h =================================================================== --- sys/arm/linux/linux_ipc64.h +++ sys/arm/linux/linux_ipc64.h @@ -54,7 +54,7 @@ l_ushort __pad2; l_ulong __unused1; l_ulong __unused2; -}; +} __packed; /* * The msqid64_ds structure for i386 architecture. @@ -81,7 +81,7 @@ l_pid_t msg_lrpid; /* last receive pid */ l_ulong __unused4; l_ulong __unused5; -}; +} __packed; /* * The semid64_ds structure for i386 architecture. @@ -102,7 +102,7 @@ l_ulong sem_nsems; /* no. of semaphores in array */ l_ulong __unused3; l_ulong __unused4; -}; +} __packed; /* * The shmid64_ds structure for i386 architecture. @@ -128,7 +128,7 @@ l_ulong shm_nattch; /* no. of current attaches */ l_ulong __unused4; l_ulong __unused5; -}; +} __packed; struct l_shminfo64 { l_ulong shmmax; @@ -140,6 +140,6 @@ l_ulong __unused2; l_ulong __unused3; l_ulong __unused4; -}; +} __packed; #endif /* !_ARM_LINUX_LINUX_IPC64_H_ */