mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Completed :lower16: / :upper16: support for movw / movt pairs on Darwin.
- Fixed :upper16: fix up routine. It should be shifting down the top 16 bits first. - Added support for Thumb2 :lower16: and :upper16: fix up. - Added :upper16: and :lower16: relocation support to mach-o object writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123424 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -70,9 +70,10 @@ enum Fixups {
|
||||
|
||||
// The next two are for the movt/movw pair
|
||||
// the 16bit imm field are split into imm{15-12} and imm{11-0}
|
||||
// Fixme: We need new ones for Thumb.
|
||||
fixup_arm_movt_hi16, // :upper16:
|
||||
fixup_arm_movw_lo16, // :lower16:
|
||||
fixup_t2_movt_hi16, // :upper16:
|
||||
fixup_t2_movw_lo16, // :lower16:
|
||||
|
||||
// It is possible to create an "immediate" that happens to be pcrel.
|
||||
// movw r0, :lower16:Foo-(Bar+8) and movt r0, :upper16:Foo-(Bar+8)
|
||||
@@ -80,6 +81,8 @@ enum Fixups {
|
||||
// Needed to support ELF::R_ARM_MOVT_PREL and ELF::R_ARM_MOVW_PREL_NC
|
||||
fixup_arm_movt_hi16_pcrel, // :upper16:
|
||||
fixup_arm_movw_lo16_pcrel, // :lower16:
|
||||
fixup_t2_movt_hi16_pcrel, // :upper16:
|
||||
fixup_t2_movw_lo16_pcrel, // :lower16:
|
||||
|
||||
// Marker
|
||||
LastTargetFixupKind,
|
||||
|
Reference in New Issue
Block a user