Re: [PATCH 5/5] RISC-V: Use fixed width integer types for 32-bit compatible

From: Andreas Schwab
Date: Thu Jun 21 2018 - 06:21:32 EST


On Jun 20 2018, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:

>> static int apply_r_riscv_32_rela(struct module *me, u32 *location, Elf_Addr v)
>> {
>> if (v != (u32)v) {
>> - pr_err("%s: value %016llx out of range for 32-bit field\n",
>> + pr_err("%s: value %016" PRIxX "out of range for 32-bit field\n",
>> me->name, v);
>> return -EINVAL;
>
> But in general Linux uXX and sXX values are always the same underlying
> fundamental C type. What is the mismatch here?

The mismatch is that v is Elf_Addr, not u32.

Andreas.

--
Andreas Schwab, SUSE Labs, schwab@xxxxxxx
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."