home *** CD-ROM | disk | FTP | other *** search
- @ template file for stub header
- @ %L is replaced by the current library name
- @ %V is replaced by the library version
-
- .text
-
- L_%L_jump_table_pp:
- .word ___jump_%L_jump_table_p
-
- .global ___jump_%L_jump
- ___jump_%L_jump:
- stmfd sp !, {lr, pc}
- ldr lr, L_%L_jump_table_pp
- ldr lr, [lr] @ get actual address in shared-lib
- ldr lr, [lr, ip, lsl #2]
- str lr, [sp, #4] @ write new pc for call
- ldmfd sp !,{lr, pc} @ call the lib fn
-
- .data
- .global ___jump_%L_jump_table_p
- ___jump_%L_jump_table_p:
- .stabs "__SHARABLE_CONFLICTS__", 25, 0, 0, ___jump_%L_jump_table_p
- .word 0
- .weak __%L_data__
- .word __%L_data__
-
- .text
-
- L_%L_name:
- .ascii "%n"
- .byte 0
- L_%L_version:
- .ascii "DLL Jump 1.0"
- .byte 0
- .align
- L_%L_lib:
- .word L_%L_name @ char *name
- .word L_%L_version @ char *vers
- .word L_%L_addr @ unsigned long **addr
- .word %V @ unsigned long version
-
- .data
- L_%L_addr:
- .word 0
-
- .stabs "___SHARED_LIBRARIES__", 23, 0, 0, L_%L_lib
-