[GSOC] Dynamic object file loading status

Joel Sherrill joel.sherrill at OARcorp.com
Sat Jul 4 09:59:58 CDT 2009

JiSheng Zhang wrote:
> Hi all,
> My coding started on 15 June. It's too late. I hope I can catch up
> with other students.
If you are debugging code, then you are probably on track. :)
> As for the project status:
> I have implemented a loader under Linux. The code is based on
> bionic(android libc) linker, but the object file loading and symbol
> resolving and  relocation will be rewritten. It seems  that object
> file loading and parsing, symbol resolving and relocation works fine.
> But the object is entirely readed into memory,  we only need to load
> sections such as .text .data .symtab etc. So I rewrite some code of
> the loader, now the resolving and relocation doesn't work!
> (Segmentation fault). The reason is that before call update_symbols I
> need to update the section table first. This will be fixed this week.
> All the code is attached.
Holiday weekend in the States.  Hopefully I will get to
try it next week when it works.
> Limitation:only support x86 now, need to implement relocation on other arch.
Random comments:

+ What is the license for Android libc? I recall BSD.  Is this right?

+ What version did you use?  Isolate RTEMS specific
    changes and try to get them as ifdef's into their code
    base.  Document procedure for getting their source and
    updating it.  Getting updates from third party source like
    this is a fact of life and you need to ensure that it is easy to
    do so in the future.

+ The procedure for users creating and loading their own
    modules must be very clearly documented.
> Some Q&A:
> Why I choose implement a loader under Linux? Because the debug is
> easy, once the loader under Linux completed, it can be easily ported
> to rtems.
I think many of us have done the same thing.  Many of the
posix tests I wrote for RTEMS were developed under Linux
first. :)

> Why git? I often have no internet access. So code.google.com is not an
> idea project hosting place. I choose github.
code.google.com doesn't have to be your source code control
site.  But you have to drop code their in the end to get
Google to pay you. So putting the intermediate and final
drops on their is a good thing.
> Comments are welcomed.
> Thanks,
> JiSheng

More information about the rtems-users mailing list