-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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
tools/llvm-exegesis/X86/latency
tests fail with glibc 2.40
#100791
Comments
@llvm/issue-subscribers-tools-llvm-exegesis Author: Michał Górny (mgorny)
After upgrading the system to glibc 2.40, the following tests started failing:
FWICS, in all instances the failure has the same cause:
|
Do you know if this fails with glibc 2.39?
This section from the glibc v2.40 release notes looks suspicous. |
I'm reasonably convinced it doesn't. The previous version I've tested (prior to glibc upgrade) was 72d8c27, and it didn't have any issues. I can retest that commit later, if you wish, but I want to finish with rc1 first, as otherwise I'll probably lose ccache :-). |
It's definitely that 2.40 glibc change causing the breakage. The kernel checks that the size in the unregister call matches the size of the currently registered rseq struct https://github.com/torvalds/linux/blob/2f8c4f5062855a83c1f2dbc012c4fa274ce999d4/kernel/rseq.c#L376 The patch that adjusted this was https://patchwork.sourceware.org/project/glibc/patch/[email protected]/#177251. Looks like I need to figure out if glibc still publicly exposes the actual size of the struct. |
Glibc v2.40 changes the definition of __rseq_size to the usable area of the struct rather than the actual size of the struct to accommodate users trying to figure out what features can be used. This change breaks llvm-exegesis trying to disable rseq as the size registered in the kernel is no longer equal to __rseq_size. This patch adds a check to see if __rseq_size is less than 32 bytes and uses 32 as a value if it is given alignment requirements. Fixes llvm#100791.
Glibc v2.40 changes the definition of __rseq_size to the usable area of the struct rather than the actual size of the struct to accommodate users trying to figure out what features can be used. This change breaks llvm-exegesis trying to disable rseq as the size registered in the kernel is no longer equal to __rseq_size. This patch adds a check to see if __rseq_size is less than 32 bytes and uses 32 as a value if it is given alignment requirements. Fixes llvm#100791.
Glibc v2.40 changes the definition of __rseq_size to the usable area of the struct rather than the actual size of the struct to accommodate users trying to figure out what features can be used. This change breaks llvm-exegesis trying to disable rseq as the size registered in the kernel is no longer equal to __rseq_size. This patch adds a check to see if __rseq_size is less than 32 bytes and uses 32 as a value if it is given alignment requirements. Fixes llvm#100791. (cherry picked from commit 1e8df9e)
Glibc v2.40 changes the definition of __rseq_size to the usable area of the struct rather than the actual size of the struct to accommodate users trying to figure out what features can be used. This change breaks llvm-exegesis trying to disable rseq as the size registered in the kernel is no longer equal to __rseq_size. This patch adds a check to see if __rseq_size is less than 32 bytes and uses 32 as a value if it is given alignment requirements. Fixes llvm#100791. (cherry picked from commit 1e8df9e)
Glibc v2.40 changes the definition of __rseq_size to the usable area of the struct rather than the actual size of the struct to accommodate users trying to figure out what features can be used. This change breaks llvm-exegesis trying to disable rseq as the size registered in the kernel is no longer equal to __rseq_size. This patch adds a check to see if __rseq_size is less than 32 bytes and uses 32 as a value if it is given alignment requirements. Fixes llvm#100791. (cherry picked from commit 1e8df9e)
After upgrading the system to glibc 2.40, the following tests started failing:
FWICS, in all instances the failure has the same cause:
The text was updated successfully, but these errors were encountered: