Deleted Added
full compact
cerror.S (13545) cerror.S (15634)
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * $Id: cerror.S,v 1.3 1995/01/23 01:29:43 davidg Exp $
36 * $Id: cerror.S,v 1.4 1996/01/22 00:00:57 julian Exp $
37 */
38
39#if defined(SYSLIBC_RCS) && !defined(lint)
40 .text
37 */
38
39#if defined(SYSLIBC_RCS) && !defined(lint)
40 .text
41 .asciz "$Id: cerror.S,v 1.3 1995/01/23 01:29:43 davidg Exp $"
41 .asciz "$Id: cerror.S,v 1.4 1996/01/22 00:00:57 julian Exp $"
42#endif /* SYSLIBC_RCS and not lint */
43
44#include "SYS.h"
45
42#endif /* SYSLIBC_RCS and not lint */
43
44#include "SYS.h"
45
46 .globl HIDENAME(cerror)
47
46#ifdef _THREAD_SAFE
47 /*
48 * Threaded version using __error().
49 */
48#ifdef _THREAD_SAFE
49 /*
50 * Threaded version using __error().
51 */
50 .globl ___error
51 .type ___error,@function
52cerror:
52 .globl CNAME(__error)
53 .type CNAME(__error),@function
54HIDENAME(cerror):
53 pushl %eax
54#ifdef PIC
55 pushl %eax
56#ifdef PIC
55 call PIC_PLT(___error)
57 /* The caller must execute the PIC prologue before jumping to cerror. */
58 call PIC_PLT(CNAME(__error))
56#else
59#else
57 call ___error
60 call CNAME(__error)
58#endif
59 popl %ecx
60 movl %ecx,(%eax)
61 movl $-1,%eax
62 movl $-1,%edx
63 ret
64
65#else /* _THREAD_SAFE */
66 /*
67 * Non-threaded version using global errno.
68 */
61#endif
62 popl %ecx
63 movl %ecx,(%eax)
64 movl $-1,%eax
65 movl $-1,%edx
66 ret
67
68#else /* _THREAD_SAFE */
69 /*
70 * Non-threaded version using global errno.
71 */
69 .globl _errno
70cerror:
72 .globl CNAME(errno)
73HIDENAME(cerror):
71#ifdef PIC
74#ifdef PIC
72 PIC_PROLOGUE
73 movl PIC_GOT(_errno),%ecx
75 /* The caller must execute the PIC prologue before jumping to cerror. */
76 movl PIC_GOT(CNAME(errno)),%ecx
74 movl %eax,(%ecx)
75 PIC_EPILOGUE
76#else
77 movl %eax,(%ecx)
78 PIC_EPILOGUE
79#else
77 movl %eax,_errno
80 movl %eax,CNAME(errno)
78#endif
79 movl $-1,%eax
80 movl $-1,%edx
81 ret
82#endif /* _THREAD_SAFE */
81#endif
82 movl $-1,%eax
83 movl $-1,%edx
84 ret
85#endif /* _THREAD_SAFE */