Index: src/forwarding/forwarding-sparc64-elf.S ================================================================== --- src/forwarding/forwarding-sparc64-elf.S +++ src/forwarding/forwarding-sparc64-elf.S @@ -237,11 +237,15 @@ add_pc: jmp %o7 + 8 add %l7, %o7, %l7 +#ifdef OF_SOLARIS +.section .init_array, "aw" +#else .section .ctors, "aw", %progbits +#endif .xword init .section .rodata str_forwardingTargetForSelector_: .asciz "forwardingTargetForSelector:" Index: src/forwarding/forwarding-x86-elf.S ================================================================== --- src/forwarding/forwarding-x86-elf.S +++ src/forwarding/forwarding-x86-elf.S @@ -184,11 +184,15 @@ get_eip: movl (%esp), %ebx ret +#ifdef OF_SOLARIS +.section .init_array, "aw" +#else .section .ctors, "aw", %progbits +#endif .long init .section .rodata str_forwardingTargetForSelector_: .asciz "forwardingTargetForSelector:" Index: src/forwarding/forwarding-x86_64-elf.S ================================================================== --- src/forwarding/forwarding-x86_64-elf.S +++ src/forwarding/forwarding-x86_64-elf.S @@ -197,11 +197,15 @@ init: leaq module(%rip), %rdi jmp __objc_exec_class@PLT +#ifdef OF_SOLARIS +.section .init_array, "aw" +#else .section .ctors, "aw", %progbits +#endif .quad init .section .rodata str_forwardingTargetForSelector_: .asciz "forwardingTargetForSelector:"