Message ID | 1463474523-6372-1-git-send-email-jakub.sejdak@phoesys.com |
---|---|
State | New |
Headers | show |
OK for trunk and backports to branch 6 and 5? 2016-05-17 10:42 GMT+02:00 Kuba Sejdak <jakub.sejdak@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.sejdak@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.sejdak@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 <sellcey@imgtec.com> > solaris Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> > netbsd Jason Thorpe <thorpej@netbsd.org> > netbsd Krister Walfridsson <krister.walfridsson@gmail.com> > +Phoenix-RTOS Jakub Sejdak <jakub.sejdak@phoesys.com> > sh-linux-gnu Kaz Kojima <kkojima@gcc.gnu.org> > RTEMS Ports Joel Sherrill <joel@oarcorp.com> > RTEMS Ports Ralf Corsepius <ralf.corsepius@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.sejdak@phoesys.com> > + > + * config.gcc: Add support for arm*-*-phoenix* targets. > + * config/arm/t-phoenix: New. > + * config/phoenix.h: New. > + > 2016-05-16 Wilco Dijkstra <wdijkstr@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.sejdak@phoesys.com> > + > + * config.host: Add suport for arm*-*-phoenix* targets. > + > 2016-05-10 Joel Sherrill <joel@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 >
Ping, 2016-05-18 9:03 GMT+02:00 Jakub Sejdak <jakub.sejdak@phoesys.com>: > OK for trunk and backports to branch 6 and 5? > > 2016-05-17 10:42 GMT+02:00 Kuba Sejdak <jakub.sejdak@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.sejdak@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.sejdak@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 <sellcey@imgtec.com> >> solaris Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> >> netbsd Jason Thorpe <thorpej@netbsd.org> >> netbsd Krister Walfridsson <krister.walfridsson@gmail.com> >> +Phoenix-RTOS Jakub Sejdak <jakub.sejdak@phoesys.com> >> sh-linux-gnu Kaz Kojima <kkojima@gcc.gnu.org> >> RTEMS Ports Joel Sherrill <joel@oarcorp.com> >> RTEMS Ports Ralf Corsepius <ralf.corsepius@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.sejdak@phoesys.com> >> + >> + * config.gcc: Add support for arm*-*-phoenix* targets. >> + * config/arm/t-phoenix: New. >> + * config/phoenix.h: New. >> + >> 2016-05-16 Wilco Dijkstra <wdijkstr@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.sejdak@phoesys.com> >> + >> + * config.host: Add suport for arm*-*-phoenix* targets. >> + >> 2016-05-10 Joel Sherrill <joel@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 >>
Hi Jakub, For future reference, as per https://gcc.gnu.org/contribute.html the usual practice is to wait for a week or two before pinging a patch... On 17/05/16 09:42, Kuba Sejdak wrote: > --- > 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.sejdak@phoesys.com> > + > + * configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets. > + * configure: Regenerated. > + * MAINTAINERS (OS maintainers): Add myself. > + First of all, do you or your employer have a copyright assignment to the FSF? The above link contains instructions on how to do that. It is a necessary prerequisite to accepting any non-small change. > 2016-05-16 Jakub Sejdak <jakub.sejdak@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 <sellcey@imgtec.com> > solaris Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> > netbsd Jason Thorpe <thorpej@netbsd.org> > netbsd Krister Walfridsson <krister.walfridsson@gmail.com> > +Phoenix-RTOS Jakub Sejdak <jakub.sejdak@phoesys.com> > sh-linux-gnu Kaz Kojima <kkojima@gcc.gnu.org> > RTEMS Ports Joel Sherrill <joel@oarcorp.com> > RTEMS Ports Ralf Corsepius <ralf.corsepius@rtems.org> As described in https://gcc.gnu.org/svnwrite.html the contents of this file list the people with write access permissions as well as the maintainers of each gcc component. Maintainers are appointed by the GCC steering committee (CC'ed one of them who is also an arm port maintainer). So you should remove this hunk and apply it separately if the steering committee takes that decision. The rest of the patch looks sane to me but you'd need to sort out the above before this can progress. Kyrill > 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.sejdak@phoesys.com> > + > + * config.gcc: Add support for arm*-*-phoenix* targets. > + * config/arm/t-phoenix: New. > + * config/phoenix.h: New. > + > 2016-05-16 Wilco Dijkstra <wdijkstr@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.sejdak@phoesys.com> > + > + * config.host: Add suport for arm*-*-phoenix* targets. > + > 2016-05-10 Joel Sherrill <joel@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"
Hello, > First of all, do you or your employer have a copyright assignment > to the FSF? The above link contains instructions on how to do that. > It is a necessary prerequisite to accepting any non-small change. Sorry for a late response, but it took me some time to fulfill requirements mentioned above. We (Phoenix Systems) now have a copyright assignment to the FSF. > As described in https://gcc.gnu.org/svnwrite.html the contents of this file > list the people with write access permissions as well as the maintainers of > each > gcc component. Maintainers are appointed by the GCC steering committee > (CC'ed one of them who is also an arm port maintainer). > So you should remove this hunk and apply it separately > if the steering committee takes that decision. It was not my intention to have a write access permission, just to let others know, who should they contact in case of troubles. What should I do then, to be appointed by GCC steering committee to be maintainer of our OS port? > The rest of the patch looks sane to me but you'd need to sort out the above > before this can progress. Since part of this patch should be removed, I will split it and send again in separate email. 2016-05-19 10:59 GMT+02:00 Kyrill Tkachov <kyrylo.tkachov@foss.arm.com>: > Hi Jakub, > > For future reference, as per https://gcc.gnu.org/contribute.html the usual > practice > is to wait for a week or two before pinging a patch... > > > > On 17/05/16 09:42, Kuba Sejdak wrote: >> >> --- >> 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.sejdak@phoesys.com> >> + >> + * configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets. >> + * configure: Regenerated. >> + * MAINTAINERS (OS maintainers): Add myself. >> + > > > First of all, do you or your employer have a copyright assignment > to the FSF? The above link contains instructions on how to do that. > It is a necessary prerequisite to accepting any non-small change. > >> 2016-05-16 Jakub Sejdak <jakub.sejdak@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 >> <sellcey@imgtec.com> >> solaris Rainer Orth >> <ro@CeBiTec.Uni-Bielefeld.DE> >> netbsd Jason Thorpe >> <thorpej@netbsd.org> >> netbsd Krister Walfridsson >> <krister.walfridsson@gmail.com> >> +Phoenix-RTOS Jakub Sejdak <jakub.sejdak@phoesys.com> >> sh-linux-gnu Kaz Kojima <kkojima@gcc.gnu.org> >> RTEMS Ports Joel Sherrill <joel@oarcorp.com> >> RTEMS Ports Ralf Corsepius <ralf.corsepius@rtems.org> > > > As described in https://gcc.gnu.org/svnwrite.html the contents of this file > list the people with write access permissions as well as the maintainers of > each > gcc component. Maintainers are appointed by the GCC steering committee > (CC'ed one of them who is also an arm port maintainer). > So you should remove this hunk and apply it separately > if the steering committee takes that decision. > > The rest of the patch looks sane to me but you'd need to sort out the above > before this can progress. > > Kyrill > > >> 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.sejdak@phoesys.com> >> + >> + * config.gcc: Add support for arm*-*-phoenix* targets. >> + * config/arm/t-phoenix: New. >> + * config/phoenix.h: New. >> + >> 2016-05-16 Wilco Dijkstra <wdijkstr@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.sejdak@phoesys.com> >> + >> + * config.host: Add suport for arm*-*-phoenix* targets. >> + >> 2016-05-10 Joel Sherrill <joel@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" > >
On 06/15/2016 08:21 AM, Jakub Sejdak wrote: > Hello, > >> First of all, do you or your employer have a copyright assignment >> to the FSF? The above link contains instructions on how to do that. >> It is a necessary prerequisite to accepting any non-small change. > > Sorry for a late response, but it took me some time to fulfill > requirements mentioned above. > We (Phoenix Systems) now have a copyright assignment to the FSF. Which I can confirm was recently recorded by the FSF. Jeff
On 15/06/16 23:23, Jeff Law wrote: > On 06/15/2016 08:21 AM, Jakub Sejdak wrote: >> Hello, >> >>> First of all, do you or your employer have a copyright assignment >>> to the FSF? The above link contains instructions on how to do that. >>> It is a necessary prerequisite to accepting any non-small change. >> >> Sorry for a late response, but it took me some time to fulfill >> requirements mentioned above. >> We (Phoenix Systems) now have a copyright assignment to the FSF. > Which I can confirm was recently recorded by the FSF. > Thanks Jeff, Could you please give some guidance with respect to Jakub's request at: https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01153.html ? This is regarding being appointed maintainer for the arm*-*-phoenix* targets. Thanks, Kyrill > Jeff
Actually, if possible, I would skip the "arm" part, because we plan to port Phoenix-RTOS for other platforms. It will be easier to do it once. 2016-06-16 10:52 GMT+02:00 Kyrill Tkachov <kyrylo.tkachov@foss.arm.com>: > > On 15/06/16 23:23, Jeff Law wrote: >> >> On 06/15/2016 08:21 AM, Jakub Sejdak wrote: >>> >>> Hello, >>> >>>> First of all, do you or your employer have a copyright assignment >>>> to the FSF? The above link contains instructions on how to do that. >>>> It is a necessary prerequisite to accepting any non-small change. >>> >>> >>> Sorry for a late response, but it took me some time to fulfill >>> requirements mentioned above. >>> We (Phoenix Systems) now have a copyright assignment to the FSF. >> >> Which I can confirm was recently recorded by the FSF. >> > > Thanks Jeff, > > Could you please give some guidance with respect to Jakub's request at: > https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01153.html ? > > This is regarding being appointed maintainer for the arm*-*-phoenix* > targets. > > Thanks, > Kyrill > >> Jeff > >
On 06/16/2016 02:59 AM, Jakub Sejdak wrote: > Actually, if possible, I would skip the "arm" part, because we plan to > port Phoenix-RTOS for other platforms. It will be easier to do it > once. Generally we prefer to see an ongoing commitment to the GCC project along with regular high quality contributions to appoint maintainers. So at least in the immediate term let's get you write privileges so you can commit approved changes and on the path towards maintaining the Phoenix-RTOS configurations. https://www.gnu.org/software/gcc/svnwrite.html jeff
> So at least in the immediate term let's get you write privileges so you can > commit approved changes and on the path towards maintaining the Phoenix-RTOS > configurations. Do I have to apply for this permission somewhere? Provided page states only, that it has to be granted by an existing maintainer. 2016-06-16 18:28 GMT+02:00 Jeff Law <law@redhat.com>: > On 06/16/2016 02:59 AM, Jakub Sejdak wrote: >> >> Actually, if possible, I would skip the "arm" part, because we plan to >> port Phoenix-RTOS for other platforms. It will be easier to do it >> once. > > Generally we prefer to see an ongoing commitment to the GCC project along > with regular high quality contributions to appoint maintainers. > > So at least in the immediate term let's get you write privileges so you can > commit approved changes and on the path towards maintaining the Phoenix-RTOS > configurations. > > https://www.gnu.org/software/gcc/svnwrite.html > > jeff >
On 06/17/2016 07:07 AM, Jakub Sejdak wrote: >> So at least in the immediate term let's get you write privileges so you can >> commit approved changes and on the path towards maintaining the Phoenix-RTOS >> configurations. > > Do I have to apply for this permission somewhere? Provided page states > only, that it has to be granted by an existing maintainer. Yes, there's a link to this form: https://sourceware.org/cgi-bin/pdw/ps_form.cgi List my email address (law@redhat.com) as approving your request for write access. jeff
diff --git a/ChangeLog b/ChangeLog index 8698133..2d25a91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-05-17 Jakub Sejdak <jakub.sejdak@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.sejdak@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 <sellcey@imgtec.com> solaris Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> netbsd Jason Thorpe <thorpej@netbsd.org> netbsd Krister Walfridsson <krister.walfridsson@gmail.com> +Phoenix-RTOS Jakub Sejdak <jakub.sejdak@phoesys.com> sh-linux-gnu Kaz Kojima <kkojima@gcc.gnu.org> RTEMS Ports Joel Sherrill <joel@oarcorp.com> RTEMS Ports Ralf Corsepius <ralf.corsepius@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.sejdak@phoesys.com> + + * config.gcc: Add support for arm*-*-phoenix* targets. + * config/arm/t-phoenix: New. + * config/phoenix.h: New. + 2016-05-16 Wilco Dijkstra <wdijkstr@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.sejdak@phoesys.com> + + * config.host: Add suport for arm*-*-phoenix* targets. + 2016-05-10 Joel Sherrill <joel@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"