| .text |
| |
| __original_registers: |
| .long 0, 0, 0, 0, 0, 0 , 0 , 0 |
| __entry: |
| .long entry |
| |
| .globl __start |
| __start: |
| movl %eax, 0+__original_registers |
| movl %ebx, 4+__original_registers |
| movl %ecx, 8+__original_registers |
| movl %edx, 12+__original_registers |
| movl %esi, 16+__original_registers |
| movl %edi, 20+__original_registers |
| movl %esp, 24+__original_registers |
| movl %ebp, 28+__original_registers |
| |
| __normal_start: |
| movl $_estack, %esp |
| call kunzip |
| |
| .globl jmp_to_program_entry |
| jmp_to_program_entry: |
| movl 4(%esp), %eax |
| movl %eax, __entry |
| movl 0+__original_registers, %eax |
| movl 4+__original_registers, %ebx |
| movl 8+__original_registers, %ecx |
| movl 12+__original_registers, %edx |
| movl 16+__original_registers, %esi |
| movl 20+__original_registers, %edi |
| movl 24+__original_registers, %esp |
| movl 28+__original_registers, %ebp |
| jmp *__entry |