Skip to content

Commit 6a29777

Browse files
committed
[compiler-rt][sanitizer] fix msghdr for musl
1 parent 06963fb commit 6a29777

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

+33
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,39 @@ struct __sanitizer_cmsghdr {
476476
int cmsg_level;
477477
int cmsg_type;
478478
};
479+
#elif SANITIZER_MUSL
480+
struct __sanitizer_msghdr {
481+
void *msg_name;
482+
unsigned msg_namelen;
483+
struct __sanitizer_iovec *msg_iov;
484+
# if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN
485+
int __pad1;
486+
# endif
487+
int msg_iovlen;
488+
# if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN
489+
int __pad1;
490+
# endif
491+
void *msg_control;
492+
# if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN
493+
int __pad2;
494+
# endif
495+
unsigned msg_controllen;
496+
# if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN
497+
int __pad2;
498+
# endif
499+
int msg_flags;
500+
};
501+
struct __sanitizer_cmsghdr {
502+
# if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN
503+
int __pad1;
504+
# endif
505+
unsigned cmsg_len;
506+
# if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN
507+
int __pad1;
508+
# endif
509+
int cmsg_level;
510+
int cmsg_type;
511+
};
479512
#else
480513
// In POSIX, int msg_iovlen; socklen_t msg_controllen; socklen_t cmsg_len; but
481514
// many implementations don't conform to the standard.

0 commit comments

Comments
 (0)