[patch] SymbianOS Arm executables

Paul Brook paul@codesourcery.com
Wed Feb 9 23:38:00 GMT 2005


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

2005-02-09  Paul Brook  <paul@codesourcery.com>

 * elf-bfd.h (struct elf_link_hash_table): Add keep_local_dynsyms.
 * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
 * elflink.c (bfd_elf_link_record_dynamic_symbol): Allow creation of
 local dynamic symbols.
 (bfd_elf_record_link_assignment): Allow creation of dynamic section
 symbols in ecxecutables.
 (_bfd_elf_link_renumber_dynsyms): Ditto.
 (bfd_elf_final_link): Ditto.
 * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
 relocations into SymbianOS executables.
 (elf32_arm_check_relocs): Crate dynamic sections for SymbianOS
 executables.  Copy absolute relocations into SymbianOS executables.
 (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
 in symbian objects.
 (allocate_dynrelocs): Copy relocations for SymbianOS executables.
 Output dynamic symbols for symbols defined in linker scripts.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.symbian_exec
Type: text/x-diff
Size: 6314 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20050209/82668a16/attachment.bin>


More information about the Binutils mailing list