-
Notifications
You must be signed in to change notification settings - Fork 15
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
s390 all{mod,yes}config __ashlti3 and __lshrti3 after LLVM commit 1886aad9d03b #1370
Comments
https://gcc.gnu.org/onlinedocs/gccint/Integer-library-routines.html
|
Enabling
After enabling UBSAN, errors around
|
GCC implements 128-bit shifts via inline code using SLDL and related instructions, which LLVM currently does not. I guess we can add support for that to LLVM as well to eliminate this difference. I'll have a look. |
Should now be fixed by https://reviews.llvm.org/D101993 |
Thanks @uweigand @nathanchance and Jonas! confirmed that I can build allyesconfig for s390 :) w/ llvm @ e2d774a3dbbbbff21531289889f6906b22f04cfe |
Thanks for the quick fix @uweigand! Would you be opposed to allowing llvm/llvm-project@1c4cb51 to be added to LLVM 12.0.1? CKI will run into this once this issue is resolved because I see a build failure of this nature with Fedora's config + LLVM 12.0.0 unfortunately, not sure how I missed it (guess that LLVM was not solely to blame). I have verified that it cherry picks clean, passes the tests, and builds the kernel fine on top of |
Hi @nathanchance , I think this would be OK to backport. Please go ahead and open a bug. |
Thanks! Done: https://llvm.org/pr50252 |
Bisect landed on llvm/llvm-project@1886aad
The functions in question:
dr_ste_v0_build_eth_l2_src_or_dst_bit_mask
dr_ste_v0_build_eth_l2_src_or_dst_tag
dr_ste_v1_build_eth_l2_src_or_dst_bit_mask
dr_ste_v1_build_eth_l2_src_or_dst_tag
dr_ste_v1_build_eth_ipv6_l3_l4_tag
dr_ste_v1_build_tnl_mpls_tag
I am guessing that this is somehow related to the
DR_STE_SET_TAG
macro, more specifically theMLX5_SET
macro, since that seems to be common to all of these functions. The kernel does not link against libgcc or compiler-rt. If this is a valid transformation, then we would need to import those routines like commitsfb8722735f50
("arm64: support __int128 on gcc 5+") and9bfe7553fadb
("arm64: Implement __lshrti3 library function").cc @uweigand
The text was updated successfully, but these errors were encountered: