Remove building with NOCRYPTO option
[minix3.git] / lib / libc / arch / powerpc / sys / sbrk.S
blob308f4c93f6b55c38ccae5e14f85db6add2168a2d
1 /*      $NetBSD: sbrk.S,v 1.13 2014/08/23 02:24:22 matt Exp $   */
3 #include "SYS.h"
5 #if defined(LIBC_SCCS) && !defined(lint)
6 __RCSID("$NetBSD: sbrk.S,v 1.13 2014/08/23 02:24:22 matt Exp $")
7 #endif /* LIBC_SCCS && !lint */
9         .hidden _C_LABEL(__curbrk)
10         .globl  _C_LABEL(__curbrk)
12 #ifdef WEAK_ALIAS
13 WEAK_ALIAS(sbrk, _sbrk)
14 #endif
16 ENTRY(_sbrk)
17 #ifdef __PIC__
18         mflr    %r0
19         bcl     20,31,.LPIC0
20 .LPIC0: mflr    %r5
21         mtlr    %r0
22         addis   %r8,%r5,(_C_LABEL(__curbrk)-.LPIC0)@ha
23         ldptru  %r6,(_C_LABEL(__curbrk)-.LPIC0)@l(%r8)
24 #else
25         lis     %r8,_C_LABEL(__curbrk)@ha
26         ldptru  %r6,_C_LABEL(__curbrk)@l(%r8)   # r6 = old break, r5 = &curbrk
27 #endif
28         add     %r3,%r3,%r6
29         mr      %r7,%r3                         # r7 = new break
30         _DOSYSCALL(break)                       # break(new_break)
31         bso     1f
32         mr      %r3,%r6                         # set return value
33         stptr   %r7,0(%r8)                      # record new break
34         blr
36         BRANCH_TO_CERROR()
37 END(_sbrk)