revert between 56095 -> 55830 in arch
[AROS.git] / tools / crosstools / gnu / gcc-8.3.0-aros.diff
blobc275d5e9b41189da67effa93ebc8e7a45e6f0237
1 diff -ruN gcc-8.3.0/configure gcc-8.3.0.aros/configure
2 --- gcc-8.3.0/configure 2019-02-22 14:22:13.000000000 +0000
3 +++ gcc-8.3.0.aros/configure 2019-03-02 21:36:33.831874200 +0000
4 @@ -3791,6 +3791,9 @@
5 powerpcle-*-solaris*)
6 noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
7 ;;
8 + *-*-aros*)
9 + noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv gdb"
10 + ;;
11 powerpc-*-beos*)
12 noconfigdirs="$noconfigdirs gdb"
14 @@ -3926,6 +3929,8 @@
15 rs6000-*-aix*)
16 host_makefile_frag="config/mh-ppc-aix"
18 + *-*-aros*)
19 + ;;
20 esac
23 diff -ruN gcc-8.3.0/configure.ac gcc-8.3.0.aros/configure.ac
24 --- gcc-8.3.0/configure.ac 2018-02-13 13:01:33.000000000 +0000
25 +++ gcc-8.3.0.aros/configure.ac 2019-03-02 21:36:33.831874200 +0000
26 @@ -1122,6 +1122,9 @@
27 powerpcle-*-solaris*)
28 noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
30 + *-*-aros*)
31 + noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv gdb"
32 + ;;
33 powerpc-*-beos*)
34 noconfigdirs="$noconfigdirs gdb"
36 @@ -1238,6 +1241,8 @@
37 rs6000-*-aix*)
38 host_makefile_frag="config/mh-ppc-aix"
40 + *-*-aros*)
41 + ;;
42 esac
45 diff -ruN gcc-8.3.0/fixincludes/configure gcc-8.3.0.aros/fixincludes/configure
46 --- gcc-8.3.0/fixincludes/configure 2018-04-18 10:46:58.000000000 +0100
47 +++ gcc-8.3.0.aros/fixincludes/configure 2019-03-02 21:36:33.831874200 +0000
48 @@ -4752,6 +4752,7 @@
50 else
51 case $host in
52 + *-*-aros* | \
53 i?86-*-msdosdjgpp* | \
54 i?86-*-mingw32* | \
55 x86_64-*-mingw32* | \
56 diff -ruN gcc-8.3.0/fixincludes/configure.ac gcc-8.3.0.aros/fixincludes/configure.ac
57 --- gcc-8.3.0/fixincludes/configure.ac 2017-01-17 09:38:48.000000000 +0000
58 +++ gcc-8.3.0.aros/fixincludes/configure.ac 2019-03-02 21:36:33.831874200 +0000
59 @@ -50,6 +50,7 @@
60 TARGET=oneprocess
61 fi],
62 [case $host in
63 + *-*-aros* | \
64 i?86-*-msdosdjgpp* | \
65 i?86-*-mingw32* | \
66 x86_64-*-mingw32* | \
67 diff -ruN gcc-8.3.0/gcc/config/aarch64/aros.h gcc-8.3.0.aros/gcc/config/aarch64/aros.h
68 --- gcc-8.3.0/gcc/config/aarch64/aros.h 1970-01-01 00:00:00.000000000 +0000
69 +++ gcc-8.3.0.aros/gcc/config/aarch64/aros.h 2019-03-02 21:36:33.831874200 +0000
70 @@ -0,0 +1,63 @@
71 +/* Configuration file for ARM AROS EABI targets.
72 + Copyright (C) 2004, 2005, 2006, 2007, 2010
73 + Free Software Foundation, Inc.
74 + Contributed by Pavel Fedin
75 + Based on linux-eabi.h and other AROS targets
77 + This file is part of GCC.
79 + GCC is free software; you can redistribute it and/or modify it
80 + under the terms of the GNU General Public License as published
81 + by the Free Software Foundation; either version 3, or (at your
82 + option) any later version.
84 + GCC is distributed in the hope that it will be useful, but WITHOUT
85 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
86 + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
87 + License for more details.
89 + You should have received a copy of the GNU General Public License
90 + along with GCC; see the file COPYING3. If not see
91 + <http://www.gnu.org/licenses/>. */
93 +/* On EABI GNU/Linux, we want both the BPABI builtins and the
94 + GNU/Linux builtins. */
95 +#undef TARGET_OS_CPP_BUILTINS
96 +#define TARGET_OS_CPP_BUILTINS() \
97 + do \
98 + { \
99 + builtin_define_std ("AROS"); \
100 + builtin_define ("AMIGA"); \
101 + builtin_define ("_AMIGA"); \
102 + builtin_assert ("system=posix"); \
103 + if (flag_pic) \
104 + { \
105 + builtin_define ("__PIC__"); \
106 + builtin_define ("__pic__"); \
107 + } \
108 + } \
109 + while (false)
111 +/* TARGET_BIG_ENDIAN_DEFAULT is set in
112 + config.gcc for big endian configurations. */
113 +#undef TARGET_LINKER_EMULATION
114 +#if TARGET_BIG_ENDIAN_DEFAULT
115 +#define TARGET_LINKER_EMULATION "aarch64elfb_aros"
116 +#else
117 +#define TARGET_LINKER_EMULATION "aarch64elf_aros"
118 +#endif
120 +#undef SUBTARGET_CPP_SPEC
121 +#define SUBTARGET_CPP_SPEC "-D__ELF__ %{!nostdinc:%{!nostdc:%{!noposixc: -idirafter %R/include/aros/posixc} -idirafter %R/include/aros/stdc}}"
123 +#undef SUBTARGET_EXTRA_LINK_SPEC
124 +#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION
126 +/* Provide a LINK_SPEC appropriate for AROS. */
127 +#undef LINK_SPEC
128 +#define LINK_SPEC SUBTARGET_EXTRA_LINK_SPEC " -L %R/lib"
130 +/* Use own supplement to libgcc. */
131 +#undef LIBGCC_SPEC
132 +#define LIBGCC_SPEC "-lgcc"
134 diff -ruN gcc-8.3.0/gcc/config/aarch64/t-aros gcc-8.3.0.aros/gcc/config/aarch64/t-aros
135 --- gcc-8.3.0/gcc/config/aarch64/t-aros 1970-01-01 00:00:00.000000000 +0000
136 +++ gcc-8.3.0.aros/gcc/config/aarch64/t-aros 2019-03-02 21:36:33.831874200 +0000
137 @@ -0,0 +1,21 @@
138 +# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
139 +# 2008, 2010 Free Software Foundation, Inc.
141 +# This file is part of GCC.
143 +# GCC is free software; you can redistribute it and/or modify
144 +# it under the terms of the GNU General Public License as published by
145 +# the Free Software Foundation; either version 3, or (at your option)
146 +# any later version.
148 +# GCC is distributed in the hope that it will be useful,
149 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
150 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
151 +# GNU General Public License for more details.
153 +# You should have received a copy of the GNU General Public License
154 +# along with GCC; see the file COPYING3. If not see
155 +# <http://www.gnu.org/licenses/>.
159 diff -ruN gcc-8.3.0/gcc/config/arm/aros.h gcc-8.3.0.aros/gcc/config/arm/aros.h
160 --- gcc-8.3.0/gcc/config/arm/aros.h 1970-01-01 00:00:00.000000000 +0000
161 +++ gcc-8.3.0.aros/gcc/config/arm/aros.h 2019-03-02 21:36:33.831874200 +0000
162 @@ -0,0 +1,82 @@
163 +/* Configuration file for ARM AROS EABI targets.
164 + Copyright (C) 2004, 2005, 2006, 2007, 2010
165 + Free Software Foundation, Inc.
166 + Contributed by Pavel Fedin
167 + Based on linux-eabi.h and other AROS targets
169 + This file is part of GCC.
171 + GCC is free software; you can redistribute it and/or modify it
172 + under the terms of the GNU General Public License as published
173 + by the Free Software Foundation; either version 3, or (at your
174 + option) any later version.
176 + GCC is distributed in the hope that it will be useful, but WITHOUT
177 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
178 + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
179 + License for more details.
181 + You should have received a copy of the GNU General Public License
182 + along with GCC; see the file COPYING3. If not see
183 + <http://www.gnu.org/licenses/>. */
185 +/* On EABI GNU/Linux, we want both the BPABI builtins and the
186 + GNU/Linux builtins. */
187 +#undef TARGET_OS_CPP_BUILTINS
188 +#define TARGET_OS_CPP_BUILTINS() \
189 + do \
190 + { \
191 + TARGET_BPABI_CPP_BUILTINS(); \
192 + builtin_define_std ("AROS"); \
193 + builtin_define ("AMIGA"); \
194 + builtin_define ("_AMIGA"); \
195 + builtin_assert ("system=posix"); \
196 + if (flag_pic) \
197 + { \
198 + builtin_define ("__PIC__"); \
199 + builtin_define ("__pic__"); \
200 + } \
201 + } \
202 + while (false)
204 +/* We default to a softfp ABI so that we are compatible
205 + with the Linux EABI (as used by the linker). */
206 +#undef TARGET_DEFAULT_FLOAT_ABI
207 +#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFTFP
209 +/* We default to the "aapcs-linux" ABI so that enums are int-sized by
210 + default. */
211 +#undef ARM_DEFAULT_ABI
212 +#define ARM_DEFAULT_ABI ARM_ABI_AAPCS_LINUX
214 +/* Default to armv5t so that thumb shared libraries work.
215 + The ARM10TDMI core is the default for armv5t, so set
216 + SUBTARGET_CPU_DEFAULT to achieve this. */
217 +#undef SUBTARGET_CPU_DEFAULT
218 +#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
220 +/* TARGET_BIG_ENDIAN_DEFAULT is set in
221 + config.gcc for big endian configurations. */
222 +#undef TARGET_LINKER_EMULATION
223 +#if TARGET_BIG_ENDIAN_DEFAULT
224 +#define TARGET_LINKER_EMULATION "armelfb_aros"
225 +#else
226 +#define TARGET_LINKER_EMULATION "armelf_aros"
227 +#endif
229 +#undef SUBTARGET_CPP_SPEC
230 +#define SUBTARGET_CPP_SPEC "-D__ELF__ %{!nostdinc:%{!nostdc:%{!noposixc: -idirafter %R/include/aros/posixc} -idirafter %R/include/aros/stdc}}"
232 +#undef SUBTARGET_EXTRA_LINK_SPEC
233 +#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION
235 +/* Provide a LINK_SPEC appropriate for AROS. */
236 +#undef LINK_SPEC
237 +#define LINK_SPEC SUBTARGET_EXTRA_LINK_SPEC " -L %R/lib"
239 +/* Use own supplement to libgcc. */
240 +#undef LIBGCC_SPEC
241 +#define LIBGCC_SPEC "-laeabi -lgcc"
243 +/* FIXME: AROS doesn't support dw2 unwinding yet. */
244 +#undef MD_FALLBACK_FRAME_STATE_FOR
245 diff -ruN gcc-8.3.0/gcc/config/arm/t-aros gcc-8.3.0.aros/gcc/config/arm/t-aros
246 --- gcc-8.3.0/gcc/config/arm/t-aros 1970-01-01 00:00:00.000000000 +0000
247 +++ gcc-8.3.0.aros/gcc/config/arm/t-aros 2019-03-02 21:36:33.831874200 +0000
248 @@ -0,0 +1,34 @@
249 +# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
250 +# 2008, 2010 Free Software Foundation, Inc.
252 +# This file is part of GCC.
254 +# GCC is free software; you can redistribute it and/or modify
255 +# it under the terms of the GNU General Public License as published by
256 +# the Free Software Foundation; either version 3, or (at your option)
257 +# any later version.
259 +# GCC is distributed in the hope that it will be useful,
260 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
261 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
262 +# GNU General Public License for more details.
264 +# You should have received a copy of the GNU General Public License
265 +# along with GCC; see the file COPYING3. If not see
266 +# <http://www.gnu.org/licenses/>.
268 +# Enumeration of multilibs
270 +MULTILIB_OPTIONS = marm march=armv6/march=armv7-a/march=armv7-a+simd
271 +MULTILIB_DIRNAMES = arm armv6 armv7-a armv7-a+simd
272 +MULTILIB_EXCEPTIONS =
273 +MULTILIB_MATCHES =
274 +MULTILIB_REUSE =
275 +MULTILIB_REQUIRED =
277 +MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft
278 +MULTILIB_DIRNAMES += fpu soft
279 +MULTILIB_MATCHES += mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float
281 +MULTILIB_OPTIONS += mbig-endian
282 +MULTILIB_DIRNAMES += eb
283 diff -ruN gcc-8.3.0/gcc/config/aros-stdint.h gcc-8.3.0.aros/gcc/config/aros-stdint.h
284 --- gcc-8.3.0/gcc/config/aros-stdint.h 1970-01-01 00:00:00.000000000 +0000
285 +++ gcc-8.3.0.aros/gcc/config/aros-stdint.h 2019-03-02 21:36:33.831874200 +0000
286 @@ -0,0 +1,56 @@
287 +/* Definitions for <stdint.h> types for AROS systems.
288 + Copyright (C) 2018 Free Software Foundation, Inc.
289 + Contributed by Nick Andrews <kalamatee@gmail.com>
291 +This file is part of GCC.
293 +GCC is free software; you can redistribute it and/or modify
294 +it under the terms of the GNU General Public License as published by
295 +the Free Software Foundation; either version 3, or (at your option)
296 +any later version.
298 +GCC is distributed in the hope that it will be useful,
299 +but WITHOUT ANY WARRANTY; without even the implied warranty of
300 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
301 +GNU General Public License for more details.
303 +Under Section 7 of GPL version 3, you are granted additional
304 +permissions described in the GCC Runtime Library Exception, version
305 +3.1, as published by the Free Software Foundation.
307 +You should have received a copy of the GNU General Public License and
308 +a copy of the GCC Runtime Library Exception along with this program;
309 +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
310 +<http://www.gnu.org/licenses/>. */
312 +#define SIG_ATOMIC_TYPE "int"
314 +#define INT8_TYPE "signed char"
315 +#define INT16_TYPE "short int"
316 +#define INT32_TYPE "int"
317 +#define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
318 +#define UINT8_TYPE "unsigned char"
319 +#define UINT16_TYPE "short unsigned int"
320 +#define UINT32_TYPE "unsigned int"
321 +#define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
323 +#define INT_LEAST8_TYPE INT8_TYPE
324 +#define INT_LEAST16_TYPE INT16_TYPE
325 +#define INT_LEAST32_TYPE INT32_TYPE
326 +#define INT_LEAST64_TYPE INT64_TYPE
327 +#define UINT_LEAST8_TYPE UINT8_TYPE
328 +#define UINT_LEAST16_TYPE UINT16_TYPE
329 +#define UINT_LEAST32_TYPE UINT32_TYPE
330 +#define UINT_LEAST64_TYPE UINT64_TYPE
332 +#define INT_FAST8_TYPE INT32_TYPE
333 +#define INT_FAST16_TYPE INT32_TYPE
334 +#define INT_FAST32_TYPE INT32_TYPE
335 +#define INT_FAST64_TYPE INT64_TYPE
336 +#define UINT_FAST8_TYPE UINT32_TYPE
337 +#define UINT_FAST16_TYPE UINT32_TYPE
338 +#define UINT_FAST32_TYPE UINT32_TYPE
339 +#define UINT_FAST64_TYPE UINT64_TYPE
341 +#define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? INT64_TYPE : INT32_TYPE)
342 +#define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? UINT64_TYPE : UINT32_TYPE)
343 diff -ruN gcc-8.3.0/gcc/config/aros.h gcc-8.3.0.aros/gcc/config/aros.h
344 --- gcc-8.3.0/gcc/config/aros.h 1970-01-01 00:00:00.000000000 +0000
345 +++ gcc-8.3.0.aros/gcc/config/aros.h 2019-03-02 21:36:33.831874200 +0000
346 @@ -0,0 +1,115 @@
347 +/* Definitions for AROS
348 + Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
349 + Contributed by Fabio Alemagna
350 + Based upon linux.h, contributed by Eric Youngdale.
352 +This file is part of GNU CC.
354 +GNU CC is free software; you can redistribute it and/or modify
355 +it under the terms of the GNU General Public License as published by
356 +the Free Software Foundation; either version 2, or (at your option)
357 +any later version.
359 +GNU CC is distributed in the hope that it will be useful,
360 +but WITHOUT ANY WARRANTY; without even the implied warranty of
361 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
362 +GNU General Public License for more details.
364 +You should have received a copy of the GNU General Public License
365 +along with GNU CC; see the file COPYING. If not, write to
366 +the Free Software Foundation, 59 Temple Place - Suite 330,
367 +Boston, MA 02111-1307, USA. */
369 +/* Don't assume anything about the header files. */
370 +#define NO_IMPLICIT_EXTERN_C
372 +#undef SIZE_TYPE
373 +#define SIZE_TYPE "long unsigned int"
375 +#undef WCHAR_TYPE
376 +#define WCHAR_TYPE "char"
378 +#undef WCHAR_TYPE_SIZE
379 +#define WCHAR_TYPE_SIZE 8
381 +#undef PTRDIFF_TYPE
382 +#define PTRDIFF_TYPE "long int"
384 +#undef TARGET_OS_CPP_BUILTINS
385 +#define TARGET_OS_CPP_BUILTINS() \
386 + do \
387 + { \
388 + builtin_define_std ("AROS"); \
389 + builtin_define ("AMIGA"); \
390 + builtin_define ("_AMIGA"); \
391 + builtin_define ("__ELF__"); \
392 + builtin_assert ("system=posix"); \
393 + } \
394 + while (0)
396 +#undef ASM_APP_ON
397 +#define ASM_APP_ON "#APP\n"
399 +#undef ASM_APP_OFF
400 +#define ASM_APP_OFF "#NO_APP\n"
402 +#undef MD_EXEC_PREFIX
403 +#undef MD_STARTFILE_PREFIX
405 +/* Provide a STARTFILE_SPEC appropriate for AROS. AROS has its own
406 + set of startup files which also take care of handling C++
407 + constructors/destructors. */
409 +#undef STARTFILE_SPEC
410 +#define STARTFILE_SPEC \
411 + "startup%O%s %{detach:detach%O%s} %{nix:nixmain%O%s}"
413 +/* Provide a ENDFILE_SPEC appropriate for AROS. */
415 +#undef ENDFILE_SPEC
416 +#define ENDFILE_SPEC \
417 + "-lautoinit"
419 +/* The compiler is configured with ONLY the gcc/g++ standard headers.
420 + N.B-: NATIVE_SYSTEM_HEADER_DIR must come after GCC_INCLUDE_DIR with gcc6!! */
421 +#undef INCLUDE_DEFAULTS
422 +#define INCLUDE_DEFAULTS \
423 +{ \
424 + { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
425 + { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
426 + { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
427 + { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
428 + { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, \
429 + { 0, 0, 0, 0, 0, 0 } \
432 +#undef CPP_SPEC
433 +#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} %{nix:-D__NIX__} %{!nostdinc:%{!nostdc:%{!noposixc:-idirafter %R/include/aros/posixc} -idirafter %R/include/aros/stdc}}"
435 +/* This is for -profile to use -lc_p instead of -lc. */
436 +#ifndef CC1_SPEC
437 +#define CC1_SPEC "%{profile:-p}"
438 +#endif
440 +/* The GNU C++ standard library requires that these macros be defined. */
441 +#undef CPLUSPLUS_CPP_SPEC
442 +#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
444 +#undef LIB_SPEC
445 +#define LIB_SPEC \
446 + "--start-group -lmui -larossupport -lamiga %{!nostartfiles:%{!static:%{!nostdc:%{!noposixc:-lposixc} -lstdcio -lstdc}}%{static:%{!nostdc:-lstdc.static}}} -lcodesets -lkeymap -lexpansion -lcommodities -ldiskfont -lasl -lmuimaster -ldatatypes -lcybergraphics -lworkbench -licon -lintuition -lgadtools -llayers -laros -lpartition -liffparse -lgraphics -llocale -ldos -lutility -loop %{!nosysbase:-lexec} -lautoinit -llibinit %{nostartfiles:%{static:-lstdc.static}} --end-group"
448 +#undef LIBSTDCXX_STATIC
449 +#define LIBSTDCXX_STATIC "pthread"
451 +#if !defined(USE_GNULIBC_1) && defined(HAVE_LD_EH_FRAME_HDR)
452 +#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
453 +#endif
455 +/* AROS uses its own collect-like program for the moment. */
456 +#undef LINKER_NAME
457 +#define LINKER_NAME "collect-aros"
459 +#define TARGET_HAS_F_SETLKW
461 +#define TARGET_POSIX_IO
462 diff -ruN gcc-8.3.0/gcc/config/aros.opt gcc-8.3.0.aros/gcc/config/aros.opt
463 --- gcc-8.3.0/gcc/config/aros.opt 1970-01-01 00:00:00.000000000 +0000
464 +++ gcc-8.3.0.aros/gcc/config/aros.opt 2019-03-02 21:36:33.831874200 +0000
465 @@ -0,0 +1,35 @@
466 +; Processor-independent options for AROS.
468 +; Copyright (C) 2015 Free Software Foundation, Inc.
470 +; This file is part of GCC.
472 +; GCC is free software; you can redistribute it and/or modify it under
473 +; the terms of the GNU General Public License as published by the Free
474 +; Software Foundation; either version 3, or (at your option) any later
475 +; version.
477 +; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
478 +; WARRANTY; without even the implied warranty of MERCHANTABILITY or
479 +; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
480 +; for more details.
482 +; You should have received a copy of the GNU General Public License
483 +; along with GCC; see the file COPYING3. If not see
484 +; <http://www.gnu.org/licenses/>.
486 +posix
487 +Driver
489 +noposixc
490 +Driver
492 +nostdc
493 +Driver
495 +nosysbase
496 +Driver
498 +nix
499 +Driver
501 diff -ruN gcc-8.3.0/gcc/config/i386/aros.h gcc-8.3.0.aros/gcc/config/i386/aros.h
502 --- gcc-8.3.0/gcc/config/i386/aros.h 1970-01-01 00:00:00.000000000 +0000
503 +++ gcc-8.3.0.aros/gcc/config/i386/aros.h 2019-03-02 21:36:33.831874200 +0000
504 @@ -0,0 +1,25 @@
505 +/* Definitions for Intel 386 running AROS systems with ELF format.
506 + Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002
507 + Free Software Foundation, Inc.
508 + Contributed by Fabio Alemagna.
509 + Based upon i386/linux.h by Eric Youngdale.
511 +This file is part of GNU CC.
513 +GNU CC is free software; you can redistribute it and/or modify
514 +it under the terms of the GNU General Public License as published by
515 +the Free Software Foundation; either version 2, or (at your option)
516 +any later version.
518 +GNU CC is distributed in the hope that it will be useful,
519 +but WITHOUT ANY WARRANTY; without even the implied warranty of
520 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
521 +GNU General Public License for more details.
523 +You should have received a copy of the GNU General Public License
524 +along with GNU CC; see the file COPYING. If not, write to
525 +the Free Software Foundation, 59 Temple Place - Suite 330,
526 +Boston, MA 02111-1307, USA. */
528 +#undef LINK_SPEC
529 +#define LINK_SPEC "-m elf_i386 -L%R/lib"
530 diff -ruN gcc-8.3.0/gcc/config/i386/aros64.h gcc-8.3.0.aros/gcc/config/i386/aros64.h
531 --- gcc-8.3.0/gcc/config/i386/aros64.h 1970-01-01 00:00:00.000000000 +0000
532 +++ gcc-8.3.0.aros/gcc/config/i386/aros64.h 2019-03-02 21:36:33.831874200 +0000
533 @@ -0,0 +1,34 @@
534 +/* Definitions for AMD x86_64 running AROS systems with ELF64 format.
535 + Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002
536 + Free Software Foundation, Inc.
537 + Contributed by Stanislaw Szymczyk <sszymczy@gmail.com>. Based on aros.h.
539 +This file is part of GNU CC.
541 +GNU CC is free software; you can redistribute it and/or modify
542 +it under the terms of the GNU General Public License as published by
543 +the Free Software Foundation; either version 2, or (at your option)
544 +any later version.
546 +GNU CC is distributed in the hope that it will be useful,
547 +but WITHOUT ANY WARRANTY; without even the implied warranty of
548 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
549 +GNU General Public License for more details.
551 +You should have received a copy of the GNU General Public License
552 +along with GNU CC; see the file COPYING. If not, write to
553 +the Free Software Foundation, 59 Temple Place - Suite 330,
554 +Boston, MA 02111-1307, USA. */
556 +/* The svr4 ABI for the i386 says that records and unions are returned
557 + in memory. In the 64bit compilation we will turn this flag off in
558 + override_options, as we never do pcc_struct_return scheme on this target. */
559 +#undef DEFAULT_PCC_STRUCT_RETURN
560 +#define DEFAULT_PCC_STRUCT_RETURN 1
562 +/* Provide a LINK_SPEC appropriate for AROS. */
564 +#undef LINK_SPEC
565 +#define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} -L %R/lib"
567 +/* FIXME: AROS doesn't support dw2 unwinding yet. */
568 diff -ruN gcc-8.3.0/gcc/config/m68k/m68k.c gcc-8.3.0.aros/gcc/config/m68k/m68k.c
569 --- gcc-8.3.0/gcc/config/m68k/m68k.c 2018-01-24 23:36:29.000000000 +0000
570 +++ gcc-8.3.0.aros/gcc/config/m68k/m68k.c 2019-03-02 21:36:33.831874200 +0000
571 @@ -4484,7 +4484,7 @@
572 else if (letter == '/')
573 asm_fprintf (file, "%R");
574 else if (letter == '?')
575 - asm_fprintf (file, m68k_library_id_string);
576 + asm_fprintf (file, "%s", m68k_library_id_string);
577 else if (letter == 'p')
579 output_addr_const (file, op);
580 diff -ruN gcc-8.3.0/gcc/config/m68k/m68k.h gcc-8.3.0.aros/gcc/config/m68k/m68k.h
581 --- gcc-8.3.0/gcc/config/m68k/m68k.h 2018-01-03 10:03:58.000000000 +0000
582 +++ gcc-8.3.0.aros/gcc/config/m68k/m68k.h 2019-03-02 21:36:33.831874200 +0000
583 @@ -325,7 +325,9 @@
584 register elimination. */
585 #define FIRST_PSEUDO_REGISTER 25
587 -/* All m68k targets (except AmigaOS) use %a5 as the PIC register */
588 +/* All m68k targets (except AmigaOS) use %a5 as the PIC register.
589 + * On AmigaOS, we use %a4
590 + */
591 #define PIC_OFFSET_TABLE_REGNUM \
592 (!flag_pic ? INVALID_REGNUM \
593 : reload_completed ? REGNO (pic_offset_table_rtx) \
594 @@ -398,7 +400,8 @@
595 /* Most m68k targets use %a6 as a frame pointer. The AmigaOS
596 ABI uses %a6 for shared library calls, therefore the frame
597 pointer is shifted to %a5 on this target. */
598 -#define FRAME_POINTER_REGNUM A6_REG
599 +#define FRAME_POINTER_REGNUM A5_REG
600 +#define PIC_REG A4_REG
602 /* Base register for access to arguments of the function.
603 * This isn't a hardware register. It will be eliminated to the
604 diff -ruN gcc-8.3.0/gcc/config/m68k/m68k.md gcc-8.3.0.aros/gcc/config/m68k/m68k.md
605 --- gcc-8.3.0/gcc/config/m68k/m68k.md 2018-08-02 18:23:13.000000000 +0100
606 +++ gcc-8.3.0.aros/gcc/config/m68k/m68k.md 2019-03-02 21:36:33.831874200 +0000
607 @@ -133,7 +133,8 @@
608 [(D0_REG 0)
609 (A0_REG 8)
610 (A1_REG 9)
611 - (PIC_REG 13)
612 + (A4_REG 12)
613 + (A5_REG 13)
614 (A6_REG 14)
615 (SP_REG 15)
616 (FP0_REG 16)
617 @@ -7166,7 +7167,7 @@
619 if (TARGET_ID_SHARED_LIBRARY)
621 - operands[1] = gen_rtx_REG (Pmode, PIC_REG);
622 + operands[1] = gen_rtx_REG (Pmode, A4_REG);
623 return MOTOROLA ? "move.l %?(%1),%0" : "movel %1@(%?), %0";
625 else if (MOTOROLA)
626 diff -ruN gcc-8.3.0/gcc/config/m68k/t-aros gcc-8.3.0.aros/gcc/config/m68k/t-aros
627 --- gcc-8.3.0/gcc/config/m68k/t-aros 1970-01-01 00:00:00.000000000 +0000
628 +++ gcc-8.3.0.aros/gcc/config/m68k/t-aros 2019-03-02 21:36:33.831874200 +0000
629 @@ -0,0 +1,2 @@
630 +# Custom multilibs for AROS
631 +M68K_MLIB_CPU += && match(MLIB, "^68")
632 diff -ruN gcc-8.3.0/gcc/config/rs6000/aros.h gcc-8.3.0.aros/gcc/config/rs6000/aros.h
633 --- gcc-8.3.0/gcc/config/rs6000/aros.h 1970-01-01 00:00:00.000000000 +0000
634 +++ gcc-8.3.0.aros/gcc/config/rs6000/aros.h 2019-03-02 21:36:33.831874200 +0000
635 @@ -0,0 +1,151 @@
636 +/* Definitions for Powerpc running AROS systems with ELF format.
637 + Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002
638 + Free Software Foundation, Inc.
639 + Contributed by Markus Weiss.
640 + Based upon i386/aros.h by Fabio Alemagna.
642 +This file is part of GNU CC.
644 +GNU CC is free software; you can redistribute it and/or modify
645 +it under the terms of the GNU General Public License as published by
646 +the Free Software Foundation; either version 2, or (at your option)
647 +any later version.
649 +GNU CC is distributed in the hope that it will be useful,
650 +but WITHOUT ANY WARRANTY; without even the implied warranty of
651 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
652 +GNU General Public License for more details.
654 +You should have received a copy of the GNU General Public License
655 +along with GNU CC; see the file COPYING. If not, write to
656 +the Free Software Foundation, 59 Temple Place - Suite 330,
657 +Boston, MA 02111-1307, USA. */
659 +/* Symbols missing in comparison to i386/aros.h are either
660 + defined in elfos.h, rs6000/rs6000.h rs6000/sysv4.h
661 + or not needed for PowerPC.
664 +/* We need to define __powerpc__. */
666 +#undef TARGET_OS_CPP_BUILTINS
667 +#define TARGET_OS_CPP_BUILTINS() \
668 + do \
669 + { \
670 + builtin_define_std ("AROS"); \
671 + builtin_define ("AMIGA"); \
672 + builtin_define ("_AMIGA"); \
673 + builtin_define ("__powerpc__"); \
674 + builtin_define ("__ELF__"); \
675 + builtin_assert ("system=posix"); \
676 + if (flag_pic) \
677 + { \
678 + builtin_define ("__PIC__"); \
679 + builtin_define ("__pic__"); \
680 + } \
681 + } \
682 + while (0)
684 +/* This one taken from linux.h. */
685 +/* We are 32-bit all the time, so optimize a little. */
686 +#undef TARGET_64BIT
687 +#define TARGET_64BIT 0
689 +/* The svr4 ABI for the i386 says that records and unions are returned
690 + in memory. */
691 +/*#undef DEFAULT_PCC_STRUCT_RETURN
692 +#define DEFAULT_PCC_STRUCT_RETURN 1
693 +see rs6000/rs6000.h
697 +#undef ASM_COMMENT_START
698 +#define ASM_COMMENT_START "#"
699 +see rs6000/rs6000.h
703 +#undef DBX_REGISTER_NUMBER
704 +#define DBX_REGISTER_NUMBER(n) \
705 + (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
706 +see rs6000/sysv4.h
709 +/* Output assembler code to FILE to call the profiler.
710 + To the best of my knowledge, no Linux libc has required the label
711 + argument to mcount. */
714 +#define NO_PROFILE_COUNTERS 1
715 +not used by other similar ppc compilers
716 +only in darwin.h rs6000/linux64.h rs6000/rs6000.c
720 +#undef MCOUNT_NAME
721 +#define MCOUNT_NAME "mcount"
722 +see rs6000/sysv4.h RS6000_MCOUNT
725 +/* The GLIBC version of mcount for the x86 assumes that there is a
726 + frame, so we cannot allow profiling without a frame pointer. */
728 +#undef SUBTARGET_FRAME_POINTER_REQUIRED
729 +#define SUBTARGET_FRAME_POINTER_REQUIRED crtl->profile
730 +seems to be handled by rs6000/rs6000.h
733 +#undef CC1_SPEC
734 +#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
736 +/* Provide a LINK_SPEC appropriate for AROS. */
738 +#undef LINK_SPEC
739 +#define LINK_SPEC "-m elf32ppc -L %R/lib"
741 +/* A C statement (sans semicolon) to output to the stdio stream
742 + FILE the assembler definition of uninitialized global DECL named
743 + NAME whose size is SIZE bytes and alignment is ALIGN bytes.
744 + Try to use asm_output_aligned_bss to implement this macro. */
746 +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
747 + asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
748 +see rs6000/sysv4.h
751 +/* A C statement to output to the stdio stream FILE an assembler
752 + command to advance the location counter to a multiple of 1<<LOG
753 + bytes if it is within MAX_SKIP bytes.
755 + This is used to align code labels according to Intel recommendations. */
757 +#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
758 +#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
759 + do { \
760 + if ((LOG) != 0) { \
761 + if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
762 + else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
763 + } \
764 + } while (0)
765 +#endif
766 +see rs6000/sysv4.h
769 +/* Handle special EH pointer encodings. Absolute, pc-relative, and
770 + indirect are handled automatically. */
772 +#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
773 + do { \
774 + if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel) \
775 + { \
776 + fputs (ASM_LONG, FILE); \
777 + assemble_name (FILE, XSTR (ADDR, 0)); \
778 + fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
779 + goto DONE; \
780 + } \
781 + } while (0)
782 +not used for PowerPC
785 +/* FIXME: AROS doesn't support dw2 unwinding yet. */
786 +#undef MD_FALLBACK_FRAME_STATE_FOR
787 diff -ruN gcc-8.3.0/gcc/config/rs6000/rs6000.c gcc-8.3.0.aros/gcc/config/rs6000/rs6000.c
788 --- gcc-8.3.0/gcc/config/rs6000/rs6000.c 2019-02-13 19:20:56.000000000 +0000
789 +++ gcc-8.3.0.aros/gcc/config/rs6000/rs6000.c 2019-03-02 21:36:33.831874200 +0000
790 @@ -1545,6 +1545,8 @@
791 rs6000_handle_longcall_attribute, NULL },
792 { "shortcall", 0, 0, false, true, true, false,
793 rs6000_handle_longcall_attribute, NULL },
794 + { "stackparm", 0, 0, false, true, true, false,
795 + rs6000_handle_longcall_attribute, NULL },
796 { "ms_struct", 0, 0, false, false, false, false,
797 rs6000_handle_struct_attribute, NULL },
798 { "gcc_struct", 0, 0, false, false, false, false,
799 @@ -11379,6 +11381,9 @@
800 && !lookup_attribute ("shortcall", TYPE_ATTRIBUTES (fntype))))
801 cum->call_cookie |= CALL_LONG;
803 + cum->stackparm = fntype && lookup_attribute("stackparm",
804 + TYPE_ATTRIBUTES(fntype));
806 if (TARGET_DEBUG_ARG)
808 fprintf (stderr, "\ninit_cumulative_args:");
809 @@ -12468,6 +12473,9 @@
811 rs6000_discover_homogeneous_aggregate (mode, type, &elt_mode, &n_elts);
813 + if (cum->stackparm)
814 + return NULL_RTX;
816 if (TARGET_MACHO && rs6000_darwin64_struct_check_p (mode, type))
818 rtx rslt = rs6000_darwin64_record_arg (cum, type, named, /*retval= */false);
819 @@ -13068,6 +13076,8 @@
821 /* Skip the last named argument. */
822 next_cum = *get_cumulative_args (cum);
823 + if (next_cum.stackparm)
824 + return;
825 rs6000_function_arg_advance_1 (&next_cum, mode, type, true, 0);
827 if (DEFAULT_ABI == ABI_V4)
828 diff -ruN gcc-8.3.0/gcc/config/rs6000/rs6000.h gcc-8.3.0.aros/gcc/config/rs6000/rs6000.h
829 --- gcc-8.3.0/gcc/config/rs6000/rs6000.h 2018-06-25 20:34:01.000000000 +0100
830 +++ gcc-8.3.0.aros/gcc/config/rs6000/rs6000.h 2019-03-02 21:36:33.831874200 +0000
831 @@ -1729,6 +1729,7 @@
832 int nargs_prototype; /* # args left in the current prototype */
833 int prototype; /* Whether a prototype was defined */
834 int stdarg; /* Whether function is a stdarg function. */
835 + int stackparm; /* Whether function has all args on the stack */
836 int call_cookie; /* Do special things for this call */
837 int sysv_gregno; /* next available GP register */
838 int intoffset; /* running offset in struct (darwin64) */
839 diff -ruN gcc-8.3.0/gcc/config/t-aros gcc-8.3.0.aros/gcc/config/t-aros
840 --- gcc-8.3.0/gcc/config/t-aros 1970-01-01 00:00:00.000000000 +0000
841 +++ gcc-8.3.0.aros/gcc/config/t-aros 2019-03-02 21:36:33.831874200 +0000
842 @@ -0,0 +1,29 @@
843 +# In AROS, "/usr" is a four-letter word.
844 +# Must match NATIVE_SYSTEM_HEADER_COMPONENT in aros.h !
845 +NATIVE_SYSTEM_HEADER_DIR = /include
847 +# Don't add AROS target include path when compiling host compiler
848 +CPPFLAGS =
850 +# Copy AROS specific include replacement files
851 +LIBGCC_DEPS += stmp-aros-hrds
853 +EXTRA_AROS_HEADERS = aros/types/size_t.h aros/types/ptrdiff_t.h \
854 + aros/types/wchar_t.h aros/types/wint_t.h aros/types/null.h
856 +stmp-int-hdrs : | include/aros/types
858 +include/aros/types : $(addprefix $(srcdir)/ginclude/,$(EXTRA_AROS_HEADERS))
859 + -if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
860 + -if [ -d include/aros/types ] ; \
861 + then true; \
862 + else \
863 + mkdir include/aros; chmod a+rx include/aros; \
864 + mkdir include/aros/types; chmod a+rx include/aros/types; \
865 + fi
866 + for file in $(EXTRA_AROS_HEADERS); do \
867 + $(STAMP) include/$$file; \
868 + rm -fr include/$$file; \
869 + cp $(srcdir)/ginclude/$$file include/$$file; \
870 + chmod a+r include/$$file; \
871 + done
872 diff -ruN gcc-8.3.0/gcc/config.build gcc-8.3.0.aros/gcc/config.build
873 --- gcc-8.3.0/gcc/config.build 2018-01-03 10:03:58.000000000 +0000
874 +++ gcc-8.3.0.aros/gcc/config.build 2019-03-02 21:36:33.831874200 +0000
875 @@ -73,6 +73,9 @@
876 build_xm_file=i386/xm-djgpp.h
877 build_exeext=.exe
879 + *-*-aros*)
880 + build_xm_file=xm-aros.h
881 + ;;
882 *-*-sysv*)
883 # All other System V variants.
884 build_install_headers_dir=install-headers-cpio
885 diff -ruN gcc-8.3.0/gcc/config.gcc gcc-8.3.0.aros/gcc/config.gcc
886 --- gcc-8.3.0/gcc/config.gcc 2019-01-29 15:31:10.000000000 +0000
887 +++ gcc-8.3.0.aros/gcc/config.gcc 2019-03-02 21:36:33.831874200 +0000
888 @@ -818,6 +818,16 @@
889 nbsd_tm_file="netbsd.h netbsd-stdint.h netbsd-elf.h"
890 default_use_cxa_atexit=yes
892 +*-*-aros*)
893 + aros_tm_file="aros-stdint.h"
894 + gas=yes
895 + gnu_ld=yes
896 + thread_file=posix
897 + use_collect2=no
898 + xm_defines='STDC_HEADERS=1'
899 + extra_options="${extra_options} aros.opt"
900 + ;;
902 *-*-openbsd*)
903 tmake_file="t-openbsd"
904 case ${enable_threads} in
905 @@ -938,6 +948,16 @@
906 esac
908 case ${target} in
909 +aarch64*-*-aros*)
910 + tm_file="${tm_file} ${aros_tm_file} dbxelf.h elfos.h aarch64/aarch64-elf.h aros.h aarch64/aros.h"
911 + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aros t-aros"
912 + xm_file="xm-aros.h"
913 + case $target in
914 + aarch64_be-*)
915 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
916 + ;;
917 + esac
918 + ;;
919 aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
920 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
921 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
922 @@ -1036,6 +1051,21 @@
923 tm_file="${tm_file} vms/vms.h alpha/vms.h"
924 tmake_file="${tmake_file} alpha/t-vms alpha/t-alpha"
926 +arm*-*-aros*)
927 + tm_file="${aros_tm_file} dbxelf.h elfos.h arm/elf.h arm/bpabi.h aros.h arm/aros.h arm/aout.h arm/arm.h"
928 + tm_file="${tm_file} ../../libgcc/config/arm/bpabi-lib.h"
929 + tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-arm-softfp arm/t-bpabi arm/t-aros t-aros"
930 + xm_file="xm-aros.h"
931 + # The BPABI long long divmod functions return a 128-bit value in
932 + # registers r0-r3. Correctly modeling that requires the use of
933 + # TImode.
934 + case $target in
935 + arm*b-*-aros*)
936 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
937 + ;;
938 + esac
939 + need_64bit_hwint=yes
940 + ;;
941 arc*-*-elf*)
942 tm_file="arc/arc-arch.h dbxelf.h elfos.h newlib-stdint.h arc/elf.h ${tm_file}"
943 tmake_file="arc/t-multilib arc/t-arc"
944 @@ -1641,6 +1666,16 @@
945 done
946 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
948 +i[34567]86-*-aros*)
949 + tm_file="${tm_file} ${aros_tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h aros.h i386/aros.h"
950 + xm_file=xm-aros.h
951 + tmake_file="${tmake_file} i386/t-i386elf t-aros"
952 + ;;
953 +x86_64-*-aros*)
954 + tm_file="${tm_file} ${aros_tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h aros.h i386/aros64.h"
955 + tmake_file="${tmake_file} i386/t-i386elf t-aros"
956 + xm_file=xm-aros.h
957 + ;;
958 i[34567]86-pc-msdosdjgpp*)
959 xm_file=i386/xm-djgpp.h
960 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
961 @@ -1932,6 +1967,16 @@
962 thread_file='posix'
965 +m68k-*-aros*)
966 + default_m68k_cpu=68000
967 + default_cf_cpu=5206
968 + tm_file="${tm_file} ${aros_tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
969 + tm_file="${tm_file} aros.h"
970 + tm_defines="${tm_defines} MOTOROLA=1"
971 + tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
972 + tmake_file="${tmake_file} m68k/t-aros m68k/t-mlibs t-aros"
973 + extra_parts="crtbegin.o crtend.o"
974 + ;;
975 m68k-*-elf* | fido-*-elf*)
976 case ${target} in
977 fido-*-elf*)
978 @@ -2489,6 +2534,13 @@
979 tmake_file="${tmake_file} powerpcspe/t-ppcos powerpcspe/t-linux"
980 tm_file="${tm_file} powerpcspe/linuxspe.h powerpcspe/e500.h"
982 +powerpc-*-aros*)
983 + tm_file="${tm_file} ${aros_tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h aros.h"
984 + extra_options="${extra_options} rs6000/sysv4.opt"
985 + tm_file="${tm_file} rs6000/aros.h"
986 + xm_file=xm-aros.h
987 + tmake_file="${tmake_file} t-aros"
988 + ;;
989 powerpc*-*-linux*)
990 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
991 extra_options="${extra_options} rs6000/sysv4.opt"
992 diff -ruN gcc-8.3.0/gcc/config.host gcc-8.3.0.aros/gcc/config.host
993 --- gcc-8.3.0/gcc/config.host 2018-01-03 10:03:58.000000000 +0000
994 +++ gcc-8.3.0.aros/gcc/config.host 2019-03-02 21:36:33.831874200 +0000
995 @@ -287,6 +287,10 @@
996 out_host_hook_obj=host-hpux.o
997 host_xmake_file="${host_xmake_file} x-hpux"
999 + *-*-aros*)
1000 + host_can_use_collect2=no
1001 + host_xm_file=xm-aros.h
1002 + ;;
1003 *-*-*vms*)
1004 host_xm_file="vms/xm-vms.h"
1005 host_xmake_file=vms/x-vms
1006 diff -ruN gcc-8.3.0/gcc/ginclude/aros/types/null.h gcc-8.3.0.aros/gcc/ginclude/aros/types/null.h
1007 --- gcc-8.3.0/gcc/ginclude/aros/types/null.h 1970-01-01 00:00:00.000000000 +0000
1008 +++ gcc-8.3.0.aros/gcc/ginclude/aros/types/null.h 2019-03-02 21:36:33.831874200 +0000
1009 @@ -0,0 +1,3 @@
1010 +/* Replace AROS' NULL definition with gcc's one */
1011 +#define __need_NULL
1012 +#include <stddef.h>
1013 diff -ruN gcc-8.3.0/gcc/ginclude/aros/types/ptrdiff_t.h gcc-8.3.0.aros/gcc/ginclude/aros/types/ptrdiff_t.h
1014 --- gcc-8.3.0/gcc/ginclude/aros/types/ptrdiff_t.h 1970-01-01 00:00:00.000000000 +0000
1015 +++ gcc-8.3.0.aros/gcc/ginclude/aros/types/ptrdiff_t.h 2019-03-02 21:36:33.831874200 +0000
1016 @@ -0,0 +1,3 @@
1017 +/* Replace AROS' ptrdiff_t definition with gcc's one */
1018 +#define __need_ptrdiff_t
1019 +#include <stddef.h>
1020 diff -ruN gcc-8.3.0/gcc/ginclude/aros/types/size_t.h gcc-8.3.0.aros/gcc/ginclude/aros/types/size_t.h
1021 --- gcc-8.3.0/gcc/ginclude/aros/types/size_t.h 1970-01-01 00:00:00.000000000 +0000
1022 +++ gcc-8.3.0.aros/gcc/ginclude/aros/types/size_t.h 2019-03-02 21:36:33.831874200 +0000
1023 @@ -0,0 +1,3 @@
1024 +/* Replace AROS' size_t definition with gcc's one */
1025 +#define __need_size_t
1026 +#include <stddef.h>
1027 diff -ruN gcc-8.3.0/gcc/ginclude/aros/types/wchar_t.h gcc-8.3.0.aros/gcc/ginclude/aros/types/wchar_t.h
1028 --- gcc-8.3.0/gcc/ginclude/aros/types/wchar_t.h 1970-01-01 00:00:00.000000000 +0000
1029 +++ gcc-8.3.0.aros/gcc/ginclude/aros/types/wchar_t.h 2019-03-02 21:36:33.831874200 +0000
1030 @@ -0,0 +1,3 @@
1031 +/* Replace AROS' wchar_t definition with gcc's one */
1032 +#define __need_wchar_t
1033 +#include <stddef.h>
1034 diff -ruN gcc-8.3.0/gcc/ginclude/aros/types/wint_t.h gcc-8.3.0.aros/gcc/ginclude/aros/types/wint_t.h
1035 --- gcc-8.3.0/gcc/ginclude/aros/types/wint_t.h 1970-01-01 00:00:00.000000000 +0000
1036 +++ gcc-8.3.0.aros/gcc/ginclude/aros/types/wint_t.h 2019-03-02 21:36:33.831874200 +0000
1037 @@ -0,0 +1,3 @@
1038 +/* Replace AROS' wint_t definition with gcc's one */
1039 +#define __need_wint_t
1040 +#include <stddef.h>
1041 diff -ruN gcc-8.3.0/gcc/ginclude/stddef.h gcc-8.3.0.aros/gcc/ginclude/stddef.h
1042 --- gcc-8.3.0/gcc/ginclude/stddef.h 2018-01-03 10:03:58.000000000 +0000
1043 +++ gcc-8.3.0.aros/gcc/ginclude/stddef.h 2019-03-02 21:36:33.831874200 +0000
1044 @@ -131,6 +131,7 @@
1045 #ifndef __PTRDIFF_T
1046 #ifndef _PTRDIFF_T_
1047 #ifndef _BSD_PTRDIFF_T_
1048 +#ifndef _AROS_TYPES_PTRDIFF_T_H
1049 #ifndef ___int_ptrdiff_t_h
1050 #ifndef _GCC_PTRDIFF_T
1051 #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
1052 @@ -140,6 +141,7 @@
1053 #define __PTRDIFF_T
1054 #define _PTRDIFF_T_
1055 #define _BSD_PTRDIFF_T_
1056 +#define _AROS_TYPES_PTRDIFF_T_H
1057 #define ___int_ptrdiff_t_h
1058 #define _GCC_PTRDIFF_T
1059 #define _PTRDIFF_T_DECLARED
1060 @@ -150,6 +152,7 @@
1061 #endif /* _PTRDIFF_T_DECLARED */
1062 #endif /* _GCC_PTRDIFF_T */
1063 #endif /* ___int_ptrdiff_t_h */
1064 +#endif /* _AROS_TYPES_PTRDIFF_T_H */
1065 #endif /* _BSD_PTRDIFF_T_ */
1066 #endif /* _PTRDIFF_T_ */
1067 #endif /* __PTRDIFF_T */
1068 @@ -176,6 +179,7 @@
1069 #ifndef __SIZE_T
1070 #ifndef _SIZE_T_
1071 #ifndef _BSD_SIZE_T_
1072 +#ifndef _AROS_TYPES_SIZE_T_H
1073 #ifndef _SIZE_T_DEFINED_
1074 #ifndef _SIZE_T_DEFINED
1075 #ifndef _BSD_SIZE_T_DEFINED_ /* Darwin */
1076 @@ -193,6 +197,7 @@
1077 #define __SIZE_T
1078 #define _SIZE_T_
1079 #define _BSD_SIZE_T_
1080 +#define _AROS_TYPES_SIZE_T_H
1081 #define _SIZE_T_DEFINED_
1082 #define _SIZE_T_DEFINED
1083 #define _BSD_SIZE_T_DEFINED_ /* Darwin */
1084 @@ -226,6 +231,7 @@
1085 #endif /* _BSD_SIZE_T_DEFINED_ */
1086 #endif /* _SIZE_T_DEFINED */
1087 #endif /* _SIZE_T_DEFINED_ */
1088 +#endif /* _AROS_TYPES_SIZE_T_H */
1089 #endif /* _BSD_SIZE_T_ */
1090 #endif /* _SIZE_T_ */
1091 #endif /* __SIZE_T */
1092 diff -ruN gcc-8.3.0/include/filenames.h gcc-8.3.0.aros/include/filenames.h
1093 --- gcc-8.3.0/include/filenames.h 2018-01-03 10:03:58.000000000 +0000
1094 +++ gcc-8.3.0.aros/include/filenames.h 2019-03-02 21:36:33.831874200 +0000
1095 @@ -42,6 +42,13 @@
1096 # define HAS_DRIVE_SPEC(f) HAS_DOS_DRIVE_SPEC (f)
1097 # define IS_DIR_SEPARATOR(c) IS_DOS_DIR_SEPARATOR (c)
1098 # define IS_ABSOLUTE_PATH(f) IS_DOS_ABSOLUTE_PATH (f)
1099 +#elif defined(__AROS__)
1100 +# ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM
1101 +# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1
1102 +# endif
1103 +# define HAS_DRIVE_SPEC(f) (0)
1104 +# define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == ':')
1105 +# define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]) || (strchr((f), ':')))
1106 #else /* not DOSish */
1107 # if defined(__APPLE__)
1108 # ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM
1109 diff -ruN gcc-8.3.0/libgcc/config/m68k/lb1sf68.S gcc-8.3.0.aros/libgcc/config/m68k/lb1sf68.S
1110 --- gcc-8.3.0/libgcc/config/m68k/lb1sf68.S 2018-01-03 10:03:58.000000000 +0000
1111 +++ gcc-8.3.0.aros/libgcc/config/m68k/lb1sf68.S 2019-03-02 21:36:33.831874200 +0000
1112 @@ -3123,9 +3123,9 @@
1113 | Now comes the check for +/-INFINITY. We know that both are (maybe not
1114 | finite) numbers, but we have to check if both are infinite whether we
1115 | are adding or subtracting them.
1116 - eorl d3,d2 | to check sign bits
1117 + movel d2,d7 | save sign bit
1118 + eorl d3,d2 | check sign bits
1119 bmi 1f
1120 - movel d0,d7
1121 andl IMM (0x80000000),d7 | get (common) sign bit
1122 bra Lf$infty
1124 @@ -3135,7 +3135,6 @@
1125 cmpl d1,d0 | are both infinite?
1126 beq Lf$inop | if so return NaN
1128 - movel d0,d7
1129 andl IMM (0x80000000),d7 | get a's sign bit '
1130 cmpl d4,d0 | test now for infinity
1131 beq Lf$infty | if a is INFINITY return with this sign
1132 diff -ruN gcc-8.3.0/libgcc/config.host gcc-8.3.0.aros/libgcc/config.host
1133 --- gcc-8.3.0/libgcc/config.host 2018-04-06 21:04:17.000000000 +0100
1134 +++ gcc-8.3.0.aros/libgcc/config.host 2019-03-02 21:36:33.831874200 +0000
1135 @@ -839,6 +839,9 @@
1136 m32rle-*-linux*)
1137 tmake_file="$tmake_file m32r/t-linux t-fdpbit"
1139 +m68k-*-aros*)
1140 + tmake_file="$tmake_file m68k/t-floatlib"
1141 + ;;
1142 m68k-*-elf* | fido-*-elf)
1143 tmake_file="$tmake_file m68k/t-floatlib"
1145 @@ -1359,6 +1362,9 @@
1146 tmake_file="$tmake_file nvptx/t-nvptx"
1147 extra_parts="crt0.o"
1149 +*-*-aros*)
1150 + tmake_file=
1151 + ;;
1153 echo "*** Configuration ${host} not supported" 1>&2
1154 exit 1
1155 diff -ruN gcc-8.3.0/libgcc/gthr.h gcc-8.3.0.aros/libgcc/gthr.h
1156 --- gcc-8.3.0/libgcc/gthr.h 2018-01-03 10:03:58.000000000 +0000
1157 +++ gcc-8.3.0.aros/libgcc/gthr.h 2019-03-02 21:36:33.831874200 +0000
1158 @@ -141,6 +141,11 @@
1159 #define GTHREAD_USE_WEAK 0
1160 #endif
1162 +#ifdef __AROS__
1163 +#undef GTHREAD_USE_WEAK
1164 +#define GTHREAD_USE_WEAK 0
1165 +#endif
1167 #ifndef GTHREAD_USE_WEAK
1168 #define GTHREAD_USE_WEAK 1
1169 #endif
1170 diff -ruN gcc-8.3.0/libgcc/unwind-dw2-fde.c gcc-8.3.0.aros/libgcc/unwind-dw2-fde.c
1171 --- gcc-8.3.0/libgcc/unwind-dw2-fde.c 2018-01-03 10:03:58.000000000 +0000
1172 +++ gcc-8.3.0.aros/libgcc/unwind-dw2-fde.c 2019-03-02 21:36:33.831874200 +0000
1173 @@ -100,8 +100,10 @@
1174 #endif
1176 init_object_mutex_once ();
1177 +#ifndef __AROS__ /* This is called when SysBase is not yet set up */
1178 __gthread_mutex_lock (&object_mutex);
1180 +#endif
1182 ob->next = unseen_objects;
1183 unseen_objects = ob;
1184 #ifdef ATOMIC_FDE_FAST_PATH
1185 @@ -115,7 +117,9 @@
1186 __atomic_store_n (&any_objects_registered, 1, __ATOMIC_RELAXED);
1187 #endif
1189 +#ifndef __AROS__
1190 __gthread_mutex_unlock (&object_mutex);
1191 +#endif
1194 void
1195 diff -ruN gcc-8.3.0/libgcc/unwind-dw2.c gcc-8.3.0.aros/libgcc/unwind-dw2.c
1196 --- gcc-8.3.0/libgcc/unwind-dw2.c 2019-02-19 16:14:34.000000000 +0000
1197 +++ gcc-8.3.0.aros/libgcc/unwind-dw2.c 2019-03-02 21:36:33.831874200 +0000
1198 @@ -1563,7 +1563,9 @@
1199 static inline void
1200 init_dwarf_reg_size_table (void)
1202 +#ifdef MD_FALLBACK_FRAME_STATE_FOR
1203 __builtin_init_dwarf_reg_size_table (dwarf_reg_size_table);
1204 +#endif
1207 static void __attribute__((noinline))
1208 diff -ruN gcc-8.3.0/libiberty/filename_cmp.c gcc-8.3.0.aros/libiberty/filename_cmp.c
1209 --- gcc-8.3.0/libiberty/filename_cmp.c 2018-01-03 10:03:58.000000000 +0000
1210 +++ gcc-8.3.0.aros/libiberty/filename_cmp.c 2019-03-02 21:36:33.831874200 +0000
1211 @@ -55,9 +55,12 @@
1213 filename_cmp (const char *s1, const char *s2)
1215 -#if !defined(HAVE_DOS_BASED_FILE_SYSTEM) \
1216 - && !defined(HAVE_CASE_INSENSITIVE_FILE_SYSTEM)
1217 +#if !defined(HAVE_DOS_BASED_FILE_SYSTEM)
1218 +#if defined(HAVE_CASE_INSENSITIVE_FILE_SYSTEM)
1219 + return strcasecmp(s1, s2);
1220 +#else
1221 return strcmp(s1, s2);
1222 +#endif
1223 #else
1224 for (;;)
1226 diff -ruN gcc-8.3.0/libobjc/configure gcc-8.3.0.aros/libobjc/configure
1227 --- gcc-8.3.0/libobjc/configure 2018-04-24 17:45:26.000000000 +0100
1228 +++ gcc-8.3.0.aros/libobjc/configure 2019-03-02 21:36:33.831874200 +0000
1229 @@ -11337,214 +11337,7 @@
1230 # -----------
1232 # Check if we have thread-local storage
1235 - # Check whether --enable-tls was given.
1236 -if test "${enable_tls+set}" = set; then :
1237 - enableval=$enable_tls;
1238 - case "$enableval" in
1239 - yes|no) ;;
1240 - *) as_fn_error "Argument to enable/disable tls must be yes or no" "$LINENO" 5 ;;
1241 - esac
1243 -else
1244 - enable_tls=yes
1248 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
1249 -$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
1250 -if test "${gcc_cv_have_tls+set}" = set; then :
1251 - $as_echo_n "(cached) " >&6
1252 -else
1254 - if test "$cross_compiling" = yes; then :
1255 - if test x$gcc_no_link = xyes; then
1256 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
1258 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1259 -/* end confdefs.h. */
1260 -__thread int a; int b; int main() { return a = b; }
1261 -_ACEOF
1262 -if ac_fn_c_try_link "$LINENO"; then :
1263 - chktls_save_LDFLAGS="$LDFLAGS"
1264 - case $host in
1265 - *-*-linux*)
1266 - LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
1267 - ;;
1268 - esac
1269 - chktls_save_CFLAGS="$CFLAGS"
1270 - CFLAGS="-fPIC $CFLAGS"
1271 - if test x$gcc_no_link = xyes; then
1272 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
1274 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1275 -/* end confdefs.h. */
1276 -int f() { return 0; }
1277 -_ACEOF
1278 -if ac_fn_c_try_link "$LINENO"; then :
1279 - if test x$gcc_no_link = xyes; then
1280 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
1282 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1283 -/* end confdefs.h. */
1284 -__thread int a; int b; int f() { return a = b; }
1285 -_ACEOF
1286 -if ac_fn_c_try_link "$LINENO"; then :
1287 - gcc_cv_have_tls=yes
1288 -else
1289 - gcc_cv_have_tls=no
1291 -rm -f core conftest.err conftest.$ac_objext \
1292 - conftest$ac_exeext conftest.$ac_ext
1293 -else
1294 - gcc_cv_have_tls=yes
1296 -rm -f core conftest.err conftest.$ac_objext \
1297 - conftest$ac_exeext conftest.$ac_ext
1298 - CFLAGS="$chktls_save_CFLAGS"
1299 - LDFLAGS="$chktls_save_LDFLAGS"
1300 -else
1301 - gcc_cv_have_tls=no
1303 -rm -f core conftest.err conftest.$ac_objext \
1304 - conftest$ac_exeext conftest.$ac_ext
1307 -else
1308 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1309 -/* end confdefs.h. */
1310 -__thread int a; int b; int main() { return a = b; }
1311 -_ACEOF
1312 -if ac_fn_c_try_run "$LINENO"; then :
1313 - chktls_save_LDFLAGS="$LDFLAGS"
1314 - LDFLAGS="-static $LDFLAGS"
1315 - if test x$gcc_no_link = xyes; then
1316 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
1318 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1319 -/* end confdefs.h. */
1320 -int main() { return 0; }
1321 -_ACEOF
1322 -if ac_fn_c_try_link "$LINENO"; then :
1323 - if test "$cross_compiling" = yes; then :
1324 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
1325 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
1326 -as_fn_error "cannot run test program while cross compiling
1327 -See \`config.log' for more details." "$LINENO" 5; }
1328 -else
1329 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1330 -/* end confdefs.h. */
1331 -__thread int a; int b; int main() { return a = b; }
1332 -_ACEOF
1333 -if ac_fn_c_try_run "$LINENO"; then :
1334 - gcc_cv_have_tls=yes
1335 -else
1336 - gcc_cv_have_tls=no
1338 -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
1339 - conftest.$ac_objext conftest.beam conftest.$ac_ext
1342 -else
1343 - gcc_cv_have_tls=yes
1345 -rm -f core conftest.err conftest.$ac_objext \
1346 - conftest$ac_exeext conftest.$ac_ext
1347 - LDFLAGS="$chktls_save_LDFLAGS"
1348 - if test $gcc_cv_have_tls = yes; then
1349 - chktls_save_CFLAGS="$CFLAGS"
1350 - thread_CFLAGS=failed
1351 - for flag in '' '-pthread' '-lpthread'; do
1352 - CFLAGS="$flag $chktls_save_CFLAGS"
1353 - if test x$gcc_no_link = xyes; then
1354 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
1356 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1357 -/* end confdefs.h. */
1358 -#include <pthread.h>
1359 - void *g(void *d) { return NULL; }
1360 -int
1361 -main ()
1363 -pthread_t t; pthread_create(&t,NULL,g,NULL);
1365 - return 0;
1367 -_ACEOF
1368 -if ac_fn_c_try_link "$LINENO"; then :
1369 - thread_CFLAGS="$flag"
1371 -rm -f core conftest.err conftest.$ac_objext \
1372 - conftest$ac_exeext conftest.$ac_ext
1373 - if test "X$thread_CFLAGS" != Xfailed; then
1374 - break
1375 - fi
1376 - done
1377 - CFLAGS="$chktls_save_CFLAGS"
1378 - if test "X$thread_CFLAGS" != Xfailed; then
1379 - CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
1380 - if test "$cross_compiling" = yes; then :
1381 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
1382 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
1383 -as_fn_error "cannot run test program while cross compiling
1384 -See \`config.log' for more details." "$LINENO" 5; }
1385 -else
1386 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1387 -/* end confdefs.h. */
1388 -#include <pthread.h>
1389 - __thread int a;
1390 - static int *volatile a_in_other_thread;
1391 - static void *
1392 - thread_func (void *arg)
1394 - a_in_other_thread = &a;
1395 - return (void *)0;
1397 -int
1398 -main ()
1400 -pthread_t thread;
1401 - void *thread_retval;
1402 - int *volatile a_in_main_thread;
1403 - a_in_main_thread = &a;
1404 - if (pthread_create (&thread, (pthread_attr_t *)0,
1405 - thread_func, (void *)0))
1406 - return 0;
1407 - if (pthread_join (thread, &thread_retval))
1408 - return 0;
1409 - return (a_in_other_thread == a_in_main_thread);
1411 - return 0;
1413 -_ACEOF
1414 -if ac_fn_c_try_run "$LINENO"; then :
1415 - gcc_cv_have_tls=yes
1416 -else
1417 - gcc_cv_have_tls=no
1419 -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
1420 - conftest.$ac_objext conftest.beam conftest.$ac_ext
1423 - CFLAGS="$chktls_save_CFLAGS"
1424 - fi
1425 - fi
1426 -else
1427 - gcc_cv_have_tls=no
1429 -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
1430 - conftest.$ac_objext conftest.beam conftest.$ac_ext
1434 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_have_tls" >&5
1435 -$as_echo "$gcc_cv_have_tls" >&6; }
1436 - if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
1438 -$as_echo "#define HAVE_TLS 1" >>confdefs.h
1440 - fi
1441 +#dnl GCC_ENABLE_TLS
1444 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the type of bitfields matters" >&5
1445 diff -ruN gcc-8.3.0/libobjc/configure.ac gcc-8.3.0.aros/libobjc/configure.ac
1446 --- gcc-8.3.0/libobjc/configure.ac 2018-01-03 10:03:58.000000000 +0000
1447 +++ gcc-8.3.0.aros/libobjc/configure.ac 2019-03-02 21:36:33.831874200 +0000
1448 @@ -195,7 +195,7 @@
1449 # -----------
1451 # Check if we have thread-local storage
1452 -GCC_CHECK_TLS
1453 +dnl GCC_CHECK_TLS
1455 gt_BITFIELD_TYPE_MATTERS
1457 diff -ruN gcc-8.3.0/libobjc/thr.c gcc-8.3.0.aros/libobjc/thr.c
1458 --- gcc-8.3.0/libobjc/thr.c 2018-01-03 10:03:58.000000000 +0000
1459 +++ gcc-8.3.0.aros/libobjc/thr.c 2019-03-02 21:36:33.831874200 +0000
1460 @@ -35,6 +35,7 @@
1461 #include "objc/runtime.h"
1462 #include "objc-private/module-abi-8.h"
1463 #include "objc-private/runtime.h"
1464 +#define __typedef_BOOL /* Remove definition of BOOL */
1465 #include <gthr.h>
1467 #include <stdlib.h>
1468 diff -ruN gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_base.h gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_base.h
1469 --- gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_base.h 1970-01-01 00:00:00.000000000 +0000
1470 +++ gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_base.h 2019-03-02 21:36:33.831874200 +0000
1471 @@ -0,0 +1,30 @@
1472 +namespace std _GLIBCXX_VISIBILITY(default)
1474 +_GLIBCXX_BEGIN_NAMESPACE_VERSION
1476 +struct ctype_base {
1477 + /* Non-standard typedefs */
1478 + typedef int * __to_type;
1480 + /* NB: Offsets into ctype<char>::_M_table force a particular size
1481 + on the mask type. Because of this, we don't use an enum. */
1482 + typedef unsigned short int mask;
1484 + static const mask upper = _ISupper;
1485 + static const mask lower = _ISlower;
1486 + static const mask alpha = _ISalpha;
1487 + static const mask digit = _ISdigit;
1488 + static const mask xdigit = _ISxdigit;
1489 + static const mask space = _ISspace;
1490 + static const mask print = _ISprint;
1491 + static const mask graph = _ISgraph;
1492 + static const mask cntrl = _IScntrl;
1493 + static const mask punct = _ISpunct;
1494 + static const mask alnum = _ISalnum;
1495 +#if __cplusplus >= 201103L
1496 + static const mask blank = _ISblank;
1497 +#endif
1500 +_GLIBCXX_END_NAMESPACE_VERSION
1501 +} // namespace
1502 diff -ruN gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_configure_char.cc gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_configure_char.cc
1503 --- gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_configure_char.cc 1970-01-01 00:00:00.000000000 +0000
1504 +++ gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_configure_char.cc 2019-03-02 21:36:33.831874200 +0000
1505 @@ -0,0 +1,99 @@
1506 +// Locale support -*- C++ -*-
1508 +// Copyright (C) 2011-2013 Free Software Foundation, Inc.
1510 +// This file is part of the GNU ISO C++ Library. This library is free
1511 +// software; you can redistribute it and/or modify it under the
1512 +// terms of the GNU General Public License as published by the
1513 +// Free Software Foundation; either version 3, or (at your option)
1514 +// any later version.
1516 +// This library is distributed in the hope that it will be useful,
1517 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
1518 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1519 +// GNU General Public License for more details.
1521 +// Under Section 7 of GPL version 3, you are granted additional
1522 +// permissions described in the GCC Runtime Library Exception, version
1523 +// 3.1, as published by the Free Software Foundation.
1525 +// You should have received a copy of the GNU General Public License and
1526 +// a copy of the GCC Runtime Library Exception along with this program;
1527 +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
1528 +// <http://www.gnu.org/licenses/>.
1530 +/** @file ctype_configure_char.cc */
1533 +// ISO C++ 14882: 22.1 Locales
1536 +#include <locale>
1537 +#include <cstdlib>
1538 +#include <cstring>
1540 +namespace std _GLIBCXX_VISIBILITY(default)
1542 +_GLIBCXX_BEGIN_NAMESPACE_VERSION
1544 +// Information as gleaned from /usr/include/ctype.h
1546 + const ctype_base::mask*
1547 + ctype<char>::classic_table() throw()
1548 + { return 0; }
1550 + ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
1551 + size_t __refs)
1552 + : facet(__refs), _M_del(__table != 0 && __del),
1553 + _M_toupper(NULL), _M_tolower(NULL),
1554 + _M_table(__table ? __table : classic_table())
1555 + {
1556 + memset(_M_widen, 0, sizeof(_M_widen));
1557 + _M_widen_ok = 0;
1558 + memset(_M_narrow, 0, sizeof(_M_narrow));
1559 + _M_narrow_ok = 0;
1562 + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
1563 + : facet(__refs), _M_del(__table != 0 && __del),
1564 + _M_toupper(NULL), _M_tolower(NULL),
1565 + _M_table(__table ? __table : classic_table())
1566 + {
1567 + memset(_M_widen, 0, sizeof(_M_widen));
1568 + _M_widen_ok = 0;
1569 + memset(_M_narrow, 0, sizeof(_M_narrow));
1570 + _M_narrow_ok = 0;
1573 + char
1574 + ctype<char>::do_toupper(char __c) const
1575 + { return ::toupper((int) __c); }
1577 + const char*
1578 + ctype<char>::do_toupper(char* __low, const char* __high) const
1580 + while (__low < __high)
1582 + *__low = ::toupper((int) *__low);
1583 + ++__low;
1585 + return __high;
1588 + char
1589 + ctype<char>::do_tolower(char __c) const
1590 + { return ::tolower((int) __c); }
1592 + const char*
1593 + ctype<char>::do_tolower(char* __low, const char* __high) const
1595 + while (__low < __high)
1597 + *__low = ::tolower((int) *__low);
1598 + ++__low;
1600 + return __high;
1603 +_GLIBCXX_END_NAMESPACE_VERSION
1604 +} // namespace
1605 diff -ruN gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_inline.h gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_inline.h
1606 --- gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_inline.h 1970-01-01 00:00:00.000000000 +0000
1607 +++ gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_inline.h 2019-03-02 21:36:33.831874200 +0000
1608 @@ -0,0 +1,173 @@
1609 +// Locale support -*- C++ -*-
1611 +// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
1613 +// This file is part of the GNU ISO C++ Library. This library is free
1614 +// software; you can redistribute it and/or modify it under the
1615 +// terms of the GNU General Public License as published by the
1616 +// Free Software Foundation; either version 2, or (at your option)
1617 +// any later version.
1619 +// This library is distributed in the hope that it will be useful,
1620 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
1621 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1622 +// GNU General Public License for more details.
1624 +// You should have received a copy of the GNU General Public License along
1625 +// with this library; see the file COPYING. If not, write to the Free
1626 +// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
1627 +// USA.
1629 +// As a special exception, you may use this file as part of a free software
1630 +// library without restriction. Specifically, if other files instantiate
1631 +// templates or use macros or inline functions from this file, or you compile
1632 +// this file and link it with other files to produce an executable, this
1633 +// file does not by itself cause the resulting executable to be covered by
1634 +// the GNU General Public License. This exception does not however
1635 +// invalidate any other reasons why the executable file might be covered by
1636 +// the GNU General Public License.
1638 +/** @file ctype_inline.h
1639 + * This is an internal header file, included by other library headers.
1640 + * You should not attempt to use it directly.
1641 + */
1644 +// ISO C++ 14882: 22.1 Locales
1647 +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
1648 +// functions go in ctype.cc
1650 +// The following definitions are portable, but insanely slow. If one
1651 +// cares at all about performance, then specialized ctype
1652 +// functionality should be added for the native os in question: see
1653 +// the config/os/bits/ctype_*.h files.
1655 +// Constructing a synthetic "C" table should be seriously considered...
1657 +namespace std _GLIBCXX_VISIBILITY(default)
1659 +_GLIBCXX_BEGIN_NAMESPACE_VERSION
1661 + bool
1662 + ctype<char>::
1663 + is(mask __m, char __c) const
1664 + {
1665 + if (_M_table)
1666 + return _M_table[static_cast<unsigned char>(__c)] & __m;
1667 + else
1669 + bool __ret = false;
1670 + const size_t __bitmasksize = 15;
1671 + size_t __bitcur = 0; // Lowest bitmask in ctype_base == 0
1672 + for (; __bitcur <= __bitmasksize; ++__bitcur)
1674 + const mask __bit = static_cast<mask>(1 << __bitcur);
1675 + if (__m & __bit)
1677 + bool __testis;
1678 + switch (__bit)
1680 + case space:
1681 + __testis = isspace(__c);
1682 + break;
1683 + case print:
1684 + __testis = isprint(__c);
1685 + break;
1686 + case cntrl:
1687 + __testis = iscntrl(__c);
1688 + break;
1689 + case upper:
1690 + __testis = isupper(__c);
1691 + break;
1692 + case lower:
1693 + __testis = islower(__c);
1694 + break;
1695 + case alpha:
1696 + __testis = isalpha(__c);
1697 + break;
1698 + case digit:
1699 + __testis = isdigit(__c);
1700 + break;
1701 + case punct:
1702 + __testis = ispunct(__c);
1703 + break;
1704 + case xdigit:
1705 + __testis = isxdigit(__c);
1706 + break;
1707 + case alnum:
1708 + __testis = isalnum(__c);
1709 + break;
1710 + case graph:
1711 + __testis = isgraph(__c);
1712 + break;
1713 + default:
1714 + __testis = false;
1715 + break;
1717 + __ret |= __testis;
1720 + return __ret;
1724 + const char*
1725 + ctype<char>::
1726 + is(const char* __low, const char* __high, mask* __vec) const
1728 + if (_M_table)
1729 + while (__low < __high)
1730 + *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
1731 + else
1733 + // Highest bitmask in ctype_base == 10.
1734 + const size_t __bitmasksize = 15;
1735 + for (;__low < __high; ++__vec, ++__low)
1737 + mask __m = 0;
1738 + // Lowest bitmask in ctype_base == 0
1739 + size_t __i = 0;
1740 + for (;__i <= __bitmasksize; ++__i)
1742 + const mask __bit = static_cast<mask>(1 << __i);
1743 + if (this->is(__bit, *__low))
1744 + __m |= __bit;
1746 + *__vec = __m;
1749 + return __high;
1752 + const char*
1753 + ctype<char>::
1754 + scan_is(mask __m, const char* __low, const char* __high) const
1756 + if (_M_table)
1757 + while (__low < __high
1758 + && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
1759 + ++__low;
1760 + else
1761 + while (__low < __high && !this->is(__m, *__low))
1762 + ++__low;
1763 + return __low;
1766 + const char*
1767 + ctype<char>::
1768 + scan_not(mask __m, const char* __low, const char* __high) const
1770 + if (_M_table)
1771 + while (__low < __high
1772 + && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
1773 + ++__low;
1774 + else
1775 + while (__low < __high && this->is(__m, *__low) != 0)
1776 + ++__low;
1777 + return __low;
1780 +_GLIBCXX_END_NAMESPACE_VERSION
1781 +} // namespace
1782 diff -ruN gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_noninline.h gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_noninline.h
1783 --- gcc-8.3.0/libstdc++-v3/config/os/aros/ctype_noninline.h 1970-01-01 00:00:00.000000000 +0000
1784 +++ gcc-8.3.0.aros/libstdc++-v3/config/os/aros/ctype_noninline.h 2019-03-02 21:36:33.831874200 +0000
1785 @@ -0,0 +1,56 @@
1786 + const ctype_base::mask*
1787 + ctype<char>::classic_table() throw()
1788 + { return *__ctype_b_ptr; }
1790 + ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
1791 + size_t __refs)
1792 + : facet(__refs), _M_del(__table != 0 && __del),
1793 + _M_toupper(NULL), _M_tolower(NULL),
1794 + _M_table(__table ? __table : classic_table())
1795 + {
1796 + memset(_M_widen, 0, sizeof(_M_widen));
1797 + _M_widen_ok = 0;
1798 + memset(_M_narrow, 0, sizeof(_M_narrow));
1799 + _M_narrow_ok = 0;
1802 + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
1803 + : facet(__refs), _M_del(__table != 0 && __del),
1804 + _M_toupper(NULL), _M_tolower(NULL),
1805 + _M_table(__table ? __table : classic_table())
1806 + {
1807 + memset(_M_widen, 0, sizeof(_M_widen));
1808 + _M_widen_ok = 0;
1809 + memset(_M_narrow, 0, sizeof(_M_narrow));
1810 + _M_narrow_ok = 0;
1813 + char
1814 + ctype<char>::do_toupper(char __c) const
1815 + { return ::toupper((int) __c); }
1817 + const char*
1818 + ctype<char>::do_toupper(char* __low, const char* __high) const
1820 + while (__low < __high)
1822 + *__low = ::toupper((int) *__low);
1823 + ++__low;
1825 + return __high;
1828 + char
1829 + ctype<char>::do_tolower(char __c) const
1830 + { return ::tolower((int) __c); }
1832 + const char*
1833 + ctype<char>::do_tolower(char* __low, const char* __high) const
1835 + while (__low < __high)
1837 + *__low = ::tolower((int) *__low);
1838 + ++__low;
1840 + return __high;
1842 diff -ruN gcc-8.3.0/libstdc++-v3/config/os/aros/os_defines.h gcc-8.3.0.aros/libstdc++-v3/config/os/aros/os_defines.h
1843 --- gcc-8.3.0/libstdc++-v3/config/os/aros/os_defines.h 1970-01-01 00:00:00.000000000 +0000
1844 +++ gcc-8.3.0.aros/libstdc++-v3/config/os/aros/os_defines.h 2019-03-02 21:36:33.831874200 +0000
1845 @@ -0,0 +1,11 @@
1846 +// Specific definitions for AROS -*- C++ -*-
1848 +#ifndef _GLIBCXX_OS_DEFINES
1849 +#define _GLIBCXX_OS_DEFINES
1851 +#define __off64_t off_t
1853 +// No support for referencing weak symbols without a definition.
1854 +#define _GLIBCXX_USE_WEAK_REF 0
1856 +#endif
1857 diff -ruN gcc-8.3.0/libstdc++-v3/configure gcc-8.3.0.aros/libstdc++-v3/configure
1858 --- gcc-8.3.0/libstdc++-v3/configure 2018-08-13 20:15:40.000000000 +0100
1859 +++ gcc-8.3.0.aros/libstdc++-v3/configure 2019-03-02 21:36:33.831874200 +0000
1860 @@ -5377,12 +5377,12 @@
1863 # Libtool setup.
1864 -if test "x${with_newlib}" != "xyes"; then
1865 - enable_dlopen=yes
1870 +#if test "x${with_newlib}" != "xyes"; then
1871 +# AC_LIBTOOL_DLOPEN
1875 +#fi
1876 case `pwd` in
1877 *\ * | *\ *)
1878 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
1879 @@ -8113,6 +8113,8 @@
1883 + enable_dlopen=no
1886 enable_win32_dll=no
1888 @@ -19651,6 +19653,7 @@
1890 struct iovec iov[2];
1891 writev(0, iov, 0);
1892 +#error be sure to fail
1894 return 0;
1896 @@ -19673,6 +19676,7 @@
1898 struct iovec iov[2];
1899 writev(0, iov, 0);
1900 +#error be sure to fail
1902 return 0;
1904 @@ -28973,6 +28977,58 @@
1906 # Base decisions on target environment.
1907 case "${host}" in
1908 + *-aros*)
1909 + for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
1910 + machine/param.h sys/machine.h sys/types.h fp.h locale.h float.h inttypes.h
1911 +do :
1912 + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
1913 +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
1914 +eval as_val=\$$as_ac_Header
1915 + if test "x$as_val" = x""yes; then :
1916 + cat >>confdefs.h <<_ACEOF
1917 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
1918 +_ACEOF
1922 +done
1925 + GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
1926 + GLIBCXX_CHECK_WCHAR_T_SUPPORT
1928 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
1930 + $as_echo "#define HAVE_FINITEF 1" >>confdefs.h
1932 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
1934 + $as_echo "#define HAVE_HYPOTF 1" >>confdefs.h
1936 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
1938 + $as_echo "#define HAVE_ISINFF 1" >>confdefs.h
1940 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
1942 + $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
1944 + $as_echo "#define HAVE_SINCOS 1" >>confdefs.h
1946 + $as_echo "#define HAVE_SINCOSF 1" >>confdefs.h
1948 + if test x"long_double_math_on_this_cpu" = x"yes"; then
1949 + $as_echo "#define HAVE_FINITEL 1" >>confdefs.h
1951 + $as_echo "#define HAVE_HYPOTL 1" >>confdefs.h
1953 + $as_echo "#define HAVE_ISINFL 1" >>confdefs.h
1955 + $as_echo "#define HAVE_ISNANL 1" >>confdefs.h
1957 + fi
1958 + ;;
1960 arm*-*-symbianelf*)
1961 # This is a freestanding configuration; there is nothing to do here.
1963 diff -ruN gcc-8.3.0/libstdc++-v3/configure.ac gcc-8.3.0.aros/libstdc++-v3/configure.ac
1964 --- gcc-8.3.0/libstdc++-v3/configure.ac 2018-08-13 20:15:40.000000000 +0100
1965 +++ gcc-8.3.0.aros/libstdc++-v3/configure.ac 2019-03-02 21:36:33.831874200 +0000
1966 @@ -89,9 +89,9 @@
1967 GLIBCXX_CONFIGURE
1969 # Libtool setup.
1970 -if test "x${with_newlib}" != "xyes"; then
1971 - AC_LIBTOOL_DLOPEN
1973 +#if test "x${with_newlib}" != "xyes"; then
1974 +# AC_LIBTOOL_DLOPEN
1975 +#fi
1976 AM_PROG_LIBTOOL
1977 ACX_LT_HOST_FLAGS
1978 AC_SUBST(enable_shared)
1979 diff -ruN gcc-8.3.0/libstdc++-v3/configure.host gcc-8.3.0.aros/libstdc++-v3/configure.host
1980 --- gcc-8.3.0/libstdc++-v3/configure.host 2018-12-06 08:45:58.000000000 +0000
1981 +++ gcc-8.3.0.aros/libstdc++-v3/configure.host 2019-03-02 21:36:33.831874200 +0000
1982 @@ -222,6 +222,9 @@
1983 os_include_dir="os/generic"
1984 atomicity_dir="cpu/generic"
1986 + aros*)
1987 + os_include_dir="os/aros"
1988 + ;;
1989 bsd*)
1990 # Plain BSD attempts to share FreeBSD files.
1991 os_include_dir="os/bsd/freebsd"
1992 diff -ruN gcc-8.3.0/libstdc++-v3/crossconfig.m4 gcc-8.3.0.aros/libstdc++-v3/crossconfig.m4
1993 --- gcc-8.3.0/libstdc++-v3/crossconfig.m4 2018-07-04 12:45:51.000000000 +0100
1994 +++ gcc-8.3.0.aros/libstdc++-v3/crossconfig.m4 2019-03-02 21:36:33.831874200 +0000
1995 @@ -5,6 +5,31 @@
1996 AC_DEFUN([GLIBCXX_CROSSCONFIG],[
1997 # Base decisions on target environment.
1998 case "${host}" in
1999 + *-aros*)
2000 + AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
2001 + machine/param.h sys/machine.h sys/types.h fp.h locale.h float.h inttypes.h])
2003 + GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
2004 + GLIBCXX_CHECK_WCHAR_T_SUPPORT
2006 + AC_DEFINE(HAVE_FINITE)
2007 + AC_DEFINE(HAVE_FINITEF)
2008 + AC_DEFINE(HAVE_FREXPF)
2009 + AC_DEFINE(HAVE_HYPOTF)
2010 + AC_DEFINE(HAVE_ISINF)
2011 + AC_DEFINE(HAVE_ISINFF)
2012 + AC_DEFINE(HAVE_ISNAN)
2013 + AC_DEFINE(HAVE_ISNANF)
2014 + AC_DEFINE(HAVE_SINCOS)
2015 + AC_DEFINE(HAVE_SINCOSF)
2016 + if test x"long_double_math_on_this_cpu" = x"yes"; then
2017 + AC_DEFINE(HAVE_FINITEL)
2018 + AC_DEFINE(HAVE_HYPOTL)
2019 + AC_DEFINE(HAVE_ISINFL)
2020 + AC_DEFINE(HAVE_ISNANL)
2021 + fi
2022 + ;;
2024 arm*-*-symbianelf*)
2025 # This is a freestanding configuration; there is nothing to do here.
2027 diff -ruN gcc-8.3.0/libstdc++-v3/include/Makefile.in gcc-8.3.0.aros/libstdc++-v3/include/Makefile.in
2028 --- gcc-8.3.0/libstdc++-v3/include/Makefile.in 2018-07-31 10:38:28.000000000 +0100
2029 +++ gcc-8.3.0.aros/libstdc++-v3/include/Makefile.in 2019-03-02 21:36:33.831874200 +0000
2030 @@ -1719,6 +1719,7 @@
2031 -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
2032 -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
2033 -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
2034 + -e 's/_GLIBCXX___AROS__/__AROS__/g' \
2035 -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
2036 < $< > $@
2038 diff -ruN gcc-8.3.0/libstdc++-v3/include/c_global/cstdint gcc-8.3.0.aros/libstdc++-v3/include/c_global/cstdint
2039 --- gcc-8.3.0/libstdc++-v3/include/c_global/cstdint 2018-01-03 10:03:58.000000000 +0000
2040 +++ gcc-8.3.0.aros/libstdc++-v3/include/c_global/cstdint 2019-03-02 21:36:33.831874200 +0000
2041 @@ -41,7 +41,7 @@
2042 # include <stdint.h>
2043 #endif
2045 -#ifdef _GLIBCXX_USE_C99_STDINT_TR1
2046 +#if defined(_GLIBCXX_USE_C99_STDINT_TR1)
2048 namespace std
2050 @@ -74,8 +74,10 @@
2051 using ::uint_fast64_t;
2053 using ::uint_least8_t;
2054 +#if !defined (__UINT_LEAST16_TYPE__) || !defined(__UINT_LEAST32_TYPE__)
2055 using ::uint_least16_t;
2056 using ::uint_least32_t;
2057 +#endif
2058 using ::uint_least64_t;
2060 using ::uintmax_t;
2061 diff -ruN gcc-8.3.0/libstdc++-v3/include/std/ratio gcc-8.3.0.aros/libstdc++-v3/include/std/ratio
2062 --- gcc-8.3.0/libstdc++-v3/include/std/ratio 2018-01-03 10:03:58.000000000 +0000
2063 +++ gcc-8.3.0.aros/libstdc++-v3/include/std/ratio 2019-03-02 21:36:33.831874200 +0000
2064 @@ -211,10 +211,10 @@
2066 private:
2067 static_assert(__d != 0, "Internal library error");
2068 - static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
2069 - "This library calls __builtin_clzll on uintmax_t, which "
2070 - "is unsafe on your platform. Please complain to "
2071 - "http://gcc.gnu.org/bugzilla/");
2072 +// static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
2073 +// "This library calls __builtin_clzll on uintmax_t, which "
2074 +// "is unsafe on your platform. Please complain to "
2075 +// "http://gcc.gnu.org/bugzilla/");
2076 static constexpr int __shift = __builtin_clzll(__d);
2077 static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
2078 static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;