tizen 2.4 release
[external/binutils.git] / ld / testsuite / ld-arm / group-relocs.s
index b6467f4..7b226c7 100644 (file)
@@ -28,11 +28,14 @@ _start:
 
        @ ALU, SB-relative
 
+       @ Instructions start at .text + 0x18
        add     r0, r0, #:sb_g0:(one_group_needed_alu_sb)
 
-       add     r0, r15, #:sb_g0_nc:(two_groups_needed_alu_sb)
+       @ Instructions start at .text + 0x1c
+       add     r0, r0, #:sb_g0_nc:(two_groups_needed_alu_sb)
        add     r0, r0, #:sb_g1:(two_groups_needed_alu_sb)
 
+       @ Instructions start at .text + 0x24
        add     r0, r0, #:sb_g0_nc:(three_groups_needed_alu_sb)
        add     r0, r0, #:sb_g1_nc:(three_groups_needed_alu_sb)
        add     r0, r0, #:sb_g2:(three_groups_needed_alu_sb)
@@ -40,21 +43,24 @@ _start:
        @ LDR, PC-relative
 
        @ Instructions start at .text + 0x30
-       add     r0, r0, #:pc_g0_nc:(two_groups_needed_ldr_pc)
+       add     r0, pc, #:pc_g0_nc:(two_groups_needed_ldr_pc)
        ldr     r1, [r0, #:pc_g1:(two_groups_needed_ldr_pc + 4)]
 
        @ Instructions start at .text + 0x38
-       add     r0, r0, #:pc_g0_nc:(three_groups_needed_ldr_pc)
+       add     r0, pc, #:pc_g0_nc:(three_groups_needed_ldr_pc)
        add     r0, r0, #:pc_g1_nc:(three_groups_needed_ldr_pc + 4)
        ldr     r1, [r0, #:pc_g2:(three_groups_needed_ldr_pc + 8)]
 
        @ LDR, SB-relative
 
+       @ Instructions start at .text + 0x44
        ldr     r1, [r0, #:sb_g0:(one_group_needed_ldr_sb)]
 
+       @ Instructions start at .text + 0x48
        add     r0, r0, #:sb_g0_nc:(two_groups_needed_ldr_sb)
        ldr     r1, [r0, #:sb_g1:(two_groups_needed_ldr_sb)]
 
+       @ Instructions start at .text + 0x50
        add     r0, r0, #:sb_g0_nc:(three_groups_needed_ldr_sb)
        add     r0, r0, #:sb_g1_nc:(three_groups_needed_ldr_sb)
        ldr     r1, [r0, #:sb_g2:(three_groups_needed_ldr_sb)]
@@ -62,24 +68,27 @@ _start:
        @ LDRS, PC-relative
 
        @ Instructions start at .text + 0x5c
-       ldrd    r2, [r0, #:pc_g0:(one_group_needed_ldrs_pc)]
+       ldrd    r2, [pc, #:pc_g0:(one_group_needed_ldrs_pc)]
 
        @ Instructions start at .text + 0x60
-       add     r0, r0, #:pc_g0_nc:(two_groups_needed_ldrs_pc)
+       add     r0, pc, #:pc_g0_nc:(two_groups_needed_ldrs_pc)
        ldrd    r2, [r0, #:pc_g1:(two_groups_needed_ldrs_pc + 4)]
 
        @ Instructions start at .text + 0x68
-       add     r0, r0, #:pc_g0_nc:(three_groups_needed_ldrs_pc)
+       add     r0, pc, #:pc_g0_nc:(three_groups_needed_ldrs_pc)
        add     r0, r0, #:pc_g1_nc:(three_groups_needed_ldrs_pc + 4)
        ldrd    r2, [r0, #:pc_g2:(three_groups_needed_ldrs_pc + 8)]
 
        @ LDRS, SB-relative
 
+       @ Instructions start at .text + 0x74
        ldrd    r2, [r0, #:sb_g0:(one_group_needed_ldrs_sb)]
 
+       @ Instructions start at .text + 0x78
        add     r0, r0, #:sb_g0_nc:(two_groups_needed_ldrs_sb)
        ldrd    r2, [r0, #:sb_g1:(two_groups_needed_ldrs_sb)]
 
+       @ Instructions start at .text + 0x80
        add     r0, r0, #:sb_g0_nc:(three_groups_needed_ldrs_sb)
        add     r0, r0, #:sb_g1_nc:(three_groups_needed_ldrs_sb)
        ldrd    r2, [r0, #:sb_g2:(three_groups_needed_ldrs_sb)]
@@ -87,24 +96,27 @@ _start:
        @ LDC, PC-relative
 
        @ Instructions start at .text + 0x8c
-       ldc     0, c0, [r0, #:pc_g0:(one_group_needed_ldc_pc)]
+       ldc     0, c0, [pc, #:pc_g0:(one_group_needed_ldc_pc)]
 
        @ Instructions start at .text + 0x90
-       add     r0, r0, #:pc_g0_nc:(two_groups_needed_ldc_pc)
+       add     r0, pc, #:pc_g0_nc:(two_groups_needed_ldc_pc)
        ldc     0, c0, [r0, #:pc_g1:(two_groups_needed_ldc_pc + 4)]
 
        @ Instructions start at .text + 0x98
-       add     r0, r0, #:pc_g0_nc:(three_groups_needed_ldc_pc)
+       add     r0, pc, #:pc_g0_nc:(three_groups_needed_ldc_pc)
        add     r0, r0, #:pc_g1_nc:(three_groups_needed_ldc_pc + 4)
        ldc     0, c0, [r0, #:pc_g2:(three_groups_needed_ldc_pc + 8)]
 
        @ LDC, SB-relative
 
+       @ Instructions start at .text + 0xa4
        ldc     0, c0, [r0, #:sb_g0:(one_group_needed_ldc_sb)]
 
+       @ Instructions start at .text + 0xa8
        add     r0, r0, #:sb_g0_nc:(two_groups_needed_ldc_sb)
        ldc     0, c0, [r0, #:sb_g1:(two_groups_needed_ldc_sb)]
 
+       @ Instructions start at .text + 0xb0
        add     r0, r0, #:sb_g0_nc:(three_groups_needed_ldc_sb)
        add     r0, r0, #:sb_g1_nc:(three_groups_needed_ldc_sb)
        ldc     0, c0, [r0, #:sb_g2:(three_groups_needed_ldc_sb)]
@@ -116,24 +128,33 @@ one_group_needed_ldrs_pc:
 one_group_needed_ldc_pc:
        mov     r0, #0
 
-@ We will place the section zero at 0x0.
+@ We will place the section .data at 0x03000000
 
-       .section zero, "x"
+       .data
 
+       .word 0, 0, 0
 one_group_needed_alu_sb:
 one_group_needed_ldr_sb:
 one_group_needed_ldrs_sb:
 one_group_needed_ldc_sb:
-       mov     r0, #0
+       .word 1                         @ Offset 0xc
+       .fill 0xeef0 - 16, 1, 0
+two_groups_needed_alu_sb:
+two_groups_needed_ldr_sb:
+two_groups_needed_ldrs_sb:
+two_groups_needed_ldc_sb:
+       .word 2                         @ Offset 0xeef0
+       .fill 0xffeef0 - 0xeef0 - 4, 1, 0
+three_groups_needed_alu_sb:
+three_groups_needed_ldr_sb:
+three_groups_needed_ldrs_sb:
+three_groups_needed_ldc_sb:
+       .word 3                         @ Offset 0xffeef0
 
 @ We will place the section alpha at 0xeef0.
 
        .section alpha, "x"
 
-two_groups_needed_alu_sb:
-two_groups_needed_ldr_sb:
-two_groups_needed_ldrs_sb:
-two_groups_needed_ldc_sb:
 two_groups_needed_alu_pc:
 two_groups_needed_ldr_pc:
 two_groups_needed_ldrs_pc:
@@ -144,10 +165,6 @@ two_groups_needed_ldc_pc:
 
        .section beta, "x"
 
-three_groups_needed_alu_sb:
-three_groups_needed_ldr_sb:
-three_groups_needed_ldrs_sb:
-three_groups_needed_ldc_sb:
 three_groups_needed_alu_pc:
 three_groups_needed_ldr_pc:
 three_groups_needed_ldrs_pc: