From: Denis Ovsienko <denis@ovsienko.info>
To: musl@lists.openwall.com
Subject: [musl] musl CMSG_NXTHDR() triggers a -Wsign-compare from Clang
Date: Fri, 29 Mar 2024 16:50:47 +0000 [thread overview]
Message-ID: <20240329165047.6bc7a7c9@atlas-11> (raw)
Hello all.
To see how well libpcap compiles with musl libc, I used Alpine Linux
3.19 and noticed that one of the musl headers triggers warnings in
libpcap source, which in development environments tends to use -Werror
because normally it produces no compiler warnings. The warning in musl
libc <sys/socket.h> becomes a warning in libpcap pcap-bt-linux.c and
fails the build. The workaround is not difficult, but fixing it in
upstream would make more sense from my point of view. The problem
reproduces using Clang only.
$ /usr/lib/libc.so
musl libc (x86_64)
Version 1.2.4_git20230717
Dynamic Program Loader
Usage: /usr/lib/libc.so [options] [--] pathname [args]
$ clang --version
Alpine clang version 17.0.5
Target: x86_64-alpine-linux-musl
Thread model: posix
InstalledDir: /usr/bin
Configuration file: /etc/clang17/x86_64-alpine-linux-musl.cfg
$ clang
-fvisibility=hidden -W
-Wall -Wcomma
-Wdocumentation
-Wformat-nonliteral -Wmissing-noreturn -Wmissing-prototypes
-Wmissing-variable-declarations -Wnull-pointer-subtraction
-Wpointer-arith -Wpointer-sign -Wshadow -Wshorten-64-to-32
-Wsign-compare -Wstrict-prototypes -Wundef -Wunreachable-code
-Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-parameter
-Wused-but-marked-unused -fpic -I. -I/usr/include/libnl3
-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DBUILDING_PCAP
-Dpcap_EXPORTS -DHAVE_CONFIG_H -Werror -c ./pcap-bt-linux.c
./pcap-bt-linux.c:373:10: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare]
373 | cmsg = CMSG_NXTHDR(&msg, cmsg);
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [Makefile:87: pcap-bt-linux.o] Error 1
--
Denis Ovsienko
next reply other threads:[~2024-03-29 16:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-29 16:50 Denis Ovsienko [this message]
2024-03-30 2:06 ` Rich Felker
2024-04-01 15:39 ` James Y Knight
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240329165047.6bc7a7c9@atlas-11 \
--to=denis@ovsienko.info \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).