Mercurial > hg > CbC > CbC_gcc
annotate gcc/config/arm/t-arm-elf @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | 77e2b8dfacca |
children | 04ced10e8804 |
rev | line source |
---|---|
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
1 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
2 # 2008, 2010 Free Software Foundation, Inc. |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
3 # |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
4 # This file is part of GCC. |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
5 # |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
6 # GCC is free software; you can redistribute it and/or modify |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
7 # it under the terms of the GNU General Public License as published by |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
8 # the Free Software Foundation; either version 3, or (at your option) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
9 # any later version. |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
10 # |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
11 # GCC is distributed in the hope that it will be useful, |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
14 # GNU General Public License for more details. |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
15 # |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
16 # You should have received a copy of the GNU General Public License |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
17 # along with GCC; see the file COPYING3. If not see |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
18 # <http://www.gnu.org/licenses/>. |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
19 |
0 | 20 # For most CPUs we have an assembly soft-float implementations. |
21 # However this is not true for ARMv6M. Here we want to use the soft-fp C | |
22 # implementation. The soft-fp code is only build for ARMv6M. This pulls | |
23 # in the asm implementation for other CPUs. | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
24 LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \ |
0 | 25 _call_via_rX _interwork_call_via_rX \ |
26 _lshrdi3 _ashrdi3 _ashldi3 \ | |
27 _arm_negdf2 _arm_addsubdf3 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ | |
28 _arm_fixdfsi _arm_fixunsdfsi \ | |
29 _arm_truncdfsf2 _arm_negsf2 _arm_addsubsf3 _arm_muldivsf3 \ | |
30 _arm_cmpsf2 _arm_unordsf2 _arm_fixsfsi _arm_fixunssfsi \ | |
31 _arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \ | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
32 _clzsi2 _clzdi2 |
0 | 33 |
34 MULTILIB_OPTIONS = marm/mthumb | |
35 MULTILIB_DIRNAMES = arm thumb | |
36 MULTILIB_EXCEPTIONS = | |
37 MULTILIB_MATCHES = | |
38 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
39 #MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
40 #MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
41 #MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
42 |
0 | 43 #MULTILIB_OPTIONS += march=armv7 |
44 #MULTILIB_DIRNAMES += thumb2 | |
45 #MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7* | |
46 #MULTILIB_MATCHES += march?armv7=march?armv7-a | |
47 #MULTILIB_MATCHES += march?armv7=march?armv7-r | |
48 #MULTILIB_MATCHES += march?armv7=march?armv7-m | |
49 #MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8 | |
50 #MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4 | |
51 #MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3 | |
52 | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
53 # Not quite true. We can support hard-vfp calling in Thumb2, but how do we |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
54 # express that here? Also, we really need architecture v5e or later |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
55 # (mcrr etc). |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
56 MULTILIB_OPTIONS += mfloat-abi=hard |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
57 MULTILIB_DIRNAMES += fpu |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
58 MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard* |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
59 #MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard* |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
60 #MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard* |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
61 |
0 | 62 # MULTILIB_OPTIONS += mcpu=ep9312 |
63 # MULTILIB_DIRNAMES += ep9312 | |
64 # MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312* | |
65 # | |
66 # MULTILIB_OPTIONS += mlittle-endian/mbig-endian | |
67 # MULTILIB_DIRNAMES += le be | |
68 # MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle | |
69 # | |
70 # MULTILIB_OPTIONS += mhard-float/msoft-float | |
71 # MULTILIB_DIRNAMES += fpu soft | |
72 # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* | |
73 # | |
74 # MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork | |
75 # MULTILIB_DIRNAMES += normal interwork | |
76 # | |
77 # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore | |
78 # MULTILIB_DIRNAMES += elf under | |
79 # | |
80 # MULTILIB_OPTIONS += mcpu=arm7 | |
81 # MULTILIB_DIRNAMES += nofmult | |
82 # MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7* | |
83 # # Note: the multilib_exceptions matches both -mthumb and | |
84 # # -mthumb-interwork | |
85 # # | |
86 # # We have to match all the arm cpu variants which do not have the | |
87 # # multiply instruction and treat them as if the user had specified | |
88 # # -mcpu=arm7. Note that in the following the ? is interpreted as | |
89 # # an = for the purposes of matching command line options. | |
90 # # FIXME: There ought to be a better way to do this. | |
91 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d | |
92 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di | |
93 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70 | |
94 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700 | |
95 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i | |
96 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710 | |
97 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c | |
98 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100 | |
99 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500 | |
100 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe | |
101 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6 | |
102 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60 | |
103 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600 | |
104 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610 | |
105 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620 | |
106 | |
107 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o | |
108 | |
109 # If EXTRA_MULTILIB_PARTS is not defined above then define EXTRA_PARTS here | |
110 # EXTRA_PARTS = crtbegin.o crtend.o crti.o crtn.o | |
111 | |
112 LIBGCC = stmp-multilib | |
113 INSTALL_LIBGCC = install-multilib | |
114 | |
115 # Currently there is a bug somewhere in GCC's alias analysis | |
116 # or scheduling code that is breaking _fpmul_parts in fp-bit.c. | |
117 # Disabling function inlining is a workaround for this problem. | |
118 TARGET_LIBGCC2_CFLAGS = -fno-inline | |
119 | |
120 # Assemble startup files. | |
121 $(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES) | |
122 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ | |
123 -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm | |
124 | |
125 $(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES) | |
126 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ | |
127 -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm | |
128 |