OK for trunk and backports to branch 6 and 5?
2016-05-17 10:42 GMT+02:00 Kuba Sejdak <jakub.sej...@phoesys.com>: > --- > ChangeLog | 6 ++++++ > MAINTAINERS | 1 + > configure | 6 ++++++ > configure.ac | 6 ++++++ > gcc/ChangeLog | 6 ++++++ > gcc/config.gcc | 11 +++++++++++ > gcc/config/arm/t-phoenix | 29 +++++++++++++++++++++++++++++ > gcc/config/phoenix.h | 33 +++++++++++++++++++++++++++++++++ > libgcc/ChangeLog | 4 ++++ > libgcc/config.host | 7 +++++++ > 10 files changed, 109 insertions(+) > create mode 100644 gcc/config/arm/t-phoenix > create mode 100644 gcc/config/phoenix.h > > diff --git a/ChangeLog b/ChangeLog > index 8698133..2d25a91 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,9 @@ > +2016-05-17 Jakub Sejdak <jakub.sej...@phoesys.com> > + > + * configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets. > + * configure: Regenerated. > + * MAINTAINERS (OS maintainers): Add myself. > + > 2016-05-16 Jakub Sejdak <jakub.sej...@phoesys.com> > > * config.guess: Import version 2016-04-02 (newest). > diff --git a/MAINTAINERS b/MAINTAINERS > index c615168..1d22df6 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -134,6 +134,7 @@ hpux Steve Ellcey > <sell...@imgtec.com> > solaris Rainer Orth > <r...@cebitec.uni-bielefeld.de> > netbsd Jason Thorpe <thor...@netbsd.org> > netbsd Krister Walfridsson > <krister.walfrids...@gmail.com> > +Phoenix-RTOS Jakub Sejdak <jakub.sej...@phoesys.com> > sh-linux-gnu Kaz Kojima <kkoj...@gcc.gnu.org> > RTEMS Ports Joel Sherrill <j...@oarcorp.com> > RTEMS Ports Ralf Corsepius <ralf.corsep...@rtems.org> > diff --git a/configure b/configure > index ea63784..19451d2 100755 > --- a/configure > +++ b/configure > @@ -3469,6 +3469,9 @@ case "${target}" in > *-*-netware*) > noconfigdirs="$noconfigdirs ${libgcj}" > ;; > + *-*-phoenix*) > + noconfigdirs="$noconfigdirs ${libgcj}" > + ;; > *-*-rtems*) > noconfigdirs="$noconfigdirs ${libgcj}" > ;; > @@ -3725,6 +3728,9 @@ case "${target}" in > ;; > *-*-netware*) > ;; > + *-*-phoenix*) > + noconfigdirs="$noconfigdirs target-libgloss" > + ;; > *-*-rtems*) > noconfigdirs="$noconfigdirs target-libgloss" > # this is not caught below because this stanza matches earlier > diff --git a/configure.ac b/configure.ac > index 54558df..d965059 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -805,6 +805,9 @@ case "${target}" in > *-*-netware*) > noconfigdirs="$noconfigdirs ${libgcj}" > ;; > + *-*-phoenix*) > + noconfigdirs="$noconfigdirs ${libgcj}" > + ;; > *-*-rtems*) > noconfigdirs="$noconfigdirs ${libgcj}" > ;; > @@ -1061,6 +1064,9 @@ case "${target}" in > ;; > *-*-netware*) > ;; > + *-*-phoenix*) > + noconfigdirs="$noconfigdirs target-libgloss" > + ;; > *-*-rtems*) > noconfigdirs="$noconfigdirs target-libgloss" > # this is not caught below because this stanza matches earlier > diff --git a/gcc/ChangeLog b/gcc/ChangeLog > index c854a3e..0b1f96b 100644 > --- a/gcc/ChangeLog > +++ b/gcc/ChangeLog > @@ -1,3 +1,9 @@ > +2016-05-17 Jakub Sejdak <jakub.sej...@phoesys.com> > + > + * config.gcc: Add support for arm*-*-phoenix* targets. > + * config/arm/t-phoenix: New. > + * config/phoenix.h: New. > + > 2016-05-16 Wilco Dijkstra <wdijk...@arm.com> > > * doc/invoke.texi (AArch64 Options): Various updates. > diff --git a/gcc/config.gcc b/gcc/config.gcc > index 51af122a..5470fa6 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -815,6 +815,11 @@ case ${target} in > ;; > esac > ;; > +*-*-phoenix*) > + gas=yes > + gnu_ld=yes > + default_use_cxa_atexit=yes > + ;; > *-*-rtems*) > case ${enable_threads} in > "" | yes | rtems) thread_file='rtems' ;; > @@ -1099,6 +1104,12 @@ arm*-*-uclinux*eabi*) # ARM ucLinux > # The EABI requires the use of __cxa_atexit. > default_use_cxa_atexit=yes > ;; > +arm*-*-phoenix*) > + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" > + tm_file="${tm_file} newlib-stdint.h phoenix.h" > + tm_file="${tm_file} arm/aout.h arm/arm.h" > + tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix" > + ;; > arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) > case ${target} in > arm*eb-*-eabi*) > diff --git a/gcc/config/arm/t-phoenix b/gcc/config/arm/t-phoenix > new file mode 100644 > index 0000000..d881884 > --- /dev/null > +++ b/gcc/config/arm/t-phoenix > @@ -0,0 +1,29 @@ > +# Copyright (C) 2016 Free Software Foundation, Inc. > +# > +# This file is part of GCC. > +# > +# GCC is free software; you can redistribute it and/or modify > +# it under the terms of the GNU General Public License as published by > +# the Free Software Foundation; either version 3, or (at your option) > +# any later version. > +# > +# GCC is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with GCC; see the file COPYING3. If not see > +# <http://www.gnu.org/licenses/>. > + > +MULTILIB_OPTIONS = marm/mthumb > +MULTILIB_DIRNAMES = arm thumb > +MULTILIB_EXCEPTIONS = > +MULTILIB_MATCHES = > + > +MULTILIB_OPTIONS += mfloat-abi=hard > +MULTILIB_DIRNAMES += fpu > +MULTILIB_MATCHES += mfloat-abi?hard=mhard-float > + > +MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork > +MULTILIB_DIRNAMES += normal interwork > diff --git a/gcc/config/phoenix.h b/gcc/config/phoenix.h > new file mode 100644 > index 0000000..830d202 > --- /dev/null > +++ b/gcc/config/phoenix.h > @@ -0,0 +1,33 @@ > +/* Base configuration file for all Phoenix-RTOS targets. > + Copyright (C) 2016 Free Software Foundation, Inc. > + > +This file is part of GCC. > + > +GCC is free software; you can redistribute it and/or modify > +it under the terms of the GNU General Public License as published by > +the Free Software Foundation; either version 3, or (at your option) > +any later version. > + > +GCC is distributed in the hope that it will be useful, > +but WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +GNU General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with GCC; see the file COPYING3. If not see > +<http://www.gnu.org/licenses/>. */ > + > +#undef TARGET_OS_CPP_BUILTINS > +#define TARGET_OS_CPP_BUILTINS() \ > + do { \ > + builtin_define_std ("phoenix"); \ > + builtin_define_std ("unix"); \ > + builtin_assert ("system=phoenix"); \ > + builtin_assert ("system=unix"); \ > + } while(0); > + > +#define STD_LIB_SPEC "%{!shared:%{g*:-lg} > %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}" > + > +/* This will prevent selecting 'unsigned long int' instead of 'unsigned int' > as 'uint32_t' in stdint-newlib.h. */ > +#undef STDINT_LONG32 > +#define STDINT_LONG32 0 > diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog > index 91f968a..bcb4963 100644 > --- a/libgcc/ChangeLog > +++ b/libgcc/ChangeLog > @@ -1,3 +1,7 @@ > +2016-05-17 Jakub Sejdak <jakub.sej...@phoesys.com> > + > + * config.host: Add suport for arm*-*-phoenix* targets. > + > 2016-05-10 Joel Sherrill <j...@rtems.org> > > PR libgcc/70720 > diff --git a/libgcc/config.host b/libgcc/config.host > index 4fe3085..86318c6 100644 > --- a/libgcc/config.host > +++ b/libgcc/config.host > @@ -404,6 +404,13 @@ arm*-*-uclinux*) # ARM ucLinux > unwind_header=config/arm/unwind-arm.h > extra_parts="$extra_parts crti.o crtn.o" > ;; > +arm*-*-phoenix*) > + tmake_file="t-hardfp t-softfp arm/t-arm arm/t-elf arm/t-softfp > arm/t-phoenix" > + tmake_file="${tmake_file} arm/t-bpabi" > + tm_file="$tm_file arm/bpabi-lib.h" > + extra_parts="crtbegin.o crtend.o crti.o crtn.o" > + unwind_header=config/arm/unwind-arm.h > + ;; > arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) > tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix" > tm_file="$tm_file arm/bpabi-lib.h" > -- > 2.7.4 >