Update Alpha bits/fcntl.h for XPG7 and allow bits/stat.h inclusion from fcntl.h.
[glibc-ports.git] / sysdeps / hppa / sysdep.h
blob5d02f37da76aa598fa4b4face81b5e9865da6f4c
1 /* Assembler macros for HP/PA.
2 Copyright (C) 1999, 2003 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, write to the Free
18 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA. */
21 #include <sysdeps/generic/sysdep.h>
22 #include <sys/syscall.h>
23 #include "config.h"
25 #undef ASM_LINE_SEP
26 #define ASM_LINE_SEP !
28 #ifdef __ASSEMBLER__
30 /* Syntactic details of assembler. */
32 #define ALIGNARG(log2) log2
35 /* Define an entry point visible from C.
37 There is currently a bug in gdb which prevents us from specifying
38 incomplete stabs information. Fake some entries here which specify
39 the current source file. */
40 #define ENTRY(name) \
41 .SPACE $TEXT$ ASM_LINE_SEP \
42 .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY ASM_LINE_SEP \
43 .align ALIGNARG(4) ASM_LINE_SEP \
44 .NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY ASM_LINE_SEP \
45 .EXPORT C_SYMBOL_NAME(name),ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR ASM_LINE_SEP\
46 C_LABEL(name) \
47 CALL_MCOUNT
49 #undef END
50 #define END(name) \
51 .PROCEND
53 /* GCC does everything for us. */
54 #ifdef PROF
55 #define CALL_MCOUNT
56 #else
57 #define CALL_MCOUNT /* Do nothing. */
58 #endif
60 #define PSEUDO(name, syscall_name, args) \
61 ENTRY (name) \
62 DO_CALL (syscall_name, args)
64 #undef PSEUDO_END
65 #define PSEUDO_END(name) \
66 END (name)
68 #undef JUMPTARGET
69 #define JUMPTARGET(name) name
70 #define SYSCALL_PIC_SETUP /* Nothing. */
72 /* Local label name for asm code. */
73 #ifndef L
74 #define L(name) name
75 #endif
77 #endif /* __ASSEMBLER__ */