top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Position independent code and symbol table providing shared library in bare metal app

0 votes
264 views

I'm working with a project that needs on air reprogramming on a cortexm3 architecture with gcc 4.8.1, target arm-none-eabi.

The final outcome of the project would have to be a user application that relies on a shared library that I can dynamically update.

For the purpose, I'd need
- the shared library code to be position independent (all addresses and jumps should have to be relative and not absolute[right?]),
- the user application to be able to fetch the required symbols addresses from a table that allow library symbols remapping without the app having to be aware of that.

By fulfilling these requisites, I would have the user application rely on a fixed place symbols table, with a fixed number of symbols, that would target arbitrary locations. when updating the library I would
rewrite the symbols table with the new positions of the library functions in the memory. Relative addressing (position independency) would allow me to place the library at arbitrary position in flash while
preserving jumping instructions coherence.

posted Jun 2, 2013 by anonymous

Looking for an answer?  Promote on:
Facebook Share Button Twitter Share Button LinkedIn Share Button

Similar Questions
0 votes

My static library is present on path /root/xxx/lib and contains libabc.a libefg.a liblmn.a file and my shared library is present in /root/xxx named as libshared.so

I want to link shared library with static library. Please share the gcc command for the same.

0 votes

I have an Ubuntu VDI image (created through Virtual box) in one laptop and want to install Ubuntu on bare metal using this VDI image.
Is it possible ?

+2 votes

Please share a sample program with detail code.

...