Pass multiple same options to rtems_linkflags
Chris Johns
chrisj at rtems.org
Tue Jul 29 03:00:55 UTC 2014
On 29/07/2014 12:15 am, Peng Fan wrote:
>
> We are in need of user documentation for the RTL code.
>
> Hah! what kind of doc do you prefer? doxgen doc in patch format
> or just
> wiki? And the documentation is about how to let user can easily
> integrate RTL into his/her application?
>
>
> Yes, something about how to use the RTL, rtems-ld and what happens
> with applications.
>
> ok. I take time to update the wiki with what I have got.
>
Thanks.
>
>
>
> Currently, I am more concerned about another problem which we talked
> about when I load python rap and you also talked about with sebh.
> lets say that we have a.o b.o c.o and the three .o files references
> symbols in libc.a libm.a librtemscpu.a librtemsbsp.a.
> Because libc.a libm.a librtemscpu.a librtemsbsp.a is not compile
> with
> -mlong-calls, so if the rap file is big enough, RTL target may
> fail to
> load the rap file since reloc entry from libxx.a is near jump,
> but dest
> symbol is in far away.
>
>
> I remember but I am not sure of the detail any more. Does the gnu ld
> perform some sort of fix up when it does a static link ?
>
> Is this is on the sparc target ?
>
> I only test it on ARM realview qemu platform. I did not dig into bfd
> library, but i think ld can handle it using bfd lib.
>
Ah ok ARM.
>
>
> I am hacking it these few days, but still do not have a good idea,
> because it is hard to convert reloc entry in libxxx.a from near
> reference to far reference as '-mlong-call' does.
>
>
> The RSB lets you add target specific options. I know it is hack but
> it might help. Check rtems/config/4.11/rtems-m32c.__bset for an
> example. Maybe you can add the -mlong-call to the sparc build to see
> what happens.
>
> using -mlong-call to compile rtems may only make librtemscpu.a and
> librtemsbsp.a not use relative reloc. To libc.a and libm.a and libgcc.a,
Using the RSB and the options I suggested rebuilds libc etc. It is still
a bad hack.
> it may not help.Hack rtl-host or ld bfd may help ,but may add arch
> sepecific code to rtl-host which is not a good idea.
Yeah it would be nice if rtems-ld could stay neutral but if it cannot
then that is how it is. If we can keep the platform specific parts
separate with a suitable class interface it should be ok.
What would rtems-ld have to do on ARM to fix this problem ?
> I'll try it on sparc sis.
Great.
Chris
More information about the devel
mailing list