Replies: 2 comments
-
I'm kind of confused about this. The line referenced above does not seem to exist in the sample. https://github.com/zephyrproject-rtos/zephyr/blob/main/samples/posix/gettimeofday/src/main.c#L31 Was this is a user-added printf statement?
Ah, I see that was the case. It's possible to keep Additionally, neither https://en.cppreference.com/w/c/types/integer Converting to discussion, this does not appear to be a bug. |
Beta Was this translation helpful? Give feedback.
-
yes, the code is not committed, I just used it as an example. It might be an issue with picolibc. native 64-bit Linux (Ubuntu)
Both match so Zephyr on a 64-bit target platform
From `.local/opt/zephyr-sdk-0.17.0/x86_64-zephyr-elf/picolibc/include/sys/_types.h:227
At the same time Is it ok that Zephyr uses different definitions for Of curse I can always cast |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
There is a build warning when I try to build code which prints a
time_t
timestamp. It only happens when building for a 64-bit targets likeqemu_x86_64
orxenvm
. It does not occur on 32-bit builds.The reason seems to be a mismatch between die variable size of
time_t
(long int) and the format macroPRIi64
(long long int). MaybePRIi64
should be a long int on 64-bit architectures?To Reproduce
This can be reproduced by adding a string format which uses the
PRIi64
macro and atime_t
variable.Expected behavior
time_t
is 8 bytes and should be able to be printed withPRIi64
on every platform.Environment:
main
Beta Was this translation helpful? Give feedback.
All reactions