-
Notifications
You must be signed in to change notification settings - Fork 726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
preload: fix build issue with clang 19 #1572
base: master
Are you sure you want to change the base?
Conversation
That does not seem correct since it broke everything, I don't think attribute overload is the right answer here |
updated. BTW: it seems CI check the first commit only? I mean, if commit B is pushed during checking commit A, CI will continue check commit A, and commit B is ignored? |
That seems like a more believable change, but it probably needs a cmake fragment to detect what the libc is using for it's function signature. |
do you mean to detect glibc & musl? or earlier glibc version which don't have __SOCKADDR_ARG? |
patch submitted to linux-rdma/rdma-core#1572 Signed-off-by: Z. Liu <[email protected]>
2e9521b
to
3d46188
Compare
patch submitted to linux-rdma/rdma-core#1572 Signed-off-by: Z. Liu <[email protected]>
I don't know where this is coming from, but the usual way to handle it is to have cmake detect what is correct and then have the C code match it. |
I suppose the sparse failure means the cmake test is not quite right |
Where can I have the cgcc installed and test? It seems the problem is caused by incorrect preprocess result. |
librdmacm/preload.c:796:9: error: at most one overload for a given name may lack the 'overloadable' attribute librdmacm/preload.c:796:9: warning: no previous prototype for function 'recvfrom' [-Wmissing-prototypes] Signed-off-by: Z. Liu <[email protected]>
Signed-off-by: Z. Liu <[email protected]>
Signed-off-by: Z. Liu <[email protected]>
find the reason finally, buildlib/sparse-include/*/sys-socket.h.diff, why? |
I can't remember what the sparse issue is that required that change, but shouldn't cmake should still be able to detect the difference? Hmm. maybe the order of the header patching prevents that from working. |
My first intution is that we should do the patch first before run cmake which made the check reasonable rather than depend on some hard coded value. update: add ${BUILD_INCLUDE} for __SOCKADDR_ARG test so test and spare run based on same source |
because the sparse check has sys/socket.h patched Signed-off-by: Z. Liu <[email protected]>
patch submitted to linux-rdma/rdma-core#1572 Signed-off-by: Z. Liu <[email protected]>
that makes sense and looks right |
patch submitted to linux-rdma/rdma-core#1572 Signed-off-by: Z. Liu <[email protected]> Closes: #40867 Signed-off-by: Sam James <[email protected]>
librdmacm/preload.c:796:9: error: at most one overload for a given name may lack the 'overloadable' attribute