]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/arm/linux-gas.h
Update copyright years in gcc/
[thirdparty/gcc.git] / gcc / config / arm / linux-gas.h
CommitLineData
b355a481
NC
1/* Definitions of target machine for GNU compiler.
2 ARM Linux-based GNU systems version.
23a5b65a 3 Copyright (C) 1997-2014 Free Software Foundation, Inc.
afab5269
RK
4 Contributed by Russell King <rmk92@ecs.soton.ac.uk>.
5
4f448245
NC
6 This file is part of GCC.
7
8 GCC is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published
2f83c7d6 10 by the Free Software Foundation; either version 3, or (at your
4f448245
NC
11 option) any later version.
12
13 GCC is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
16 License for more details.
17
18 You should have received a copy of the GNU General Public License
2f83c7d6
NC
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
afab5269 21
be393ecf
NC
22/* This is how we tell the assembler that a symbol is weak.
23 GAS always supports weak symbols. */
afab5269 24
b355a481
NC
25/* Unsigned chars produces much better code than signed. */
26#define DEFAULT_SIGNED_CHAR 0
27
28#undef SUBTARGET_CPP_SPEC
bdede2ac 29#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
b355a481
NC
30
31#undef SIZE_TYPE
32#define SIZE_TYPE "unsigned int"
33
34#undef PTRDIFF_TYPE
35#define PTRDIFF_TYPE "int"
36
c147eacb
PB
37/* Use the AAPCS type for wchar_t, or the previous Linux default for
38 non-AAPCS. */
39#undef WCHAR_TYPE
40#define WCHAR_TYPE (TARGET_AAPCS_BASED ? "unsigned int" : "long int")
b355a481
NC
41
42#undef WCHAR_TYPE_SIZE
43#define WCHAR_TYPE_SIZE BITS_PER_WORD
44
b355a481 45/* Clear the instruction cache from `beg' to `end'. This makes an
f5a1b0d2 46 inline system call to SYS_cacheflush. */
b355a481
NC
47#define CLEAR_INSN_CACHE(BEG, END) \
48{ \
49 register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
50 register unsigned long _end __asm ("a2") = (unsigned long) (END); \
51 register unsigned long _flg __asm ("a3") = 0; \
0e3dd567 52 __asm __volatile ("swi 0x9f0002 @ sys_cacheflush" \
8515dc81
PB
53 : "=r" (_beg) \
54 : "0" (_beg), "r" (_end), "r" (_flg)); \
b355a481 55}