Mercurial > hg > CbC > CbC_gcc
annotate gcc/config/arm/t-arm-elf @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
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, |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
2 # 2008 Free Software Foundation, Inc. |
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 | |
39 #MULTILIB_OPTIONS += march=armv7 | |
40 #MULTILIB_DIRNAMES += thumb2 | |
41 #MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7* | |
42 #MULTILIB_MATCHES += march?armv7=march?armv7-a | |
43 #MULTILIB_MATCHES += march?armv7=march?armv7-r | |
44 #MULTILIB_MATCHES += march?armv7=march?armv7-m | |
45 #MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8 | |
46 #MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4 | |
47 #MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3 | |
48 | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
49 # 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
|
50 # 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
|
51 # (mcrr etc). |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
52 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
|
53 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
|
54 MULTILIB_EXCEPTIONS += *mthumb/*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
|
55 |
0 | 56 # MULTILIB_OPTIONS += mcpu=ep9312 |
57 # MULTILIB_DIRNAMES += ep9312 | |
58 # MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312* | |
59 # | |
60 # MULTILIB_OPTIONS += mlittle-endian/mbig-endian | |
61 # MULTILIB_DIRNAMES += le be | |
62 # MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle | |
63 # | |
64 # MULTILIB_OPTIONS += mhard-float/msoft-float | |
65 # MULTILIB_DIRNAMES += fpu soft | |
66 # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* | |
67 # | |
68 # MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork | |
69 # MULTILIB_DIRNAMES += normal interwork | |
70 # | |
71 # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore | |
72 # MULTILIB_DIRNAMES += elf under | |
73 # | |
74 # MULTILIB_OPTIONS += mcpu=arm7 | |
75 # MULTILIB_DIRNAMES += nofmult | |
76 # MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7* | |
77 # # Note: the multilib_exceptions matches both -mthumb and | |
78 # # -mthumb-interwork | |
79 # # | |
80 # # We have to match all the arm cpu variants which do not have the | |
81 # # multiply instruction and treat them as if the user had specified | |
82 # # -mcpu=arm7. Note that in the following the ? is interpreted as | |
83 # # an = for the purposes of matching command line options. | |
84 # # FIXME: There ought to be a better way to do this. | |
85 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d | |
86 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di | |
87 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70 | |
88 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700 | |
89 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i | |
90 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710 | |
91 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c | |
92 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100 | |
93 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500 | |
94 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe | |
95 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6 | |
96 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60 | |
97 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600 | |
98 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610 | |
99 # MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620 | |
100 | |
101 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o | |
102 | |
103 # If EXTRA_MULTILIB_PARTS is not defined above then define EXTRA_PARTS here | |
104 # EXTRA_PARTS = crtbegin.o crtend.o crti.o crtn.o | |
105 | |
106 LIBGCC = stmp-multilib | |
107 INSTALL_LIBGCC = install-multilib | |
108 | |
109 # Currently there is a bug somewhere in GCC's alias analysis | |
110 # or scheduling code that is breaking _fpmul_parts in fp-bit.c. | |
111 # Disabling function inlining is a workaround for this problem. | |
112 TARGET_LIBGCC2_CFLAGS = -fno-inline | |
113 | |
114 # Assemble startup files. | |
115 $(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES) | |
116 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ | |
117 -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm | |
118 | |
119 $(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES) | |
120 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ | |
121 -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm | |
122 |