9a9b91c940
It's finally done.. Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2.9 KiB
2.9 KiB
ABI Breaks
This document lists the ABI breaks that were made in each mlibc major version.
Version 5, 6
Numerous ABI breaks. These were not properly logged, and are therefore missing here. Pending update, if one ever comes.
Version 4
- #814:
struct timex'slong int taichanged to the correctint tai, andint __padding[11]got appended to the struct. - #816:
sys_wait4on Linux now correctly returns apid_t, not anintas previously. - #816: All
MS_*macros of thesys/mount.hheader were adjusted to match linux. - #816:
struct epoll_eventnow gets correctly packed onx86_64. - #819:
str(n)dupais now defined as a pure macro, and not as a macro that points to a function. - #828: Linux-specific functions previously included in the posix option in
pthreads.handsched.hare not correctly guarded behind the linux option. - #828: The
CPU_*macros ofsched.hhave been rewritten to resolve to internal mlibc implementations, and are now correctly guarded behind the linux option. - #735:
sched_getcpuandsetnswere previously mistakenly C++-mangled and not declared, which has now been rectified.
Version 3
- #728:
The macros
CMSG_{LEN,SPACE,DATA}were not accounting for padding betweenstruct cmsghdrand it's respective data. This manifested itself as some parts of control data being skipped on platforms wherestruct cmsghdris not divisible byalignof(size_t). - #452: The functions
FD_{CLR,ISSET,SET,ZERO}were renamed to__FD_{CLR,ISSET,SET,ZERO}and replaced by macros to match Wine's assumptions. - #511: Musl's regex engine was added, implementing
regcompandregexec. This required some changes to theregex_tstruct. - #504: In the Linux ABI, a
domainnamemember was added tostruct utsname, which is a glibc extension. - #311: Added all necessary fields in
pthread_attr_trequired for implementing allpthread_attrfunctions. - #652: The ABI of
struct statfsandstruct statvfswas changed to match Linux.socklen_twas also changed fromunsigned longtounsigned int. - #658: In the Linux ABI,
cc_twas changed from anunsigned intto anunsigned char. - #679: The
struct glob_treceived some additional members to bring it up to par with glibc.