[U-Boot] [PATCH v3 2/2] MIPS: Stop building position independent code

Álvaro Fernández Rojas noltari at gmail.com
Wed Aug 2 20:35:24 UTC 2017


Hi Daniel,

El 31/07/2017 a las 12:52, Daniel Schwierzeck escribió:
> 2017-07-30 18:04 GMT+02:00 Álvaro Fernández Rojas <noltari at gmail.com>:
>>
>>
>> El 30/07/2017 a las 16:05, Daniel Schwierzeck escribió:
>>>
>>>
>>> Am 30.07.2017 um 14:27 schrieb Álvaro Fernández Rojas:
>>>> I've been a bit busy lately and I couldn't test this until now, but I have to say that this commit breaks u-boot bmips support :(
>>>>
>>>> BTW, I tried this on several bmips boards (one of them is a Netgear CG3100D, which uses u-boot.bin instead of u-boot.elf)
>>>>
>>>> Do you have any idea on what could be hapenning?
>>>>
>>>
>>> maybe you need to specify "--emit-relocs" too when linking u-boot.elf
>>> from u-boot-elf.o. But u-boot-elf.o should already contain the correct
>>> .reloc section with the updated relocation entries so you don't need to
>>> rerun the reloc-tool on u-boot.elf.
>>>
>>
>> I tried that and it doesn't work.
>> However, I've just found out that if I remove the relocs call it boots again...
>> https://gist.github.com/Noltari/ce3a6a9dda69e74caf7ba33c9c8ade9a
> 
> I wonder how this can work. Even the u-boot.elf now contains
> position-dependent code so that an update of the relocation entries is
> required there too. Without the updated entries, U-Boot can't execute
> after jumping from relocate_code() to board_init_r(). Did you use a
> clean build if U-Boot?
> 
Yeah, I used a clean build of u-boot (upstream with just the patch mentioned before):
https://gist.github.com/Noltari/ce3a6a9dda69e74caf7ba33c9c8ade9a#file-u-boot-log

Regards, Álvaro.


More information about the U-Boot mailing list