mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-06 02:20:34 +08:00
xtensa: add uclinux support
2015-10-03 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config.gcc (xtensa*-*-uclinux*): New configuration. * config/xtensa/uclinux.h: New file. * config/xtensa/uclinux.opt: New file. libgcc/ * config.host (xtensa*-*-uclinux*): New configuration. From-SVN: r228450
This commit is contained in:
parent
98955e50b8
commit
4a0a945785
@ -1,3 +1,9 @@
|
||||
2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config.gcc (xtensa*-*-uclinux*): New configuration.
|
||||
* config/xtensa/uclinux.h: New file.
|
||||
* config/xtensa/uclinux.opt: New file.
|
||||
|
||||
2015-10-03 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* doc/cpp.texi (Standard Predefined Macros): Document value of
|
||||
|
@ -2995,6 +2995,11 @@ xtensa*-*-linux*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
|
||||
tmake_file="${tmake_file} xtensa/t-xtensa"
|
||||
;;
|
||||
xtensa*-*-uclinux*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
|
||||
tmake_file="${tmake_file} xtensa/t-xtensa"
|
||||
extra_options="${extra_options} xtensa/uclinux.opt"
|
||||
;;
|
||||
am33_2.0-*-linux*)
|
||||
tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
|
||||
gas=yes gnu_ld=yes
|
||||
|
69
gcc/config/xtensa/uclinux.h
Normal file
69
gcc/config/xtensa/uclinux.h
Normal file
@ -0,0 +1,69 @@
|
||||
/* Xtensa uClinux configuration.
|
||||
Derived from the configuration for GCC for Intel i386 running Linux.
|
||||
Copyright (C) 2001-2015 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 \
|
||||
{ \
|
||||
GNU_USER_TARGET_OS_CPP_BUILTINS (); \
|
||||
builtin_define ("__uClinux__"); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#undef SUBTARGET_CPP_SPEC
|
||||
#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
||||
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE "unsigned int"
|
||||
|
||||
#undef PTRDIFF_TYPE
|
||||
#define PTRDIFF_TYPE "int"
|
||||
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "long int"
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE 32
|
||||
|
||||
#undef ASM_SPEC
|
||||
#define ASM_SPEC \
|
||||
"%{mtext-section-literals:--text-section-literals} \
|
||||
%{mno-text-section-literals:--no-text-section-literals} \
|
||||
%{mtarget-align:--target-align} \
|
||||
%{mno-target-align:--no-target-align} \
|
||||
%{mlongcalls:--longcalls} \
|
||||
%{mno-longcalls:--no-longcalls} \
|
||||
%{mauto-litpools:--auto-litpools} \
|
||||
%{mno-auto-litpools:--no-auto-litpools}"
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "%{!no-elf2flt:%{!elf2flt*:-elf2flt}}"
|
||||
|
||||
#undef LOCAL_LABEL_PREFIX
|
||||
#define LOCAL_LABEL_PREFIX "."
|
||||
|
||||
/* Always enable "-fpic" for Xtensa Linux. */
|
||||
#define XTENSA_ALWAYS_PIC 1
|
||||
|
||||
#undef TARGET_LIBC_HAS_FUNCTION
|
||||
#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
|
||||
|
||||
#undef DBX_REGISTER_NUMBER
|
||||
|
32
gcc/config/xtensa/uclinux.opt
Normal file
32
gcc/config/xtensa/uclinux.opt
Normal file
@ -0,0 +1,32 @@
|
||||
; Xtensa uClinux options.
|
||||
|
||||
; Copyright (C) 2015 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/>.
|
||||
|
||||
; See the GCC internals manual (options.texi) for a description of
|
||||
; this file's format.
|
||||
|
||||
; Please try to keep this file in ASCII collating order.
|
||||
|
||||
elf2flt
|
||||
Driver
|
||||
|
||||
elf2flt=
|
||||
Driver JoinedOrMissing
|
||||
|
||||
; This comment is to ensure we retain the blank line above.
|
@ -1,3 +1,7 @@
|
||||
2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config.host (xtensa*-*-uclinux*): New configuration.
|
||||
|
||||
2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
|
||||
|
||||
* config/i386/cpuinfo.c (processor_features): Add
|
||||
|
@ -1295,6 +1295,11 @@ xtensa*-*-linux*)
|
||||
tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
||||
md_unwind_header=xtensa/linux-unwind.h
|
||||
;;
|
||||
xtensa*-*-uclinux*)
|
||||
tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
||||
md_unwind_header=xtensa/linux-unwind.h
|
||||
extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o"
|
||||
;;
|
||||
am33_2.0-*-linux*)
|
||||
# Don't need crtbeginT.o from *-*-linux* default.
|
||||
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
|
Loading…
x
Reference in New Issue
Block a user