config.gcc: Add nios2-*-rtems*.

2014-07-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
	    Chris Johns <chrisj@rtems.org>
	    Joel Sherrill <joel.sherrill@oarcorp.com>

	* config.gcc: Add nios2-*-rtems*.
	* config/nios2/rtems.h: New file.
	* gcc/config/nios2/t-rtems: New file.


Co-Authored-By: Chris Johns <chrisj@rtems.org>
Co-Authored-By: Joel Sherrill <joel.sherrill@oarcorp.com>

From-SVN: r212935
This commit is contained in:
Sebastian Huber 2014-07-23 13:56:25 +00:00 committed by Joel Sherrill
parent 31e1324bf9
commit 00020ddac1
4 changed files with 180 additions and 1 deletions

View file

@ -1,3 +1,11 @@
2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
Chris Johns <chrisj@rtems.org>
Joel Sherrill <joel.sherrill@oarcorp.com>
* config.gcc: Add nios2-*-rtems*.
* config/nios2/rtems.h: New file.
* gcc/config/nios2/t-rtems: New file.
2014-07-23 Segher Boessenkool <segher@kernel.crashing.org>
PR target/61396

View file

@ -419,7 +419,7 @@ nds32*)
nios2-*-*)
cpu_type=nios2
extra_options="${extra_options} g.opt"
;;
;;
picochip-*-*)
cpu_type=picochip
;;
@ -2136,6 +2136,10 @@ nios2-*-*)
tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
extra_options="${extra_options} nios2/elf.opt"
;;
nios2-*-rtems*)
tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
tmake_file="${tmake_file} t-rtems nios2/t-rtems"
;;
esac
;;
pdp11-*-*)

34
gcc/config/nios2/rtems.h Normal file
View file

@ -0,0 +1,34 @@
/* Definitions for rtems targeting a NIOS2 using ELF.
Copyright (C) 2011-2014 Free Software Foundation, Inc.
Contributed by Chris Johns (chrisj@rtems.org).
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/>. */
/* Specify predefined symbols in preprocessor. */
#define TARGET_OS_CPP_BUILTINS() \
do { \
builtin_define ("__rtems__"); \
builtin_define ("__USE_INIT_FINI__"); \
builtin_assert ("system=rtems"); \
} while (0)
/* This toolchain implements the ABI for Linux Systems documented in the
Nios II Processor Reference Handbook.
This is done so RTEMS targets have Thread Local Storage like Linux. */
#define TARGET_LINUX_ABI 1

133
gcc/config/nios2/t-rtems Normal file
View file

@ -0,0 +1,133 @@
# Custom RTEMS multilibs
MULTILIB_OPTIONS = mhw-mul mhw-mulx mhw-div mcustom-fadds=253 mcustom-fdivs=255 mcustom-fmuls=252 mcustom-fsubs=254
# Enumeration of multilibs
# MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fadds=253
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div/mcustom-fsubs=254
# MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mhw-div
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fadds=253
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-mulx
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fadds=253
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mhw-div
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fadds=253
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mul/mcustom-fsubs=254
# MULTILIB_EXCEPTIONS += mhw-mul
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fadds=253
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mhw-div
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fadds=253
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-mulx/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-mulx
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fadds=253
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mhw-div/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mhw-div
MULTILIB_EXCEPTIONS += mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mcustom-fadds=253/mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mcustom-fadds=253/mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mcustom-fadds=253/mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mcustom-fadds=253/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mcustom-fadds=253/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mcustom-fadds=253/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mcustom-fadds=253
MULTILIB_EXCEPTIONS += mcustom-fdivs=255/mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mcustom-fdivs=255/mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mcustom-fdivs=255/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mcustom-fdivs=255
MULTILIB_EXCEPTIONS += mcustom-fmuls=252/mcustom-fsubs=254
MULTILIB_EXCEPTIONS += mcustom-fmuls=252
MULTILIB_EXCEPTIONS += mcustom-fsubs=254