This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PING][PATCH 2/3][GCC-6] Backport support for arm*-*-phoenix* targets.
- From: Jakub Sejdak <jakub dot sejdak at phoesys dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 29 Jul 2016 08:18:58 +0200
- Subject: [PING][PATCH 2/3][GCC-6] Backport support for arm*-*-phoenix* targets.
- Authentication-results: sourceware.org; auth=none
Hi,
I'd like to ping this patch to GCC-6 branch.
Regards,
Kuba Sejdak
2016-07-22 8:27 GMT+02:00 Kuba Sejdak <jakub.sejdak@phoesys.com>:
> This patch is already in trunk. It adds no new features, just new arm-phoenix*
> OS target to gcc config.
> I have SVN write access, so only approval is needed. Is it OK for gcc-6 branch?
>
> 2016-07-22 Jakub Sejdak <jakub.sejdak@phoesys.com>
>
> * config.gcc: Add support for arm*-*-phoenix* targets.
> * config/arm/t-phoenix: New.
> * config/phoenix.h: New.
>
> ---
> gcc/ChangeLog | 6 ++++++
> gcc/config.gcc | 11 +++++++++++
> gcc/config/arm/t-phoenix | 29 +++++++++++++++++++++++++++++
> gcc/config/phoenix.h | 33 +++++++++++++++++++++++++++++++++
> 4 files changed, 79 insertions(+)
> create mode 100644 gcc/config/arm/t-phoenix
> create mode 100644 gcc/config/phoenix.h
>
> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> index 262456a..0591a49 100644
> --- a/gcc/ChangeLog
> +++ b/gcc/ChangeLog
> @@ -1,3 +1,9 @@
> +2016-07-22 Jakub Sejdak <jakub.sejdak@phoesys.com>
> +
> + * config.gcc: Add support for arm*-*-phoenix* targets.
> + * config/arm/t-phoenix: New.
> + * config/phoenix.h: New.
> +
> 2016-07-21 Jakub Jelinek <jakub@redhat.com>
>
> * tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1.
> diff --git a/gcc/config.gcc b/gcc/config.gcc
> index 82cc9a9..cc0a175 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' ;;
> @@ -1097,6 +1102,12 @@ arm*-*-uclinux*eabi*) # ARM ucLinux
> # The EABI requires the use of __cxa_atexit.
> default_use_cxa_atexit=yes
> ;;
> +arm*-*-phoenix*)
> + tm_file="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..9ffb958
> --- /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
> --
> 2.7.4
>
--
Jakub Sejdak
Software Engineer
Phoenix Systems (www.phoesys.com)
+48 608 050 163