On 9/18/21 3:35 PM, Dongliang Mu wrote:
Hello everyone, I encounter one object with __uint128_t type in the following code. But I am not sure how to print the content of __uint128_t. struct user_fpsimd_state { __uint128_t vregs[32]; __u32 fpsr; __u32 fpcr; __u32 __reserved[2]; }; At first, I would like to use: pr_alert("0x%lx %lx\n", i, (uint64_t)(fpreg.vregs[i] >> 64), (uint64_t)(fpreg.vregs[i])); However, gcc reports error with "-Werror" enabled: In function ‘print_fpregs_in_coredump’: error: iteration 32 invokes undefined behavior [-Werror=aggressive-loop-optimizations] 89 | pr_alert("V%d 0x%lx %lx\n", i, (uint64_t)(fpreg.vregs[i] >> 64), Any idea to eliminate this error? -- My best regards to you. No System Is Safe! Dongliang Mu
Hi I do like this example: https://lwn.net/Articles/745261/ ... pr_err("%llx%llx\n", (u64) (val >> 64), (u64) val); pr_err("%llx%llx\n", (u64) (v >> 64), (u64) v); ... But I have not tried it. Bye Philipp _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies