sparc64: add basic support
[uclibc-ng.git] / libc / sysdeps / linux / sparc64 / pipe.S
blobb04c7b104e6898dbc057819c2368f518a4a568e0
1 /* Copyright (C) 1997-2017 Free Software Foundation, Inc.
2    Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, 1997.
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <http://www.gnu.org/licenses/>.  */
18 #include <sysdep.h>
20         .text
22         .globl  __syscall_error
23 ENTRY(__pipe)
24         mov     %o0, %o2                /* Save PIPEDES. */
25         LOADSYSCALL(pipe)
26         ta      0x6d
27         bcc,pt  %xcc, 1f
28          mov    %o7, %g1
29         call    __syscall_error
30          mov    %g1, %o7
31 1:      st      %o0, [%o2]              /* PIPEDES[0] = %o0; */
32         st      %o1, [%o2 + 4]          /* PIPEDES[1] = %o1; */
33         retl
34          clr    %o0
35 END(__pipe)
37 weak_alias(__pipe, pipe)
38 libc_hidden_def(pipe)