|
Message-ID: <20130226202112.GH6181@port70.net> Date: Tue, 26 Feb 2013 21:21:12 +0100 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: Fix for fields in utmp see inline comments * Ivan Kanakarakis <ivan.kanak@...il.com> [2013-02-26 12:34:43 +0200]: > Linux suicidemachine 3.7.5-1-ARCH #1 SMP PREEMPT Mon Jan 28 10:03:32 > CET 2013 x86_64 GNU/Linux > ---------------------------------- > --- data/glibc.sizeof 2013-02-26 12:27:48.112569344 +0200 > +++ data/musl.sizeof 2013-02-26 12:27:48.119236080 +0200 > @@ -90,3 +90,3 @@ > float 4 > -float_t 4 > +float_t 8 looks like musl does not respect FLT_EVAL_METHOD on x86_64 this should be fixed > fpos_t 16 > @@ -112,4 +112,4 @@ > int8_t 1 > -int_fast16_t 8 > -int_fast32_t 8 > +int_fast16_t 4 > +int_fast32_t 4 > int_fast64_t 8 these diffs may cause problems > @@ -122,3 +122,3 @@ > intptr_t 8 > -jmp_buf 200 > +jmp_buf 64 > key_t 4 > @@ -181,6 +181,6 @@ > quad_t 8 > -regex_t 64 > +regex_t 56 > register_t 8 > -regmatch_t 8 > -regoff_t 4 > +regmatch_t 16 > +regoff_t 8 > res_state 8 > @@ -196,3 +196,3 @@ > sighandler_t 8 > -siginfo_t 128 > +siginfo_t 136 > sigjmp_buf 200 > @@ -215,3 +215,3 @@ > struct ar_hdr 60 > -struct arpd_request 40 > +struct arpd_request 28 > struct arphdr 8 > @@ -222,3 +222,3 @@ > struct cmsghdr 16 > -struct crypt_data 131232 > +struct crypt_data 260 > struct dirent 280 > @@ -282,3 +282,3 @@ > struct itimerval 32 > -struct lastlog 292 > +struct lastlog 296 > struct lconv 96 > @@ -312,3 +312,3 @@ > struct ns_tsig_key 2072 > -struct ntptimeval 72 > +struct ntptimeval 32 > struct option 32 > @@ -326,4 +326,4 @@ > struct rtentry 120 > -struct rusage 144 > -struct sched_param 4 > +struct rusage 272 > +struct sched_param 48 > struct sembuf 6 > @@ -348,3 +348,3 @@ > struct sockaddr_ll 20 > -struct sockaddr_storage 128 > +struct sockaddr_storage 136 > struct sockaddr_un 110 > @@ -361,3 +361,3 @@ > struct strrecvfd 20 > -struct sysinfo 112 > +struct sysinfo 368 > struct termios 60 > @@ -376,3 +376,3 @@ > struct utimbuf 16 > -struct utmpx 384 > +struct utmpx 400 so we need the glibc hacks to be abi compatible: struct utmpx { short ut_type; pid_t ut_pid; char ut_line[UT_LINESIZE]; char ut_id[4]; char ut_user[32]; char ut_host[256]; struct { short e_termination; short e_exit; } ut_exit; #if 64 bit abi __int32_t ut_session; struct {__int32_t tv_sec; __int32_t tv_usec;} ut_tv; #else long ut_session; struct timeval ut_tv; #endif unsigned ut_addr_v6[4]; char __unused[20]; }; the comment in glibc sysdeps/gnu/bits/utmpx.h is /* The fields ut_session and ut_tv must be the same size when compiled 32- and 64-bit. This allows files and shared memory to be shared between 32- and 64-bit applications. */ > struct utsname 390 > @@ -399,4 +399,4 @@ > uint8_t 1 > -uint_fast16_t 8 > -uint_fast32_t 8 > +uint_fast16_t 4 > +uint_fast32_t 4 > uint_fast64_t 8 > @@ -416,4 +416,4 @@ > wchar_t 4 > -wctrans_t 8 > -wctype_t 8 > +wctrans_t 4 > +wctype_t 4 > wint_t 4 > it seems wctype_t is unconditionally long in glibc
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.