am a529efac: Merge "Add missing cfi directives for x86 assembler."
				
					
				
			* commit 'a529efac4efa4641186fef5003752cc1c43ec763': Add missing cfi directives for x86 assembler.
This commit is contained in:
		@@ -3,8 +3,14 @@
 | 
				
			|||||||
// pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
 | 
					// pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
 | 
				
			||||||
ENTRY(__bionic_clone)
 | 
					ENTRY(__bionic_clone)
 | 
				
			||||||
        pushl   %ebx
 | 
					        pushl   %ebx
 | 
				
			||||||
 | 
					        .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					        .cfi_rel_offset ebx, 0
 | 
				
			||||||
        pushl   %esi
 | 
					        pushl   %esi
 | 
				
			||||||
 | 
					        .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					        .cfi_rel_offset esi, 0
 | 
				
			||||||
        pushl   %edi
 | 
					        pushl   %edi
 | 
				
			||||||
 | 
					        .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					        .cfi_rel_offset edi, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Load system call arguments into registers.
 | 
					        # Load system call arguments into registers.
 | 
				
			||||||
        movl    16(%esp), %ebx   # flags
 | 
					        movl    16(%esp), %ebx   # flags
 | 
				
			||||||
@@ -46,8 +52,14 @@ ENTRY(__bionic_clone)
 | 
				
			|||||||
        # We're the parent; nothing to do.
 | 
					        # We're the parent; nothing to do.
 | 
				
			||||||
.L_bc_return:
 | 
					.L_bc_return:
 | 
				
			||||||
        popl    %edi
 | 
					        popl    %edi
 | 
				
			||||||
 | 
					        .cfi_adjust_cfa_offset -4
 | 
				
			||||||
 | 
					        .cfi_restore edi
 | 
				
			||||||
        popl    %esi
 | 
					        popl    %esi
 | 
				
			||||||
 | 
					        .cfi_adjust_cfa_offset -4
 | 
				
			||||||
 | 
					        .cfi_restore esi
 | 
				
			||||||
        popl    %ebx
 | 
					        popl    %ebx
 | 
				
			||||||
 | 
					        .cfi_adjust_cfa_offset -4
 | 
				
			||||||
 | 
					        .cfi_restore ebx
 | 
				
			||||||
        ret
 | 
					        ret
 | 
				
			||||||
END(__bionic_clone)
 | 
					END(__bionic_clone)
 | 
				
			||||||
.hidden __bionic_clone
 | 
					.hidden __bionic_clone
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,9 +15,17 @@
 | 
				
			|||||||
ENTRY(syscall)
 | 
					ENTRY(syscall)
 | 
				
			||||||
    # Push the callee save registers.
 | 
					    # Push the callee save registers.
 | 
				
			||||||
    push    %ebx
 | 
					    push    %ebx
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					    .cfi_rel_offset ebx, 0
 | 
				
			||||||
    push    %esi
 | 
					    push    %esi
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					    .cfi_rel_offset esi, 0
 | 
				
			||||||
    push    %edi
 | 
					    push    %edi
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					    .cfi_rel_offset edi, 0
 | 
				
			||||||
    push    %ebp
 | 
					    push    %ebp
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					    .cfi_rel_offset ebp, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Load all the arguments from the calling frame.
 | 
					    # Load all the arguments from the calling frame.
 | 
				
			||||||
    # (Not all will be valid, depending on the syscall.)
 | 
					    # (Not all will be valid, depending on the syscall.)
 | 
				
			||||||
@@ -43,8 +51,16 @@ ENTRY(syscall)
 | 
				
			|||||||
1:
 | 
					1:
 | 
				
			||||||
    # Restore the callee save registers.
 | 
					    # Restore the callee save registers.
 | 
				
			||||||
    pop    %ebp
 | 
					    pop    %ebp
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset -4
 | 
				
			||||||
 | 
					    .cfi_restore ebp, 0
 | 
				
			||||||
    pop    %edi
 | 
					    pop    %edi
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset -4
 | 
				
			||||||
 | 
					    .cfi_restore edi, 0
 | 
				
			||||||
    pop    %esi
 | 
					    pop    %esi
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset -4
 | 
				
			||||||
 | 
					    .cfi_restore esi, 0
 | 
				
			||||||
    pop    %ebx
 | 
					    pop    %ebx
 | 
				
			||||||
 | 
					    .cfi_adjust_cfa_offset -4
 | 
				
			||||||
 | 
					    .cfi_restore ebx, 0
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
END(syscall)
 | 
					END(syscall)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ENTRY(vfork)
 | 
					ENTRY(vfork)
 | 
				
			||||||
  popl    %ecx  // Grab the return address.
 | 
					  popl    %ecx  // Grab the return address.
 | 
				
			||||||
 | 
					  .cfi_adjust_cfa_offset 4
 | 
				
			||||||
 | 
					  .cfi_rel_offset ecx, 0
 | 
				
			||||||
  movl    $__NR_vfork, %eax
 | 
					  movl    $__NR_vfork, %eax
 | 
				
			||||||
  int     $0x80
 | 
					  int     $0x80
 | 
				
			||||||
  cmpl    $-MAX_ERRNO, %eax
 | 
					  cmpl    $-MAX_ERRNO, %eax
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user