This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] SymbianOS Arm executables


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]