rtld_start.S (217103) | rtld_start.S (226436) |
---|---|
1/*- 2 * Copyright 1996-1998 John D. Polstra. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * | 1/*- 2 * Copyright 1996-1998 John D. Polstra. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * |
25 * $FreeBSD: head/libexec/rtld-elf/i386/rtld_start.S 217103 2011-01-07 16:07:05Z kib $ | 25 * $FreeBSD: head/libexec/rtld-elf/i386/rtld_start.S 226436 2011-10-16 14:30:28Z eadler $ |
26 */ 27 28 .text 29 .align 4 30 .globl .rtld_start 31 .type .rtld_start,@function 32.rtld_start: 33 xorl %ebp,%ebp # Clear frame pointer for good form --- 24 unchanged lines hidden (view full) --- 58 59/* 60 * Binder entry point. Control is transferred to here by code in the PLT. 61 * On entry, there are two arguments on the stack. In ascending address 62 * order, they are (1) "obj", a pointer to the calling object's Obj_Entry, 63 * and (2) "reloff", the byte offset of the appropriate relocation entry 64 * in the PLT relocation table. 65 * | 26 */ 27 28 .text 29 .align 4 30 .globl .rtld_start 31 .type .rtld_start,@function 32.rtld_start: 33 xorl %ebp,%ebp # Clear frame pointer for good form --- 24 unchanged lines hidden (view full) --- 58 59/* 60 * Binder entry point. Control is transferred to here by code in the PLT. 61 * On entry, there are two arguments on the stack. In ascending address 62 * order, they are (1) "obj", a pointer to the calling object's Obj_Entry, 63 * and (2) "reloff", the byte offset of the appropriate relocation entry 64 * in the PLT relocation table. 65 * |
66 * We are careful to preserve all registers, even the the caller-save | 66 * We are careful to preserve all registers, even the caller-save |
67 * registers. That is because this code may be invoked by low-level 68 * assembly-language code that is not ABI-compliant. 69 */ 70 .align 4 71 .globl _rtld_bind_start 72 .type _rtld_bind_start,@function 73_rtld_bind_start: 74 pushf # Save eflags --- 19 unchanged lines hidden --- | 67 * registers. That is because this code may be invoked by low-level 68 * assembly-language code that is not ABI-compliant. 69 */ 70 .align 4 71 .globl _rtld_bind_start 72 .type _rtld_bind_start,@function 73_rtld_bind_start: 74 pushf # Save eflags --- 19 unchanged lines hidden --- |