-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Fix spurious unused function warning when compiling crc32 with clang and ifunc support #53897
Conversation
…and ifunc support Clang incorrectly warns functions only used through ifuncs are unused, llvm/llvm-project#63957.
Would suggest caution before considering this PR, given the ifunc-based backdoor also noted in the mentioned PR. More info: https://www.openwall.com/lists/oss-security/2024/03/29/4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fine. I have been meaning to turn off this warning for a while myself
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Though come to think of it, doesn't clang permit ifunc now, so we can also enable the feature attributes instead now?
Not sure what couponing attributes are, so don't think I can help much in that regard. |
Also suspicious that the LLVM issue is by the xz backdoor person, but the change LGTM |
Wording seems to have been some autocorrect issue (now fixed above). Looks like MaskRay is fixing this upstream now in clang, so we may not need this (or we might be able to replace this with the UNUSED macro that we have used elsewhere to override the warning) |
Presumably, the fix to clang won't get backported so it would be nice to fix this. |
…and ifunc support (JuliaLang#53897) Clang incorrectly warns functions only used through ifuncs are unused, llvm/llvm-project#63957.
Clang incorrectly warns functions only used through ifuncs are unused, llvm/llvm-project#63957.