Add linker support for ELF on ARM
authorBen Gamari <bgamari.foss@gmail.com>
Wed, 12 Oct 2011 04:49:12 +0000 (00:49 -0400)
committerPaolo Capriotti <p.capriotti@gmail.com>
Fri, 30 Mar 2012 10:08:46 +0000 (11:08 +0100)
commitb22501b408ddb0503a06a188b06d9cff9be697cd
tree9904e5262dfbacb3a804afa8fa828be5486cf5bd
parentfe0a45ef706f09a6ced55b457c38c9b96f01711f
Add linker support for ELF on ARM

Add support for ELF objects on ARM to the runtime linker. While the list of
relocation types in the "ELF for the ARM Architecture" specification spans four
pages, we thankfully only see a handful of these in the wild. Thus, at the
moment we only support the following .rel relocation types,

 * R_ARM_ABS32
 * R_ARM_TARGET1
 * R_ARM_REL32
 * R_ARM_CALL
 * R_ARM_JUMP24
 * R_ARM_MOVT_ABS
 * R_ARM_MOVW_ABS_NC
 * R_ARM_THM_CALL
 * R_ARM_THM_JUMP24
 * R_ARM_THM_MOVT_ABS
 * R_ARM_THM_MOVW_ABS_NC
 * R_ARM_THM_JUMP8
 * R_ARM_THM_JUMP11

Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
mk/config.mk.in
rts/Linker.c
rts/LinkerInternals.h