aix: disable sendmmsg/recvmmsg#30832
Conversation
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+. This issue was discovered when building Node.js with clang ref: nodejs/node#62656 Fixes: openssl#30806
|
Hm ... I don't make any stunts to get this compiled on an AIX 7.2. I use, however, XLC 16.1 for AIX. Maybe the GCC or clang do some things differently, here. I don't have them available. I also don't have xlclang, which would be another test worth trying. If xlclang is also working without stunts I'd say: make it compiler dependent. Do we know someone who has such an environment available? |
|
I've installed xlclang onto one of my development AIX 7.2 machines and ran this simple test: #include <sys/types.h>
#include <sys/socketvar.h>
#include <sys/socket.h>
#include <net/proto_uipc.h>
int main() {
struct mmsghdr msgs[1];
/* This causes implicit declaration warning - no header declares sendmmsg */
sendmmsg(0, msgs, 1, 0);
return 0;
}$ /opt/IBM/xlC/16.1.0/bin/xlclang -o sendmmsg-test.out sendmmsg-test.c
sendmmsg-test.c:10:5: warning: implicit declaration of function 'sendmmsg' is invalid in C99
[-Wimplicit-function-declaration]
sendmmsg(0, msgs, 1, 0);
^
1 warning generated.Using xlc everything works without the warning: $ /opt/IBM/xlC/16.1.0/bin/xlclang --version
IBM XL C/C++ for AIX, V16.1.0 (5725-C72, 5765-J12)
Version: 16.01.0000.0021
$ /opt/IBM/xlC/16.1.0/bin/xlc -o sendmmsg-test.out sendmmsg-test.c
-bash-5.3$ echo $?
0
UPDATEActually if you enable C99 you will see that the imiplict function declaration is occuring! $ /opt/IBM/xlC/16.1.0/bin/xlc -qlanglvl=stdc99 -o sendmmsg-test.out sendmmsg-test.c
"sendmmsg-test.c", line 10.5: 1506-1421 (W) Implicit function declaration for function "sendmmsg".xlc just defaults to an older std than xlclang/clang. It still does the implicit function declaration under the covers!
With that update above looks like all compliers have the implict function declaration going on |
|
Interesting. The doc says that |
|
@mattcaswell Please let me know if you need to me to do anything else to help get this moving forward. |
mattcaswell
left a comment
There was a problem hiding this comment.
I think this can be accepted as a CLA trivial change.
@abmusse - please could you add "CLA: trivial" in a line on its own to the commit description (assuming you agree that it is trivial from a copyright perspective).
Alternatively please submit a CLA:
https://openssl-library.org/policies/cla/
|
@esyr - do you agree this is trivial? |
|
Yes, agree with CLA: trivial. |
Yes I agree this is a trival change! Done added the following to the original comment
|
The bot is insisting on putting "hold: cla required". The reason is that you just edited the original comment rather than changing the actual commit message. Please either update the actual commit message or, alternatively, whoever commits this can fix it during merge if you're not sure how to do that. |
|
24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set. Please review the updates and set the label manually. |
Can I force push the amended commit to include |
I guess so, github doesn't reset reviews on pushes that involve only commit message changes (as if it treats them as insignificant or something…). |
|
Dropped |
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+. This issue was discovered when building Node.js with clang. CLA: trivial Fixes: 52cd2a4 "Enable send-/recvmmsg for AIX >= 7.2 and disable SUPPORT_LOCAL_ADDR." References: nodejs/node#62656 Resolves: #30806 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun Apr 26 12:02:58 2026 (Merged from #30832)
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+. This issue was discovered when building Node.js with clang. CLA: trivial Fixes: 52cd2a4 "Enable send-/recvmmsg for AIX >= 7.2 and disable SUPPORT_LOCAL_ADDR." References: nodejs/node#62656 Resolves: #30806 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun Apr 26 12:02:58 2026 (Merged from #30832) (cherry picked from commit 646aae6)
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+. This issue was discovered when building Node.js with clang. CLA: trivial Fixes: 52cd2a4 "Enable send-/recvmmsg for AIX >= 7.2 and disable SUPPORT_LOCAL_ADDR." References: nodejs/node#62656 Resolves: #30806 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun Apr 26 12:02:58 2026 (Merged from #30832) (cherry picked from commit 646aae6)
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+. This issue was discovered when building Node.js with clang. CLA: trivial Fixes: 52cd2a4 "Enable send-/recvmmsg for AIX >= 7.2 and disable SUPPORT_LOCAL_ADDR." References: nodejs/node#62656 Resolves: #30806 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun Apr 26 12:02:58 2026 (Merged from #30832) (cherry picked from commit 646aae6)
|
Pushed to |
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+. This issue was discovered when building Node.js with clang. CLA: trivial Fixes: 52cd2a4 "Enable send-/recvmmsg for AIX >= 7.2 and disable SUPPORT_LOCAL_ADDR." References: nodejs/node#62656 Resolves: #30806 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun Apr 26 12:02:58 2026 (Merged from #30832) (cherry picked from commit 646aae6)
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+. This issue was discovered when building Node.js with clang. CLA: trivial Fixes: 52cd2a4 "Enable send-/recvmmsg for AIX >= 7.2 and disable SUPPORT_LOCAL_ADDR." References: nodejs/node#62656 Resolves: openssl#30806 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun Apr 26 12:02:58 2026 (Merged from openssl#30832)
AIX header files don't properly expose sendmmsg/recvmmsg function declarations. Disable these functions to avoid implicit declaration errors with clang 16+.
This issue was discovered when building Node.js with clang ref: nodejs/node#62656
CLA: trivial
Fixes: #30806