diff options
author | Doug Gilbert <dgilbert@us.ibm.com> | 2017-01-20 16:38:58 -0600 |
---|---|---|
committer | Doug Gilbert <dgilbert@us.ibm.com> | 2017-03-27 10:29:43 -0500 |
commit | 69f1822fb27cd5fa71e9b737270b99f89a072646 (patch) | |
tree | 6c239dc303439f092c9a99a21c55c8946d27848f | |
parent | 73faedfe2bf8b19ba359fcd5a30d816059f25a02 (diff) | |
download | ppe42-binutils-69f1822fb27cd5fa71e9b737270b99f89a072646.tar.gz ppe42-binutils-69f1822fb27cd5fa71e9b737270b99f89a072646.zip |
TEMP fix for SBE to do long jumps on DD1 hardware - will be removed
-rw-r--r-- | bfd/elf32-ppc.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 5ba91112a0..de4bbea98a 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -6628,11 +6628,17 @@ static const int shared_stub_entry[] = 0x4e800420, /* bctr */ }; +// PPE42 does not have r11 or r12 register available for long jumps +// SBE needs long jumps until DD2 hardware is released so this +// temporary fix uses r10. Compiler just restrict use of r10 (-ffixed-r10) static const int stub_entry[] = { - 0x3d800000, /* lis 12,xxx@ha */ - 0x398c0000, /* addi 12,12,xxx@l */ - 0x7d8903a6, /* mtctr 12 */ + 0x3d400000, /* lis 10,xxx@ha */ + 0x394a0000, /* add 10,10,xxx@l */ + 0x7d4903a6, /* mtctr 10 */ + //0x3d800000, /* lis 12,xxx@ha */ + //0x398c0000, /* addi 12,12,xxx@l */ + //0x7d8903a6, /* mtctr 12 */ 0x4e800420, /* bctr */ }; |