diff options
author | Chris Johns <chrisj@rtems.org> | 2012-07-31 15:17:21 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2012-07-31 15:17:21 +1000 |
commit | 99bdd39271de093920b34d217a5a4b7f0a6f2e80 (patch) | |
tree | f73c646e5eb6173b63dacc4097794d5c8d1af274 /rtl-mdreloc-i386.c | |
parent | 328fbd26ed0213af7e328de105921f4eb7927e55 (diff) |
Add ARM support. Cleaned up the waf support.
Adding ARM support has changed the architecture relocation interface.
All architectures updated.
Cleaned up the RTEMS waf support to only look for tools when the arch
is being processed.
Add filter support to allow a user to make sure a BSP is present or
to remove BSPs that will not build.
Added the Init support because ARM BSPs do not contain the support.
Diffstat (limited to 'rtl-mdreloc-i386.c')
-rw-r--r-- | rtl-mdreloc-i386.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/rtl-mdreloc-i386.c b/rtl-mdreloc-i386.c index db46cb3..309498f 100644 --- a/rtl-mdreloc-i386.c +++ b/rtl-mdreloc-i386.c @@ -23,20 +23,24 @@ rtems_rtl_elf_rel_resolve_sym (Elf_Word type) } bool -rtems_rtl_elf_relocate_rela (rtems_rtl_obj_t* obj, - const Elf_Rela* rela, - rtems_rtl_obj_sect_t* sect, - Elf_Word symvalue) +rtems_rtl_elf_relocate_rel (const rtems_rtl_obj_t* obj, + const Elf_Rel* rel, + const rtems_rtl_obj_sect_t* sect, + const char* symname, + const Elf_Byte syminfo, + const Elf_Word symvalue) { - printf ("rtl: rela record not supported; please report\n"); + rtems_rtl_set_error (EINVAL, "rela type record not supported"); return false; } bool -rtems_rtl_elf_relocate_rel (rtems_rtl_obj_t* obj, - const Elf_Rel* rel, - rtems_rtl_obj_sect_t* sect, - Elf_Word symvalue) +rtems_rtl_elf_relocate_rela (const rtems_rtl_obj_t* obj, + const Elf_Rela* rel, + const rtems_rtl_obj_sect_t* sect, + const char* symname, + const Elf_Byte syminfo, + const Elf_Word symvalue) { Elf_Addr target = 0; Elf_Addr* where; @@ -94,6 +98,6 @@ rtems_rtl_elf_relocate_rel (rtems_rtl_obj_t* obj, sect->name, (uint32_t) ELF_R_TYPE(rel->r_info)); return false; } - + return true; } |