Index: src/forwarding-amd64-elf.S ================================================================== --- src/forwarding-amd64-elf.S +++ src/forwarding-amd64-elf.S @@ -71,16 +71,18 @@ movq %rbp, %rsp popq %rbp jmp *%r11 +.type of_forward, %function +.size of_forward, .-of_forward init: leaq module(%rip), %rdi jmp __objc_exec_class@PLT -.section .init_array +.section .ctors, "a", %progbits .quad init .section .rodata str_forwardingTargetForSelector_: .asciz "forwardingTargetForSelector:" @@ -95,11 +97,8 @@ .long 0 .quad 0 module: .quad 8, 32, 0, symtab -.type of_forward, %function -.size of_forward, init-of_forward - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif Index: src/forwarding-arm-elf.S ================================================================== --- src/forwarding-arm-elf.S +++ src/forwarding-arm-elf.S @@ -40,10 +40,12 @@ mov r12, r0 fldmfdd sp!, {d0-d7} ldmfd sp!, {r0-r3, lr} bx r12 +.type of_forward, %function +.size of_forward, .-of_forward init: ldr r0, module_indirect_L1 .L1: add r0, pc @@ -52,11 +54,11 @@ sel_forwardingTargetForSelector__indirect_L0: .long sel_forwardingTargetForSelector_-(.L0+8) module_indirect_L1: .long module-(.L1+8) -.section .init_array +.section .ctors, "a", %progbits .long init .section .rodata str_forwardingTargetForSelector_: .asciz "forwardingTargetForSelector:" @@ -71,11 +73,8 @@ .long 0 .long 0 module: .long 8, 16, 0, symtab -.type of_forward, %function -.size of_forward, init-of_forward - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif Index: src/forwarding-x86-elf.S ================================================================== --- src/forwarding-x86-elf.S +++ src/forwarding-x86-elf.S @@ -52,10 +52,12 @@ addl $20, %esp popl %ebx popl %ebp jmp *%eax +.type of_forward, %function +.size of_forward, .-of_forward init: pushl %ebp movl %esp, %ebp @@ -77,11 +79,11 @@ get_eip: movl (%esp), %ebx ret -.section .init_array +.section .ctors, "a", %progbits .long init .section .rodata str_forwardingTargetForSelector_: .asciz "forwardingTargetForSelector:" @@ -96,11 +98,8 @@ .long 0 .long 0 module: .long 8, 16, 0, symtab -.type of_forward, %function -.size of_forward, init-of_forward - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif Index: src/runtime/lookup-amd64-elf.S ================================================================== --- src/runtime/lookup-amd64-elf.S +++ src/runtime/lookup-amd64-elf.S @@ -41,10 +41,12 @@ testq %rax, %rax jz objc_not_found_handler@PLT ret +.type objc_msg_lookup, %function +.size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: movq (%rdi), %rax testq %rax, %rax jz ret_nil @@ -51,22 +53,19 @@ movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax jmp lookup +.type objc_msg_lookup_super, %function +.size objc_msg_lookup_super, .-objc_msg_lookup_super ret_nil: leaq nil_method(%rip), %rax ret nil_method: movq %rdi, %rax ret -.type objc_msg_lookup, %function -.type objc_msg_lookup_super, %function -.size objc_msg_lookup, objc_msg_lookup_super-objc_msg_lookup -.size objc_msg_lookup_super, ret_nil-objc_msg_lookup_super - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif Index: src/runtime/lookup-arm-elf.S ================================================================== --- src/runtime/lookup-arm-elf.S +++ src/runtime/lookup-arm-elf.S @@ -40,10 +40,12 @@ cmp r2, #0 beq objc_not_found_handler(PLT) mov r0, r2 bx lr +.type objc_msg_lookup, %function +.size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: ldr r2, [r0, #0] cmp r0, #0 beq ret_nil @@ -50,22 +52,19 @@ ldr r2, [r0, #4] ldr r2, [r2, #32] b lookup +.type objc_msg_lookup_super, %function +.size objc_msg_lookup_super, .-objc_msg_lookup_super ret_nil: adr r0, nil_method bx lr nil_method: mov r0, #0 bx lr -.type objc_msg_lookup, %function -.type objc_msg_lookup_super, %function -.size objc_msg_lookup, objc_msg_lookup_super-objc_msg_lookup -.size objc_msg_lookup_super, ret_nil-objc_msg_lookup_super - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif Index: src/runtime/lookup-mips-elf.S ================================================================== --- src/runtime/lookup-mips-elf.S +++ src/runtime/lookup-mips-elf.S @@ -60,19 +60,23 @@ beqz $t0, objc_not_found_handler move $v0, $t0 j $ra +.type objc_msg_lookup, %function +.size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: lw $t0, 0($a0) beqz $t0, ret_nil lw $t0, 4($a0) lw $t0, 32($t0) b lookup +.type objc_msg_lookup_super, %function +.size objc_msg_lookup_super, .-objc_msg_lookup_super ret_nil: lui $v0, %hi(nil_method) addiu $v0, %lo(nil_method) j $ra @@ -79,13 +83,8 @@ nil_method: move $v0, $zero j $ra -.type objc_msg_lookup, %function -.type objc_msg_lookup_super, %function -.size objc_msg_lookup, objc_msg_lookup_super-objc_msg_lookup -.size objc_msg_lookup_super, ret_nil-objc_msg_lookup_super - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif Index: src/runtime/lookup-ppc-elf.S ================================================================== --- src/runtime/lookup-ppc-elf.S +++ src/runtime/lookup-ppc-elf.S @@ -49,10 +49,12 @@ cmpwi %r5, 0 beq- forward mr %r3, %r5 blr +.type objc_msg_lookup, %function +.size objc_msg_lookup, .-objc_msg_lookup forward: b objc_not_found_handler@plt objc_msg_lookup_super: @@ -62,10 +64,12 @@ lwz %r5, 4(%r3) lwz %r5, 32(%r5) b lookup +.type objc_msg_lookup_super, %function +.size objc_msg_lookup_super, .-objc_msg_lookup_super ret_nil: mflr %r0 bl get_pc mtlr %r0 @@ -79,13 +83,8 @@ get_pc: mflr %r3 blr -.type objc_msg_lookup, %function -.type objc_msg_lookup_super, %function -.size objc_msg_lookup, forward-objc_msg_lookup -.size objc_msg_lookup_super, ret_nil-objc_msg_lookup_super - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif Index: src/runtime/lookup-x86-elf.S ================================================================== --- src/runtime/lookup-x86-elf.S +++ src/runtime/lookup-x86-elf.S @@ -42,10 +42,12 @@ testl %eax, %eax jz forward ret +.type objc_msg_lookup, %function +.size objc_msg_lookup, .-objc_msg_lookup forward: call get_eip .L1: addl $objc_not_found_handler-.L1, %eax @@ -57,10 +59,12 @@ je ret_nil movl 4(%edx), %edx movl 32(%edx), %edx jmp lookup +.type objc_msg_lookup_super, %function +.size objc_msg_lookup_super, .-objc_msg_lookup_super ret_nil: call get_eip .L2: addl $nil_method-.L2, %eax @@ -72,13 +76,8 @@ get_eip: movl (%esp), %eax ret -.type objc_msg_lookup, %function -.type objc_msg_lookup_super, %function -.size objc_msg_lookup, forward-objc_msg_lookup -.size objc_msg_lookup_super, ret_nil-objc_msg_lookup_super - #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif