[U-Boot] [RFC PATCH] dm: Add support for all targets which requires MANUAL_RELOC

Michal Simek
2015-02-03T09:11:39Z

Hi Simon,

On 02/03/2015 03:02 AM, Masahiro Yamada wrote:
> Hi.
>
>
> On Mon, 2 Feb 2015 16:57:15 -0700
> Simon Glass <sjg@chromium.org> wrote:
>
>> Hi Michal,
>>
>> On 2 February 2015 at 08:31, Michal Simek <michal.simek@xilinx.com> wrote:
>>> Targets with CONFIG_NEEDS_MANUAL_RELOC do not use REL/RELA
>>> relocation (mostly only GOT) where functions aray are not
>>> updated. This patch is fixing function pointers for DM core
>>> and serial-uclass to ensure that relocated functions are called.
>>>
>>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>>> ---
>>>
>>> drivers/core/root.c | 64 ++++++++++++++++++++++++++++++++++++++++++
>>> drivers/serial/serial-uclass.c | 16 +++++++++++
>>> 2 files changed, 80 insertions(+)
>>
>> How long will we have to carry this patch? It seems that if we add any
>> new driver we will have to add more code like this?
>
>
>
> This patch is unfortunate.
> Can we discontinue CONFIG_NEEDS_MANUAL_RELOC some day?

This patch (or similar one) has to be alive when we have platform
which requires CONFIG_NEEDS_MANUAL_RELOC for full u-boot.
There is an option to move to REL/RELA but the question is if
all platforms have it/support it. Unfortunately I think that
it will be in the tree for a long time.

>
> If we use SPL, we do not have to relocate code, I think.

SPL doesn't have relocation that's why this code is not used there.

Thanks,
Michal