From 155d87d738e89224bf936cd1c12e48fe4c09252d Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Wed, 22 Apr 2009 14:01:31 +0000 Subject: 2009-04-22 Christophe Lyon PR9743 bfd/ * elf32-arm.c (arm_type_of_stub): Handle R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations. (elf32_arm_size_stubs): Likewise. (record_thumb_to_arm_glue): Deleted unused function. (bfd_elf32_arm_process_before_allocation): No longer handle R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations here. (elf32_arm_final_link_relocate): Handle R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations. testsuite/ * ld-arm/arm-call.d: Update expected result. * ld-arm/arm-pic-veneer.d: Likewise. * ld-arm/thumb2-b-interwork.d: Likewise. --- ld/testsuite/ChangeLog | 7 +++++++ ld/testsuite/ld-arm/arm-call.d | 22 ++++++++++++---------- ld/testsuite/ld-arm/arm-pic-veneer.d | 2 +- ld/testsuite/ld-arm/thumb2-b-interwork.d | 3 --- 4 files changed, 20 insertions(+), 14 deletions(-) (limited to 'ld') diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 4e893a7..aacfffe 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-04-22 Christophe Lyon + + PR9743 + * ld-arm/arm-call.d: Update expected result. + * ld-arm/arm-pic-veneer.d: Likewise. + * ld-arm/thumb2-b-interwork.d: Likewise. + 2009-04-22 Nathan Sidwell * ld-scripts/rgn-at1.d: Cope with larger padding on sections. diff --git a/ld/testsuite/ld-arm/arm-call.d b/ld/testsuite/ld-arm/arm-call.d index 34c31d9..f4a9d78 100644 --- a/ld/testsuite/ld-arm/arm-call.d +++ b/ld/testsuite/ld-arm/arm-call.d @@ -10,10 +10,10 @@ Disassembly of section .text: 800c: fb00000d blx 804a 8010: fa00000a blx 8040 8014: fb000009 blx 8042 - 8018: ea00000f b 805c <__t1_from_arm> - 801c: ea000010 b 8064 <__t2_from_arm> - 8020: 1b00000d blne 805c <__t1_from_arm> - 8024: 1b00000e blne 8064 <__t2_from_arm> + 8018: ea000012 b 8068 <__t1_from_arm> + 801c: ea00000f b 8060 <__t2_from_arm> + 8020: 1b000010 blne 8068 <__t1_from_arm> + 8024: 1b00000d blne 8060 <__t2_from_arm> 8028: 1b000003 blne 803c 802c: eb000002 bl 803c 8030: faffffff blx 8034 @@ -46,11 +46,13 @@ Disassembly of section .text: 8050: f7ff fff1 bl 8036 8054: f7ff efd4 blx 8000 <_start> 8058: f7ff efd2 blx 8000 <_start> + 805c: 0000 lsls r0, r0, #0 + ... -0000805c <__t1_from_arm>: - 805c: e51ff004 ldr pc, \[pc, #-4\] ; 8060 <__t1_from_arm\+0x4> - 8060: 00008041 .word 0x00008041 +00008060 <__t2_from_arm>: + 8060: e51ff004 ldr pc, \[pc, #-4\] ; 8064 <__t2_from_arm\+0x4> + 8064: 00008043 .word 0x00008043 -00008064 <__t2_from_arm>: - 8064: e51ff004 ldr pc, \[pc, #-4\] ; 8068 <__t2_from_arm\+0x4> - 8068: 00008043 .word 0x00008043 +00008068 <__t1_from_arm>: + 8068: e51ff004 ldr pc, \[pc, #-4\] ; 806c <__t1_from_arm\+0x4> + 806c: 00008041 .word 0x00008041 diff --git a/ld/testsuite/ld-arm/arm-pic-veneer.d b/ld/testsuite/ld-arm/arm-pic-veneer.d index 97eeb52..d3a8cf6 100644 --- a/ld/testsuite/ld-arm/arm-pic-veneer.d +++ b/ld/testsuite/ld-arm/arm-pic-veneer.d @@ -12,6 +12,6 @@ Disassembly of section .text: 00008008 <__foo_from_arm>: 8008: e59fc004 ldr ip, \[pc, #4\] ; 8014 <__foo_from_arm\+0xc> - 800c: e08cc00f add ip, ip, pc + 800c: e08fc00c add ip, pc, ip 8010: e12fff1c bx ip 8014: fffffff1 .word 0xfffffff1 diff --git a/ld/testsuite/ld-arm/thumb2-b-interwork.d b/ld/testsuite/ld-arm/thumb2-b-interwork.d index 00bc4d4..b2f9a01 100644 --- a/ld/testsuite/ld-arm/thumb2-b-interwork.d +++ b/ld/testsuite/ld-arm/thumb2-b-interwork.d @@ -8,12 +8,9 @@ Disassembly of section .text: 00008004 : 8004: e12fff1e bx lr -Disassembly of section .glue_7t: 00008008 <__bar_from_thumb>: 8008: 4778 bx pc 800a: 46c0 nop \(mov r8, r8\) - -0000800c <__bar_change_to_arm>: 800c: eafffffc b 8004 -- cgit v1.1