[0a34caf] | 1 | diff -Naur gcc-4.6.1.orig/gcc/ChangeLog.rtems gcc-4.6.1/gcc/ChangeLog.rtems |
---|
| 2 | --- gcc-4.6.1.orig/gcc/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 |
---|
| 3 | +++ gcc-4.6.1/gcc/ChangeLog.rtems 2011-06-21 06:24:13.501492915 +0200 |
---|
| 4 | @@ -0,0 +1,74 @@ |
---|
| 5 | +2011-06-20 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 6 | + |
---|
| 7 | + * sparc/t-rtems: Reflect introduction of sparc/t-crtin. |
---|
| 8 | + |
---|
| 9 | +2011-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de> |
---|
| 10 | + |
---|
| 11 | + * config.gcc (arm*-*-rtemseabi*): New target. |
---|
| 12 | + * config/arm/rtems-eabi.h: New. |
---|
| 13 | + * config/arm/t-rtems-eabi: New. |
---|
| 14 | + |
---|
| 15 | +2011-03-23 Joel Sherrill <joel.sherrill@oarcorp.com> |
---|
| 16 | + |
---|
| 17 | + * config.gcc (sparc-*-rtems*, sparc64-*-rtems*): |
---|
| 18 | + Add sparc/t-rtems, crti.o crtn.o. |
---|
| 19 | + * config/sparc/t-rtems: New. |
---|
| 20 | + |
---|
| 21 | +2011-03-22 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 22 | + |
---|
| 23 | + * config.gcc (sparc64-rtems*): Remove sysv.h from tm_file. |
---|
| 24 | + |
---|
| 25 | +2011-02-20 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 26 | + |
---|
| 27 | + * config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib. |
---|
| 28 | + |
---|
| 29 | +2011-02-20 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 30 | + |
---|
| 31 | + * config/rs6000/t-rtems: Remove -mcpu=601 multilib. |
---|
| 32 | + * config/rs6000/t-rtems: Remove -Dmpc8260 multilib. |
---|
| 33 | + * config/rs6000/rtems.h: Allow --float-gprs=... to override grps on |
---|
| 34 | + E500 targets. |
---|
| 35 | + |
---|
| 36 | +2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com> |
---|
| 37 | + |
---|
| 38 | + * config.gcc (sparc64-*-rtems*): New target. |
---|
| 39 | + * config/sparc/sp64-rtemself.h: New file. |
---|
| 40 | + |
---|
| 41 | +2010-04-19 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 42 | + |
---|
| 43 | + * ginclude/stddef.h: Define _MACHINE_ANSI_H_ if _X86_64_ANSI_H_ is |
---|
| 44 | + defined (Used by amd64-*-netbsdelf5.*). |
---|
| 45 | + |
---|
| 46 | +2010-04-18 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 47 | + |
---|
| 48 | + * ginclude/stddef.h: Define _MACHINE_ANSI_H_ if _I386_ANSI_H_ is |
---|
| 49 | + defined (Used by i386-*-netbsdelf5.*). |
---|
| 50 | + |
---|
| 51 | +2010-03-15 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 52 | + |
---|
| 53 | + Patch from Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>: |
---|
| 54 | + * config/arm/rtems-elf.h, config/arm/t-rtems: Add optional support |
---|
| 55 | + for vfp FPU model |
---|
| 56 | + |
---|
| 57 | +2009-11-04 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 58 | + |
---|
| 59 | + * config/m32c/rtems.h, config/m68k/rtemself.h, |
---|
| 60 | + config/m68k/rtemself.h, config/sh/rtemself.h, |
---|
| 61 | + config/sparc/rtemself.h: Undef WCHAR_TYPE_SIZE, WCHAR_TYPE. |
---|
| 62 | + (Resets WCHAR_TYPE's to defaults. Prevents broken GCC tm_files |
---|
| 63 | + to interfere and cause wchar_t/wint_t incompatibilities). |
---|
| 64 | + |
---|
| 65 | +2009-10-15 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 66 | + |
---|
| 67 | + * config/avr/t-rtems: Don't build _exit. |
---|
| 68 | + |
---|
| 69 | + Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 70 | + |
---|
| 71 | + * config/rs6000/rtems.h: Support for custom RTEMS multilibs. |
---|
| 72 | + Support TARGET_E500. |
---|
| 73 | + * config/rs6000/t-rtems: Custom RTEMS multilibs. |
---|
| 74 | + |
---|
| 75 | + Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 76 | + |
---|
| 77 | + * config/mips/elf.h: Remove NO_IMPLICIT_EXTERN_C. |
---|
| 78 | + |
---|
| 79 | diff -Naur gcc-4.6.1.orig/gcc/config/arm/rtems-eabi.h gcc-4.6.1/gcc/config/arm/rtems-eabi.h |
---|
| 80 | --- gcc-4.6.1.orig/gcc/config/arm/rtems-eabi.h 1970-01-01 01:00:00.000000000 +0100 |
---|
| 81 | +++ gcc-4.6.1/gcc/config/arm/rtems-eabi.h 2011-06-21 06:24:13.503492970 +0200 |
---|
| 82 | @@ -0,0 +1,33 @@ |
---|
| 83 | +/* Definitions for RTEMS based ARM systems using EABI |
---|
| 84 | + Copyright (C) 2011 Free Software Foundation, Inc. |
---|
| 85 | + |
---|
| 86 | + This file is part of GCC. |
---|
| 87 | + |
---|
| 88 | + GCC is free software; you can redistribute it and/or modify it |
---|
| 89 | + under the terms of the GNU General Public License as published |
---|
| 90 | + by the Free Software Foundation; either version 3, or (at your |
---|
| 91 | + option) any later version. |
---|
| 92 | + |
---|
| 93 | + GCC is distributed in the hope that it will be useful, but WITHOUT |
---|
| 94 | + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
---|
| 95 | + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public |
---|
| 96 | + License for more details. |
---|
| 97 | + |
---|
| 98 | + You should have received a copy of the GNU General Public License |
---|
| 99 | + along with GCC; see the file COPYING3. If not see |
---|
| 100 | + <http://www.gnu.org/licenses/>. */ |
---|
| 101 | + |
---|
| 102 | +/* Run-time Target Specification. */ |
---|
| 103 | +#undef TARGET_VERSION |
---|
| 104 | +#define TARGET_VERSION fputs (" (ARM/EABI RTEMS)", stderr); |
---|
| 105 | + |
---|
| 106 | +#define HAS_INIT_SECTION |
---|
| 107 | + |
---|
| 108 | +#undef TARGET_OS_CPP_BUILTINS |
---|
| 109 | +#define TARGET_OS_CPP_BUILTINS() \ |
---|
| 110 | + do { \ |
---|
| 111 | + builtin_define ("__rtems__"); \ |
---|
| 112 | + builtin_define ("__USE_INIT_FINI__"); \ |
---|
| 113 | + builtin_assert ("system=rtems"); \ |
---|
| 114 | + TARGET_BPABI_CPP_BUILTINS(); \ |
---|
| 115 | + } while (0) |
---|
| 116 | diff -Naur gcc-4.6.1.orig/gcc/config/arm/rtems-elf.h gcc-4.6.1/gcc/config/arm/rtems-elf.h |
---|
| 117 | --- gcc-4.6.1.orig/gcc/config/arm/rtems-elf.h 2009-03-25 13:54:16.000000000 +0100 |
---|
| 118 | +++ gcc-4.6.1/gcc/config/arm/rtems-elf.h 2011-06-21 06:24:13.503492970 +0200 |
---|
| 119 | @@ -36,7 +36,7 @@ |
---|
| 120 | */ |
---|
| 121 | #undef SUBTARGET_EXTRA_ASM_SPEC |
---|
| 122 | #define SUBTARGET_EXTRA_ASM_SPEC "\ |
---|
| 123 | - %{!mhard-float: %{!msoft-float:-mfpu=softfpa}}" |
---|
| 124 | + %{!mhard-float: %{!mfpu=vfp: %{!msoft-float:-mfpu=softfpa}}}" |
---|
| 125 | |
---|
| 126 | /* |
---|
| 127 | * The default includes --start-group and --end-group which conflicts |
---|
| 128 | diff -Naur gcc-4.6.1.orig/gcc/config/arm/t-rtems gcc-4.6.1/gcc/config/arm/t-rtems |
---|
| 129 | --- gcc-4.6.1.orig/gcc/config/arm/t-rtems 2004-11-23 06:30:32.000000000 +0100 |
---|
| 130 | +++ gcc-4.6.1/gcc/config/arm/t-rtems 2011-06-21 06:24:13.503492970 +0200 |
---|
| 131 | @@ -5,6 +5,41 @@ |
---|
| 132 | MULTILIB_EXCEPTIONS = |
---|
| 133 | MULTILIB_MATCHES = marm=mno-thumb |
---|
| 134 | |
---|
| 135 | -MULTILIB_OPTIONS += msoft-float/mhard-float |
---|
| 136 | -MULTILIB_DIRNAMES += soft fpu |
---|
| 137 | -MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* |
---|
| 138 | +MULTILIB_OPTIONS += mhard-float/mfloat-abi=softfp |
---|
| 139 | +MULTILIB_DIRNAMES += fpu softfp |
---|
| 140 | +MULTILIB_EXCEPTIONS += *mthumb*/*mhard-float* *mthumb*/*mfloat-abi=softfp* |
---|
| 141 | +MULTILIB_MATCHES = |
---|
| 142 | + |
---|
| 143 | +MULTILIB_OPTIONS += mfpu=vfp |
---|
| 144 | +MULTILIB_DIRNAMES += vfp |
---|
| 145 | +MULTILIB_EXCEPTIONS += *mhard-float*/*mfpu=vfp* *marm*/*mfloat-abi=softfp*/*mfpu=fpa* |
---|
| 146 | +MULTILIB_EXCLUSIONS += !mthumb/mfloat-abi=softfp/!mfpu=vfp |
---|
| 147 | + |
---|
| 148 | +# default float model is fpa, so don't create a explicit copy of it |
---|
| 149 | +MULTILIB_EXCEPTIONS += *marm*/*mfpa* |
---|
| 150 | + |
---|
| 151 | +# permutations of the options which are useful (+) or make no sense (-), |
---|
| 152 | +# defaults are in brackets: |
---|
| 153 | +# + (arm/soft/fpa) |
---|
| 154 | +# + (arm/soft)/vfp |
---|
| 155 | +# - (arm)/softfp(/fpa) |
---|
| 156 | +# + (arm)/softfp/vfp |
---|
| 157 | +# + (arm)/hard-float(/fpa) |
---|
| 158 | +# - (arm)/hard-float/vfp |
---|
| 159 | +# + thumb/(soft/fpa) |
---|
| 160 | +# + thumb/(soft/)vfp |
---|
| 161 | +# - thumb/softfp/fpa |
---|
| 162 | +# - thumb/softfp/vfp |
---|
| 163 | +# - thumb/hard-float/fpa |
---|
| 164 | +# - thumb/hard-float/vfp |
---|
| 165 | + |
---|
| 166 | +# subdirs to be used for multilibs and their respective options: |
---|
| 167 | +#/thumb/vfp -> thumb/soft/vfp |
---|
| 168 | +#/thumb/fpa -> thumb/soft/fpa |
---|
| 169 | +#/thumb -> thumb/soft/fpa |
---|
| 170 | +#/vfp -> arm/soft/vfp |
---|
| 171 | +#/softfp/vfp -> arm/softfp/cfp |
---|
| 172 | +#/fpu/fpa -> arm/hard/fpa |
---|
| 173 | +#/fpu -> arm/hard/fpa |
---|
| 174 | +#/fpa -> arm/soft/fpa |
---|
| 175 | +#. -> arm/soft/fpa |
---|
| 176 | diff -Naur gcc-4.6.1.orig/gcc/config/arm/t-rtems-eabi gcc-4.6.1/gcc/config/arm/t-rtems-eabi |
---|
| 177 | --- gcc-4.6.1.orig/gcc/config/arm/t-rtems-eabi 1970-01-01 01:00:00.000000000 +0100 |
---|
| 178 | +++ gcc-4.6.1/gcc/config/arm/t-rtems-eabi 2011-06-21 06:24:13.503492970 +0200 |
---|
| 179 | @@ -0,0 +1,6 @@ |
---|
| 180 | +# Custom RTEMS EABI multilibs |
---|
| 181 | + |
---|
| 182 | +MULTILIB_OPTIONS = mthumb march=armv6-m/march=armv7/march=armv7-m |
---|
| 183 | +MULTILIB_DIRNAMES = thumb armv6-m armv7 armv7-m |
---|
| 184 | +MULTILIB_EXCEPTIONS = march=armv6-m march=armv7 march=armv7-m |
---|
| 185 | +MULTILIB_MATCHES = marm=mno-thumb |
---|
| 186 | diff -Naur gcc-4.6.1.orig/gcc/config/avr/t-rtems gcc-4.6.1/gcc/config/avr/t-rtems |
---|
| 187 | --- gcc-4.6.1.orig/gcc/config/avr/t-rtems 2004-11-23 04:44:03.000000000 +0100 |
---|
| 188 | +++ gcc-4.6.1/gcc/config/avr/t-rtems 2011-06-21 06:24:13.503492970 +0200 |
---|
| 189 | @@ -1,3 +1,4 @@ |
---|
| 190 | # Multilibs for avr RTEMS targets. |
---|
| 191 | |
---|
| 192 | -# ATM, this is just a stub |
---|
| 193 | +# RTEMS uses _exit from newlib |
---|
| 194 | +LIB1ASMFUNCS := $(filter-out _exit,$(LIB1ASMFUNCS)) |
---|
| 195 | diff -Naur gcc-4.6.1.orig/gcc/config/m32c/rtems.h gcc-4.6.1/gcc/config/m32c/rtems.h |
---|
| 196 | --- gcc-4.6.1.orig/gcc/config/m32c/rtems.h 2008-12-01 17:34:42.000000000 +0100 |
---|
| 197 | +++ gcc-4.6.1/gcc/config/m32c/rtems.h 2011-06-21 06:24:13.504492996 +0200 |
---|
| 198 | @@ -29,5 +29,9 @@ |
---|
| 199 | } \ |
---|
| 200 | while (0) |
---|
| 201 | |
---|
| 202 | -/* Use the default */ |
---|
| 203 | +/* Use the defaults */ |
---|
| 204 | #undef LINK_GCC_C_SEQUENCE_SPEC |
---|
| 205 | + |
---|
| 206 | +#undef WCHAR_TYPE |
---|
| 207 | + |
---|
| 208 | +#undef WCHAR_TYPE_SIZE |
---|
| 209 | diff -Naur gcc-4.6.1.orig/gcc/config/m68k/rtemself.h gcc-4.6.1/gcc/config/m68k/rtemself.h |
---|
| 210 | --- gcc-4.6.1.orig/gcc/config/m68k/rtemself.h 2007-08-02 12:49:31.000000000 +0200 |
---|
| 211 | +++ gcc-4.6.1/gcc/config/m68k/rtemself.h 2011-06-21 06:24:13.504492996 +0200 |
---|
| 212 | @@ -31,3 +31,8 @@ |
---|
| 213 | builtin_assert ("system=rtems"); \ |
---|
| 214 | } \ |
---|
| 215 | while (0) |
---|
| 216 | + |
---|
| 217 | +/* Use the defaults */ |
---|
| 218 | +#undef WCHAR_TYPE |
---|
| 219 | + |
---|
| 220 | +#undef WCHAR_TYPE_SIZE |
---|
| 221 | diff -Naur gcc-4.6.1.orig/gcc/config/mips/elf.h gcc-4.6.1/gcc/config/mips/elf.h |
---|
| 222 | --- gcc-4.6.1.orig/gcc/config/mips/elf.h 2010-11-21 01:54:14.000000000 +0100 |
---|
| 223 | +++ gcc-4.6.1/gcc/config/mips/elf.h 2011-06-21 06:24:13.504492996 +0200 |
---|
| 224 | @@ -47,5 +47,3 @@ |
---|
| 225 | |
---|
| 226 | #undef ENDFILE_SPEC |
---|
| 227 | #define ENDFILE_SPEC "crtend%O%s crtn%O%s" |
---|
| 228 | - |
---|
| 229 | -#define NO_IMPLICIT_EXTERN_C 1 |
---|
| 230 | diff -Naur gcc-4.6.1.orig/gcc/config/rs6000/rtems.h gcc-4.6.1/gcc/config/rs6000/rtems.h |
---|
| 231 | --- gcc-4.6.1.orig/gcc/config/rs6000/rtems.h 2007-08-02 12:49:31.000000000 +0200 |
---|
| 232 | +++ gcc-4.6.1/gcc/config/rs6000/rtems.h 2011-06-21 06:24:13.504492996 +0200 |
---|
| 233 | @@ -49,8 +49,23 @@ |
---|
| 234 | %{mcpu=604: %{!Dppc*: %{!Dmpc*: -Dmpc604} } } \ |
---|
| 235 | %{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } \ |
---|
| 236 | %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ |
---|
| 237 | -%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }" |
---|
| 238 | +%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } } \ |
---|
| 239 | +%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } }" |
---|
| 240 | |
---|
| 241 | #undef SUBSUBTARGET_EXTRA_SPECS |
---|
| 242 | #define SUBSUBTARGET_EXTRA_SPECS \ |
---|
| 243 | { "cpp_os_rtems", CPP_OS_RTEMS_SPEC } |
---|
| 244 | + |
---|
| 245 | +#undef SUBSUBTARGET_OVERRIDE_OPTIONS |
---|
| 246 | +#define SUBSUBTARGET_OVERRIDE_OPTIONS \ |
---|
| 247 | + do { \ |
---|
| 248 | + if (TARGET_E500) \ |
---|
| 249 | + { \ |
---|
| 250 | + if (!rs6000_explicit_options.float_gprs) \ |
---|
| 251 | + rs6000_float_gprs = 1; \ |
---|
| 252 | + } \ |
---|
| 253 | + } while(0) |
---|
| 254 | + |
---|
| 255 | +#undef WCHAR_TYPE |
---|
| 256 | + |
---|
| 257 | +#undef WCHAR_TYPE_SIZE |
---|
| 258 | diff -Naur gcc-4.6.1.orig/gcc/config/rs6000/t-rtems gcc-4.6.1/gcc/config/rs6000/t-rtems |
---|
| 259 | --- gcc-4.6.1.orig/gcc/config/rs6000/t-rtems 2009-04-21 21:03:23.000000000 +0200 |
---|
| 260 | +++ gcc-4.6.1/gcc/config/rs6000/t-rtems 2011-06-21 06:24:13.504492996 +0200 |
---|
| 261 | @@ -19,14 +19,12 @@ |
---|
| 262 | # <http://www.gnu.org/licenses/>. |
---|
| 263 | |
---|
| 264 | MULTILIB_OPTIONS = \ |
---|
| 265 | -mcpu=403/mcpu=505/mcpu=601/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400 \ |
---|
| 266 | -Dmpc8260 \ |
---|
| 267 | -msoft-float |
---|
| 268 | +mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 \ |
---|
| 269 | +msoft-float/mfloat-gprs=double |
---|
| 270 | |
---|
| 271 | MULTILIB_DIRNAMES = \ |
---|
| 272 | -m403 m505 m601 m603e m604 m860 m7400 \ |
---|
| 273 | -mpc8260 \ |
---|
| 274 | -nof |
---|
| 275 | +m403 m505 m603e m604 m860 m7400 m8540 \ |
---|
| 276 | +nof gprsdouble |
---|
| 277 | |
---|
| 278 | # MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} |
---|
| 279 | MULTILIB_MATCHES = |
---|
| 280 | @@ -47,6 +45,13 @@ |
---|
| 281 | # Map 750 to . |
---|
| 282 | MULTILIB_MATCHES += mcpu?750= |
---|
| 283 | |
---|
| 284 | +# Map 8548 to 8540 |
---|
| 285 | +MULTILIB_MATCHES += mcpu?8540=mcpu?8548 |
---|
| 286 | + |
---|
| 287 | +# Map -mcpu=8540 -mfloat-gprs=single to -mcpu=8540 |
---|
| 288 | +# (mfloat-gprs=single is implicit default) |
---|
| 289 | +MULTILIB_MATCHES += mcpu?8540=mcpu?8540/mfloat-gprs?single |
---|
| 290 | + |
---|
| 291 | # Soft-float only, default implies msoft-float |
---|
| 292 | # NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES |
---|
| 293 | MULTILIB_SOFTFLOAT_ONLY = \ |
---|
| 294 | @@ -62,6 +67,16 @@ |
---|
| 295 | MULTILIB_HARDFLOAT_ONLY = \ |
---|
| 296 | *mcpu=505/*msoft-float* |
---|
| 297 | |
---|
| 298 | +# Targets which do not support gprs |
---|
| 299 | +MULTILIB_NOGPRS = \ |
---|
| 300 | +mfloat-gprs=* \ |
---|
| 301 | +*mcpu=403/*mfloat-gprs=* \ |
---|
| 302 | +*mcpu=505/*mfloat-gprs=* \ |
---|
| 303 | +*mcpu=603e/*mfloat-gprs=* \ |
---|
| 304 | +*mcpu=604/*mfloat-gprs=* \ |
---|
| 305 | +*mcpu=860/*mfloat-gprs=* \ |
---|
| 306 | +*mcpu=7400/*mfloat-gprs=* |
---|
| 307 | + |
---|
| 308 | MULTILIB_EXCEPTIONS = |
---|
| 309 | |
---|
| 310 | # Disallow -Dppc and -Dmpc without other options |
---|
| 311 | @@ -69,14 +84,8 @@ |
---|
| 312 | |
---|
| 313 | MULTILIB_EXCEPTIONS += \ |
---|
| 314 | ${MULTILIB_SOFTFLOAT_ONLY} \ |
---|
| 315 | -${MULTILIB_HARDFLOAT_ONLY} |
---|
| 316 | +${MULTILIB_HARDFLOAT_ONLY} \ |
---|
| 317 | +${MULTILIB_NOGPRS} |
---|
| 318 | |
---|
| 319 | # Special rules |
---|
| 320 | # Take out all variants we don't want |
---|
| 321 | -MULTILIB_EXCEPTIONS += *mcpu=403/Dmpc* |
---|
| 322 | -MULTILIB_EXCEPTIONS += *mcpu=505/Dmpc* |
---|
| 323 | -MULTILIB_EXCEPTIONS += *mcpu=601/Dmpc* |
---|
| 324 | -MULTILIB_EXCEPTIONS += *mcpu=604/Dmpc* |
---|
| 325 | -MULTILIB_EXCEPTIONS += *mcpu=750/Dmpc* |
---|
| 326 | -MULTILIB_EXCEPTIONS += *mcpu=860/Dmpc* |
---|
| 327 | -MULTILIB_EXCEPTIONS += *mcpu=7400/Dmpc* |
---|
| 328 | diff -Naur gcc-4.6.1.orig/gcc/config/sh/rtemself.h gcc-4.6.1/gcc/config/sh/rtemself.h |
---|
| 329 | --- gcc-4.6.1.orig/gcc/config/sh/rtemself.h 2007-08-02 12:49:31.000000000 +0200 |
---|
| 330 | +++ gcc-4.6.1/gcc/config/sh/rtemself.h 2011-06-21 06:24:13.505493015 +0200 |
---|
| 331 | @@ -24,3 +24,8 @@ |
---|
| 332 | builtin_define( "__rtems__" ); \ |
---|
| 333 | builtin_assert( "system=rtems" ); \ |
---|
| 334 | } while (0) |
---|
| 335 | + |
---|
| 336 | +/* Use the defaults */ |
---|
| 337 | +#undef WCHAR_TYPE |
---|
| 338 | + |
---|
| 339 | +#undef WCHAR_TYPE_SIZE |
---|
| 340 | diff -Naur gcc-4.6.1.orig/gcc/config/sparc/rtemself.h gcc-4.6.1/gcc/config/sparc/rtemself.h |
---|
| 341 | --- gcc-4.6.1.orig/gcc/config/sparc/rtemself.h 2007-08-02 12:49:31.000000000 +0200 |
---|
| 342 | +++ gcc-4.6.1/gcc/config/sparc/rtemself.h 2011-06-21 06:24:13.505493015 +0200 |
---|
| 343 | @@ -29,5 +29,9 @@ |
---|
| 344 | } \ |
---|
| 345 | while (0) |
---|
| 346 | |
---|
| 347 | -/* Use the default */ |
---|
| 348 | +/* Use the defaults */ |
---|
| 349 | #undef LINK_GCC_C_SEQUENCE_SPEC |
---|
| 350 | + |
---|
| 351 | +#undef WCHAR_TYPE |
---|
| 352 | + |
---|
| 353 | +#undef WCHAR_TYPE_SIZE |
---|
| 354 | diff -Naur gcc-4.6.1.orig/gcc/config/sparc/sp64-rtemself.h gcc-4.6.1/gcc/config/sparc/sp64-rtemself.h |
---|
| 355 | --- gcc-4.6.1.orig/gcc/config/sparc/sp64-rtemself.h 1970-01-01 01:00:00.000000000 +0100 |
---|
| 356 | +++ gcc-4.6.1/gcc/config/sparc/sp64-rtemself.h 2011-06-21 06:24:13.505493015 +0200 |
---|
| 357 | @@ -0,0 +1,37 @@ |
---|
| 358 | +/* Definitions for rtems targeting a SPARC64 using ELF. |
---|
| 359 | + Copyright (C) 2010 Free Software Foundation, Inc. |
---|
| 360 | + Contributed by Joel Sherrill (joel@OARcorp.com). |
---|
| 361 | + |
---|
| 362 | +This file is part of GCC. |
---|
| 363 | + |
---|
| 364 | +GCC is free software; you can redistribute it and/or modify |
---|
| 365 | +it under the terms of the GNU General Public License as published by |
---|
| 366 | +the Free Software Foundation; either version 3, or (at your option) |
---|
| 367 | +any later version. |
---|
| 368 | + |
---|
| 369 | +GCC is distributed in the hope that it will be useful, |
---|
| 370 | +but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 371 | +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 372 | +GNU General Public License for more details. |
---|
| 373 | + |
---|
| 374 | +You should have received a copy of the GNU General Public License |
---|
| 375 | +along with GCC; see the file COPYING3. If not see |
---|
| 376 | +<http://www.gnu.org/licenses/>. */ |
---|
| 377 | + |
---|
| 378 | +/* Target OS builtins. */ |
---|
| 379 | +#undef TARGET_OS_CPP_BUILTINS |
---|
| 380 | +#define TARGET_OS_CPP_BUILTINS() \ |
---|
| 381 | + do \ |
---|
| 382 | + { \ |
---|
| 383 | + builtin_define ("__rtems__"); \ |
---|
| 384 | + builtin_define ("__USE_INIT_FINI__"); \ |
---|
| 385 | + builtin_assert ("system=rtems"); \ |
---|
| 386 | + } \ |
---|
| 387 | + while (0) |
---|
| 388 | + |
---|
| 389 | +/* Use the default */ |
---|
| 390 | +#undef LINK_GCC_C_SEQUENCE_SPEC |
---|
| 391 | + |
---|
| 392 | +/* we are not svr4 */ |
---|
| 393 | +#undef CPP_SUBTARGET_SPEC |
---|
| 394 | +#define CPP_SUBTARGET_SPEC "" |
---|
| 395 | diff -Naur gcc-4.6.1.orig/gcc/config/sparc/t-rtems gcc-4.6.1/gcc/config/sparc/t-rtems |
---|
| 396 | --- gcc-4.6.1.orig/gcc/config/sparc/t-rtems 1970-01-01 01:00:00.000000000 +0100 |
---|
| 397 | +++ gcc-4.6.1/gcc/config/sparc/t-rtems 2011-06-21 06:24:13.505493015 +0200 |
---|
| 398 | @@ -0,0 +1,18 @@ |
---|
| 399 | +# Copyright (C) 2011 Free Software Foundation, Inc. |
---|
| 400 | +# |
---|
| 401 | +# This file is part of GCC. |
---|
| 402 | +# |
---|
| 403 | +# GCC is free software; you can redistribute it and/or modify |
---|
| 404 | +# it under the terms of the GNU General Public License as published by |
---|
| 405 | +# the Free Software Foundation; either version 3, or (at your option) |
---|
| 406 | +# any later version. |
---|
| 407 | +# |
---|
| 408 | +# GCC is distributed in the hope that it will be useful, |
---|
| 409 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 410 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 411 | +# GNU General Public License for more details. |
---|
| 412 | +# |
---|
| 413 | +# You should have received a copy of the GNU General Public License |
---|
| 414 | +# along with GCC; see the file COPYING3. If not see |
---|
| 415 | +# <http://www.gnu.org/licenses/>. |
---|
| 416 | +# |
---|
| 417 | diff -Naur gcc-4.6.1.orig/gcc/config.gcc gcc-4.6.1/gcc/config.gcc |
---|
| 418 | --- gcc-4.6.1.orig/gcc/config.gcc 2011-05-22 22:03:43.000000000 +0200 |
---|
| 419 | +++ gcc-4.6.1/gcc/config.gcc 2011-06-21 06:24:13.503492970 +0200 |
---|
| 420 | @@ -894,6 +894,17 @@ |
---|
| 421 | tm_file="${tm_file} arm/aout.h arm/arm.h" |
---|
| 422 | tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" |
---|
| 423 | ;; |
---|
| 424 | +arm*-*-rtemseabi*) |
---|
| 425 | + need_64bit_hwint=yes |
---|
| 426 | + default_use_cxa_atexit=yes |
---|
| 427 | + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" |
---|
| 428 | + tm_file="${tm_file} ../../libgcc/config/arm/bpabi-lib.h" |
---|
| 429 | + tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h" |
---|
| 430 | + tm_file="${tm_file} arm/aout.h arm/arm.h" |
---|
| 431 | + tmake_file="arm/t-arm arm/t-arm-elf" |
---|
| 432 | + tmake_file="${tmake_file} arm/t-bpabi t-rtems arm/t-rtems-eabi" |
---|
| 433 | + tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" |
---|
| 434 | + ;; |
---|
| 435 | arm*-*-rtems*) |
---|
| 436 | tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h" |
---|
| 437 | tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems" |
---|
| 438 | @@ -2527,8 +2538,8 @@ |
---|
| 439 | ;; |
---|
| 440 | sparc-*-rtems*) |
---|
| 441 | tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" |
---|
| 442 | - tmake_file="sparc/t-elf sparc/t-crtin sparc/t-crtfm t-rtems" |
---|
| 443 | - extra_parts="crtbegin.o crtend.o" |
---|
| 444 | + tmake_file="sparc/t-elf sparc/t-crtin sparc/t-crtfm sparc/t-rtems t-rtems" |
---|
| 445 | + extra_parts="crtbegin.o crtend.o crtbegin.o crtend.o" |
---|
| 446 | ;; |
---|
| 447 | sparc-*-linux*) |
---|
| 448 | tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h" |
---|
| 449 | @@ -2621,8 +2632,8 @@ |
---|
| 450 | sparc64-*-rtems*) |
---|
| 451 | tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h" |
---|
| 452 | extra_options="${extra_options} sparc/little-endian.opt" |
---|
| 453 | - tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm t-rtems" |
---|
| 454 | - extra_parts="crtbegin.o crtend.o" |
---|
| 455 | + tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm sparc/t-rtems t-rtems" |
---|
| 456 | + extra_parts="crtbegin.o crtend.o crtbegin.o crtend.o" |
---|
| 457 | ;; |
---|
| 458 | sparc64-*-linux*) |
---|
| 459 | tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/linux64.h" |
---|
| 460 | diff -Naur gcc-4.6.1.orig/gcc/ginclude/stddef.h gcc-4.6.1/gcc/ginclude/stddef.h |
---|
| 461 | --- gcc-4.6.1.orig/gcc/ginclude/stddef.h 2011-01-29 23:15:52.000000000 +0100 |
---|
| 462 | +++ gcc-4.6.1/gcc/ginclude/stddef.h 2011-06-21 06:24:13.505493015 +0200 |
---|
| 463 | @@ -53,7 +53,13 @@ |
---|
| 464 | one less case to deal with in the following. */ |
---|
| 465 | #if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__) |
---|
| 466 | #include <machine/ansi.h> |
---|
| 467 | +#if !defined(_MACHINE_ANSI_H_) |
---|
| 468 | +#if defined(_I386_ANSI_H_) || defined(_X86_64_ANSI_H_) |
---|
| 469 | +#define _MACHINE_ANSI_H_ |
---|
| 470 | #endif |
---|
| 471 | +#endif |
---|
| 472 | +#endif |
---|
| 473 | + |
---|
| 474 | /* On FreeBSD 5, machine/ansi.h does not exist anymore... */ |
---|
| 475 | #if defined (__FreeBSD__) && (__FreeBSD__ >= 5) |
---|
| 476 | #include <sys/_types.h> |
---|
| 477 | diff -Naur gcc-4.6.1.orig/libgcc/ChangeLog.rtems gcc-4.6.1/libgcc/ChangeLog.rtems |
---|
| 478 | --- gcc-4.6.1.orig/libgcc/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 |
---|
| 479 | +++ gcc-4.6.1/libgcc/ChangeLog.rtems 2011-06-21 06:24:13.506493030 +0200 |
---|
| 480 | @@ -0,0 +1,5 @@ |
---|
| 481 | +2010-08-17 Ralf Corsépius <ralf.corsepius@rtems.org> |
---|
| 482 | + |
---|
| 483 | + 1669/Tools, GCC-BZ 44793 |
---|
| 484 | + * config.host (powerpc-*-rtems*): Add tmake_file. |
---|
| 485 | + Add extra_parts. |
---|
| 486 | diff -Naur gcc-4.6.1.orig/libgcc/config.host gcc-4.6.1/libgcc/config.host |
---|
| 487 | --- gcc-4.6.1.orig/libgcc/config.host 2011-03-14 07:06:23.000000000 +0100 |
---|
| 488 | +++ gcc-4.6.1/libgcc/config.host 2011-06-21 06:24:13.506493030 +0200 |
---|
| 489 | @@ -483,6 +483,8 @@ |
---|
| 490 | tmake_file="${tmake_file} rs6000/t-ppccomm" |
---|
| 491 | ;; |
---|
| 492 | powerpc-*-rtems*) |
---|
| 493 | + tmake_file="${tmake_file} rs6000/t-ppccomm t-softfp" |
---|
| 494 | + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" |
---|
| 495 | ;; |
---|
| 496 | powerpc-*-linux* | powerpc64-*-linux*) |
---|
| 497 | tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp" |
---|