config.gcc: Add support for arm*-*-phoenix* targets.

2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

	* config.gcc: Add support for arm*-*-phoenix* targets.
	* config/arm/t-phoenix: New.
	* config/phoenix.h: New.

From-SVN: r237728
This commit is contained in:
Jakub Sejdak 2016-06-23 07:28:17 +00:00 committed by Jakub Sejdak
parent fd6487af15
commit bfdd80d44c
4 changed files with 79 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
* config.gcc: Add support for arm*-*-phoenix* targets.
* config/arm/t-phoenix: New.
* config/phoenix.h: New.
2016-06-23 Uros Bizjak <ubizjak@gmail.com>
H.J. Lu <hongjiu.lu@intel.com>

View File

@ -804,6 +804,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' ;;
@ -1086,6 +1091,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*)

29
gcc/config/arm/t-phoenix Normal file
View File

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

33
gcc/config/phoenix.h Normal file
View File

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