[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