Skip to content
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

tests: kernel: timer: jitter_drift: Fix FPU exception with picolibc #64337

Closed
wants to merge 1 commit into from

Conversation

golowanow
Copy link
Member

Fix 'Floating point unit device not available' exception at test_jitter_drift_timer_period when picolibc is default libc implementation.

fixes #64333

Fix 'Floating point unit device not available' exception at
test_jitter_drift_timer_period when picolibc is default libc
implementation.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
@golowanow golowanow added the bug The issue is a bug, or the PR is fixing a bug label Oct 24, 2023
@ceolin
Copy link
Member

ceolin commented Oct 24, 2023

I don't think that is the proper fix. If the C library needs it, the C library should be the one enabling it.
Also, this test used to work with soft floating point ...

@keith-packard
Copy link
Collaborator

Yup, this isn't needed; the bug should also be fixed by #62882

@golowanow
Copy link
Member Author

I don't think that is the proper fix. If the C library needs it, the C library should be the one enabling it. Also, this test used to work with soft floating point ...

C library might be optimized for code size/speed vs. the test might need always the same floating point calculation result precisely.

@keith-packard
Copy link
Collaborator

C library might be optimized for code size/speed vs. the test might need always the same floating point calculation result precisely.

Not in this case; picolibc uses exactly the same code on x86 for the computation. The exception occurred because it was trying to check the rounding mode and that code was (incorrectly) using FPU registers on x86 because that code hadn't been disabled when building without an FPU as all picolibc test environments for x86 had the FPU enabled until Zephyr came along.

@golowanow golowanow closed this Nov 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Kernel bug The issue is a bug, or the PR is fixing a bug
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

picolibc: FPU issue on x86 with timer_behavior test
5 participants