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
_______________________________________________
devel mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/devel