summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/cpp/breakpoint-commands/TestCPPBreakpointCommands.py
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@linaro.org>2016-06-16 09:53:46 +0000
committerPeter Smith <peter.smith@linaro.org>2016-06-16 09:53:46 +0000
commitfa4d90d5aa7653aac7b309120b1aea236afcfa1e (patch)
tree67cd6885320539af6982f93976c83a446737620e /lldb/packages/Python/lldbsuite/test/lang/cpp/breakpoint-commands/TestCPPBreakpointCommands.py
parent1d14864bb35b011d1a1cd08a7c3c033ef87bde42 (diff)
downloadbcm5719-llvm-fa4d90d5aa7653aac7b309120b1aea236afcfa1e.tar.gz
bcm5719-llvm-fa4d90d5aa7653aac7b309120b1aea236afcfa1e.zip
Add initial support for Thumb for ARMv7a
Add support for the R_ARM_THM relocations used in the objects present in arm-linux-gnueabihf-gcc. These are: R_ARM_THM_CALL R_ARM_THM_JUMP11 R_ARM_THM_JUMP19 R_ARM_THM_JUMP24 R_ARM_THM_MOVT_ABS R_ARM_THM_MOVW_ABS_NC Interworking between ARM and Thumb is partially supported with BLX. The R_ARM_CALL relocation for ARM instructions and R_ARM_THM_CALL relocation for Thumb instructions will write out a BL or BLX depending on the state of the Target. Assumptions: - Availability of BLX and extended range of Thumb 4-byte Branch instructions. - In relocateOne if (Val & 0x1) == 1 target is Thumb, 0 is ARM. This will hold for objects that comply with the ABI for the ARM architecture. This is sufficient for hello world to work with a recent arm-linux-gnueabihf distribution. Limitations: No interworking for R_ARM_JUMP24, R_ARM_THM_JUMP24, R_ARM_THM_JUMP19 and the deprecated R_ARM_PLT32 and R_ARM_PC24 instructions as these cannot be written out as a BLX and need a state change thunk. No range extension thunks. The R_ARM_JUMP24 and R_ARM_THM_CALL have a range of 16Mb llvm-svn: 272881
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp/breakpoint-commands/TestCPPBreakpointCommands.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud