| .text |
| .p2align 4 |
| .globl _start |
| _start: |
| mov ip, sp |
| stmdb sp!, {r11, ip, lr, pc} |
| bl app_func |
| bl lib_func1 |
| bl lib_func2 |
| ldmia sp, {r11, sp, lr} |
| bx lr |
| |
| .p2align 4 |
| .globl app_tfunc_close |
| .type app_tfunc_close,%function |
| .thumb_func |
| .code 16 |
| app_tfunc_close: |
| push {lr} |
| bl lib_func2 |
| pop {pc} |
| bx lr |
| |
| @ We will place the section .far_arm at 0x2100000. |
| .section .far_arm, "xa" |
| |
| .arm |
| .p2align 4 |
| .globl app_func |
| .type app_func,%function |
| app_func: |
| mov ip, sp |
| stmdb sp!, {r11, ip, lr, pc} |
| bl lib_func1 |
| bl lib_func2 |
| ldmia sp, {r11, sp, lr} |
| bx lr |
| |
| .arm |
| .p2align 4 |
| .globl app_func2 |
| .type app_func2,%function |
| app_func2: |
| bx lr |
| |
| @ We will place the section .far_thumb at 0x2200000. |
| .section .far_thumb, "xa" |
| |
| .p2align 4 |
| .globl app_tfunc |
| .type app_tfunc,%function |
| .thumb_func |
| .code 16 |
| app_tfunc: |
| push {lr} |
| bl lib_func2 |
| pop {pc} |
| bx lr |
| |
| .data |
| .long data_obj |