On 1/12/24 16:05, Richard Henderson wrote:
>>>> So by default qemu ships the vdso binary. How can one rebuild it ?
>>>>
>>>>   From skimming the build files it seems following ought to do it
>>>>       make update-linux-vdso
>>>>
>>>> with a prior configure cmd like below with PATH pointing to the cross
>>>> compiler.
>>>> ../configure  --target-list=riscv64-linux-user
>>>> --cross-cc-riscv64=riscv64-unknown-linux-gnu-gcc
>>> Yes, that should do it.
>>>
>>>> But it doesn't, I'm sure we are missing something basis here.
>>> Do you get an error message?
>>> Did $(BUILD_DIR)/tests/tcg/riscv64-linux-user/config-target.mak get created 
>>> properly?
>> It was indeed, but invoking make wasn't doing anything.
> Odd.  It Just Works here...
>
> What do you have in the "Cross compilers" section of the configure output?
>
> I would expect '--cross-prefix-riscv64=...' to be a better option that just 
> gcc.  And if 
> you have it installed as "riscv64-linux-gnu-", I would not expect you to need 
> to provide 
> any configure option at all -- it should be auto-detected.

This is really embarrassing but indeed build is working now. I swear
Edwin and I spent over several hours fighting the build and getting nowhere.
I also see how the vdso binary is subsumed into elfload.c so all of that
is good. Sorry for the noise

But not everything was a snafu. The gcc testsuite cleanup* failure issue
remains.

I applied the reg_size fix and that doesn't cure the cleanup failures.
Reverting the riscv vdso change, does fix them.

    2021-07-06 468c1bb5cac9 linux-user/riscv: Add vdso 

Now we just need to debug what in the vdso call frame information is
wrong and any pointers to debug that would be appreciated, even if you
are able to fix it right away ;-)

Thx,
-Vineet


Reply via email to