Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
patches synced with buildroot trunk and: 110-xtensa-implement-trap-pattern.patch (copied to 5.4.0 patches) 130-build_gcc-5_with_gcc-6.patch (upstreamed in 5.4.0, dropped) 370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (copied to 5.4.0 patches) 380-gcc-plugin-POSIX-include-sys-select-h.patch (copied to 5.4.0 patches) 910-nios2-bad-multilib-default.patch (copied to 5.4.0 patches)
- Loading branch information
Showing
34 changed files
with
267 additions
and
154 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
From 70c2cb98fb129b4766b5da0f945dc41fd568c77a Mon Sep 17 00:00:00 2001 | ||
From: Max Filippov <jcmvbkbc@gmail.com> | ||
Date: Sat, 22 Aug 2015 08:44:26 +0300 | ||
Subject: [PATCH] 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. | ||
|
||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> | ||
--- | ||
Backported from: r228450 | ||
|
||
gcc/config.gcc | 5 ++++ | ||
gcc/config/xtensa/uclinux.h | 69 +++++++++++++++++++++++++++++++++++++++++++ | ||
gcc/config/xtensa/uclinux.opt | 32 ++++++++++++++++++++ | ||
libgcc/config.host | 5 ++++ | ||
4 files changed, 111 insertions(+) | ||
create mode 100644 gcc/config/xtensa/uclinux.h | ||
create mode 100644 gcc/config/xtensa/uclinux.opt | ||
|
||
diff --git a/gcc/config.gcc b/gcc/config.gcc | ||
index c52f5a8..56797bd 100644 | ||
--- a/gcc/config.gcc | ||
+++ b/gcc/config.gcc | ||
@@ -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 | ||
diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h | ||
new file mode 100644 | ||
index 0000000..4606020 | ||
--- /dev/null | ||
+++ b/gcc/config/xtensa/uclinux.h | ||
@@ -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 | ||
+ | ||
diff --git a/gcc/config/xtensa/uclinux.opt b/gcc/config/xtensa/uclinux.opt | ||
new file mode 100644 | ||
index 0000000..95ef777 | ||
--- /dev/null | ||
+++ b/gcc/config/xtensa/uclinux.opt | ||
@@ -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. | ||
diff --git a/libgcc/config.host b/libgcc/config.host | ||
index 2c64756..2ee92c1 100644 | ||
--- a/libgcc/config.host | ||
+++ b/libgcc/config.host | ||
@@ -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" | ||
-- | ||
1.8.1.4 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
remove unused header, which breaks the toolchain building | ||
|
||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> | ||
|
||
diff -Nur gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c gcc-5.3.0/libgcc/config/m68k/linux-atomic.c | ||
--- gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c 2015-01-05 13:33:28.000000000 +0100 | ||
+++ gcc-5.3.0/libgcc/config/m68k/linux-atomic.c 2016-03-19 09:25:07.000000000 +0100 | ||
@@ -33,7 +33,6 @@ | ||
using the kernel helper defined below. There is no support for | ||
64-bit operations yet. */ | ||
|
||
-#include <asm/unistd.h> | ||
#include <stdbool.h> | ||
|
||
#ifndef __NR_atomic_cmpxchg_32 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
avoids internal compiler error while compiling linux-atomic.c | ||
See here: | ||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 | ||
|
||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> | ||
|
||
diff -Nur gcc-5.3.0.orig/libgcc/config.host gcc-5.3.0/libgcc/config.host | ||
--- gcc-5.3.0.orig/libgcc/config.host 2015-10-01 14:01:18.000000000 +0200 | ||
+++ gcc-5.3.0/libgcc/config.host 2016-04-26 21:30:25.353691745 +0200 | ||
@@ -794,7 +794,7 @@ | ||
m68k*-*-openbsd*) | ||
;; | ||
m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc | ||
- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" | ||
+ tmake_file="$tmake_file m68k/t-floatlib" | ||
md_unwind_header=m68k/linux-unwind.h | ||
;; | ||
m68k-*-linux*) # Motorola m68k's running GNU/Linux |
Oops, something went wrong.