[patch] SymbianOS Arm executables

Richard Earnshaw rearnsha@gcc.gnu.org
Thu Feb 10 15:58:00 GMT 2005


On Wed, 2005-02-09 at 20:35, Paul Brook wrote:
> arm-*-symbianelf executables are relocatable. This has a few implications:
> 
> - We need to write out absolute relocations, like we do with shared libraries.
> - These need to be against a symbols because the RO and RW segments are 
> relocated independently. In most cases we use the section symbol.
> - Imported data is addressed directly (with absolute relocations).
> 
> Most of the changes are arm-specific, however I did need to add a new 
> common-code flag to allow creation of the local dynamic symbols.
> 
> Tested on i686-linux, arm-none-eabi and arm-none-symbianelf.
> Ok?
> 
> Paul
> 
> This depends on a previous patch for correct symbol ordering:
> http://sourceware.org/ml/binutils/2005-02/msg00169.html

I'm uncomfortable about the way globals->symbian_p is getting scattered
throughout the entire linking process.  I think we really need to try
and distill that variable into the effects it has on linking (this would
then make porting the linker to platforms with similar properties much
less painful).

In this case you've already identified the abstract property: the
executable is relocated at link time.  Most of your used of ->symbian_p
should therefore be ->exec_reloc_p.  There should then be exactly one
place where symbian_p is tested, and that is then used to set the
exec_reloc_p property.

R.



More information about the Binutils mailing list