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
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to