diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-10-06 14:31:51 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-10-06 14:31:51 +0200 |
| commit | ae080c3ad3a15f346b4182fdf2cf50947fde6355 (patch) | |
| tree | aee27634aaefb8455801d232f66164ad07c5fb73 /src | |
| parent | ad0c08c2de2dde9e60fd4537f3e4b53c89a468eb (diff) | |
| download | box64-ae080c3ad3a15f346b4182fdf2cf50947fde6355.tar.gz box64-ae080c3ad3a15f346b4182fdf2cf50947fde6355.zip | |
[BOX32] Forgot a few more x86 structure to properly align
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/libc_net32.c | 4 | ||||
| -rwxr-xr-x | src/libtools/threads32.c | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/libtools/libc_net32.c b/src/libtools/libc_net32.c index 533104d2..73e660e6 100644 --- a/src/libtools/libc_net32.c +++ b/src/libtools/libc_net32.c @@ -160,7 +160,7 @@ struct i386_ifaddrs ptr_t ifa_netmask;// struct sockaddr * ptr_t ifa_ifu; // union of struct sockaddr ptr_t ifa_data; // void * -}; +} __attribute__((packed, aligned(4))); EXPORT int my32_getifaddrs(x64emu_t* emu, void** res) { @@ -197,7 +197,7 @@ struct protoent_32 ptr_t p_name; //char* ptr_t p_aliases;// char** int p_proto; -}; +} __attribute__((packed, aligned(4))); EXPORT void* my32_getprotobyname(x64emu_t* emu, void* name) { diff --git a/src/libtools/threads32.c b/src/libtools/threads32.c index cd365827..ae2a48c7 100755 --- a/src/libtools/threads32.c +++ b/src/libtools/threads32.c @@ -53,7 +53,7 @@ typedef struct threadstack_s { } threadstack_t; // longjmp / setjmp -typedef struct jump_buff_i386_s { +typedef struct __attribute__((packed, aligned(4))) jump_buff_i386_s { uint32_t save_ebx; uint32_t save_esi; uint32_t save_edi; @@ -63,7 +63,7 @@ typedef struct jump_buff_i386_s { } jump_buff_i386_t; // sigset_t should have the same size on 32bits and 64bits machine (64bits) -typedef struct __jmp_buf_tag_s { +typedef struct __attribute__((packed, aligned(4))) __jmp_buf_tag_s { jump_buff_i386_t __jmpbuf; int __mask_was_saved; sigset_t __saved_mask; @@ -75,8 +75,8 @@ typedef struct i386_unwind_buff_s { int __mask_was_saved; } __cancel_jmp_buf[1]; ptr_t __pad[2]; - void* __pad3; -} i386_unwind_buff_t __attribute__((__aligned__)); + ptr_t __pad3; +} __attribute__((packed, aligned(4))) i386_unwind_buff_t; // those are define in thread.c emuthread_t* thread_get_et(); @@ -496,7 +496,7 @@ static void del_cond(void* cond) mutex_unlock(&my_context->mutex_thread); } -typedef struct pthread_cond_2_0_s { +typedef struct __attribute__((packed, aligned(4))) pthread_cond_2_0_s { ptr_t cond; // pthread_cond_t* } pthread_cond_2_0_t; |