public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Add port for Phoenix-RTOS on ARM platform.
@ 2016-05-17  8:42 Kuba Sejdak
  2016-05-18  7:03 ` Jakub Sejdak
  2016-05-19  8:59 ` Kyrill Tkachov
  0 siblings, 2 replies; 11+ messages in thread
From: Kuba Sejdak @ 2016-05-17  8:42 UTC (permalink / raw)
  To: gcc-patches; +Cc: Kuba Sejdak

---
 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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-05-17  8:42 [PATCH] Add port for Phoenix-RTOS on ARM platform Kuba Sejdak
@ 2016-05-18  7:03 ` Jakub Sejdak
  2016-05-19  6:18   ` Jakub Sejdak
  2016-05-19  8:59 ` Kyrill Tkachov
  1 sibling, 1 reply; 11+ messages in thread
From: Jakub Sejdak @ 2016-05-18  7:03 UTC (permalink / raw)
  To: gcc-patches

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
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-05-18  7:03 ` Jakub Sejdak
@ 2016-05-19  6:18   ` Jakub Sejdak
  0 siblings, 0 replies; 11+ messages in thread
From: Jakub Sejdak @ 2016-05-19  6:18 UTC (permalink / raw)
  To: gcc-patches

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
>>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-05-17  8:42 [PATCH] Add port for Phoenix-RTOS on ARM platform Kuba Sejdak
  2016-05-18  7:03 ` Jakub Sejdak
@ 2016-05-19  8:59 ` Kyrill Tkachov
  2016-06-15 14:21   ` Jakub Sejdak
  1 sibling, 1 reply; 11+ messages in thread
From: Kyrill Tkachov @ 2016-05-19  8:59 UTC (permalink / raw)
  To: Kuba Sejdak, gcc-patches; +Cc: Ramana Radhakrishnan

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"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-05-19  8:59 ` Kyrill Tkachov
@ 2016-06-15 14:21   ` Jakub Sejdak
  2016-06-15 22:24     ` Jeff Law
  0 siblings, 1 reply; 11+ messages in thread
From: Jakub Sejdak @ 2016-06-15 14:21 UTC (permalink / raw)
  To: Kyrill Tkachov; +Cc: gcc-patches, Ramana Radhakrishnan

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"
>
>



-- 
Jakub Sejdak
Software Engineer
Phoenix Systems (www.phoesys.com)
+48 608 050 163

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-06-15 14:21   ` Jakub Sejdak
@ 2016-06-15 22:24     ` Jeff Law
  2016-06-16  8:52       ` Kyrill Tkachov
  0 siblings, 1 reply; 11+ messages in thread
From: Jeff Law @ 2016-06-15 22:24 UTC (permalink / raw)
  To: Jakub Sejdak, Kyrill Tkachov; +Cc: gcc-patches, Ramana Radhakrishnan

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-06-15 22:24     ` Jeff Law
@ 2016-06-16  8:52       ` Kyrill Tkachov
  2016-06-16  9:00         ` Jakub Sejdak
  0 siblings, 1 reply; 11+ messages in thread
From: Kyrill Tkachov @ 2016-06-16  8:52 UTC (permalink / raw)
  To: Jeff Law, Jakub Sejdak; +Cc: gcc-patches, Ramana Radhakrishnan


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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-06-16  8:52       ` Kyrill Tkachov
@ 2016-06-16  9:00         ` Jakub Sejdak
  2016-06-16 16:29           ` Jeff Law
  0 siblings, 1 reply; 11+ messages in thread
From: Jakub Sejdak @ 2016-06-16  9:00 UTC (permalink / raw)
  To: Kyrill Tkachov; +Cc: Jeff Law, gcc-patches, Ramana Radhakrishnan

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
>
>



-- 
Jakub Sejdak
Software Engineer
Phoenix Systems (www.phoesys.com)
+48 608 050 163

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-06-16  9:00         ` Jakub Sejdak
@ 2016-06-16 16:29           ` Jeff Law
  2016-06-17 13:07             ` Jakub Sejdak
  0 siblings, 1 reply; 11+ messages in thread
From: Jeff Law @ 2016-06-16 16:29 UTC (permalink / raw)
  To: Jakub Sejdak, Kyrill Tkachov; +Cc: gcc-patches, Ramana Radhakrishnan

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-06-16 16:29           ` Jeff Law
@ 2016-06-17 13:07             ` Jakub Sejdak
  2016-06-17 16:50               ` Jeff Law
  0 siblings, 1 reply; 11+ messages in thread
From: Jakub Sejdak @ 2016-06-17 13:07 UTC (permalink / raw)
  To: Jeff Law; +Cc: Kyrill Tkachov, gcc-patches, Ramana Radhakrishnan

> 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
>



-- 
Jakub Sejdak
Software Engineer
Phoenix Systems (www.phoesys.com)
+48 608 050 163

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Add port for Phoenix-RTOS on ARM platform.
  2016-06-17 13:07             ` Jakub Sejdak
@ 2016-06-17 16:50               ` Jeff Law
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Law @ 2016-06-17 16:50 UTC (permalink / raw)
  To: Jakub Sejdak; +Cc: Kyrill Tkachov, gcc-patches, Ramana Radhakrishnan

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-06-17 16:50 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-17  8:42 [PATCH] Add port for Phoenix-RTOS on ARM platform Kuba Sejdak
2016-05-18  7:03 ` Jakub Sejdak
2016-05-19  6:18   ` Jakub Sejdak
2016-05-19  8:59 ` Kyrill Tkachov
2016-06-15 14:21   ` Jakub Sejdak
2016-06-15 22:24     ` Jeff Law
2016-06-16  8:52       ` Kyrill Tkachov
2016-06-16  9:00         ` Jakub Sejdak
2016-06-16 16:29           ` Jeff Law
2016-06-17 13:07             ` Jakub Sejdak
2016-06-17 16:50               ` Jeff Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).