summaryrefslogtreecommitdiff
path: root/libre/xtensa-elf-gcc
diff options
context:
space:
mode:
Diffstat (limited to 'libre/xtensa-elf-gcc')
-rw-r--r--libre/xtensa-elf-gcc/PKGBUILD10
-rw-r--r--libre/xtensa-elf-gcc/gcc.patch92
2 files changed, 99 insertions, 3 deletions
diff --git a/libre/xtensa-elf-gcc/PKGBUILD b/libre/xtensa-elf-gcc/PKGBUILD
index 730c3b9ff..9aa40e32c 100644
--- a/libre/xtensa-elf-gcc/PKGBUILD
+++ b/libre/xtensa-elf-gcc/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=$_target-gcc
_pkgver=9.3.0
pkgver=$_pkgver
_islver=0.22
-pkgrel=1
+pkgrel=2
pkgdesc='The GNU Compiler Collection - cross compiler for Xtensa target'
arch=(x86_64 i686 armv7h)
url='http://gcc.gnu.org/'
@@ -14,10 +14,12 @@ depends=($_target-binutils libmpc zlib)
makedepends=(gmp mpfr)
options=(!emptydirs !strip)
source=(https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgver/gcc-$_pkgver.tar.xz{,.sig}
- http://isl.gforge.inria.fr/isl-$_islver.tar.bz2)
+ http://isl.gforge.inria.fr/isl-$_islver.tar.bz2
+ gcc.patch)
sha512sums=('4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de'
'SKIP'
- 'fc2c9796979610dd51143dcefe4f5c989c4354571cc5a1fcc6b932fd41f42a54f6b43adfd289af61be7bd06f3a523fa6a7d7ee56680e32d8036beb4c188fa668')
+ 'fc2c9796979610dd51143dcefe4f5c989c4354571cc5a1fcc6b932fd41f42a54f6b43adfd289af61be7bd06f3a523fa6a7d7ee56680e32d8036beb4c188fa668'
+ '7637408259cef4b14a2f41690bbc769ad0dc6cf4d1c782405526aeb58f68193269af6882b23fb57c3521174e45709ed2d54f0af1f835646e70a3bfd9f626aad9')
validpgpkeys=(33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
if [ -n "$_snapshot" ]; then
@@ -29,6 +31,8 @@ fi
prepare() {
cd $_basedir
+ patch -Np1 -i ../gcc.patch
+
# link isl for in-tree builds
ln -sf ../isl-$_islver isl
diff --git a/libre/xtensa-elf-gcc/gcc.patch b/libre/xtensa-elf-gcc/gcc.patch
new file mode 100644
index 000000000..b26cc568a
--- /dev/null
+++ b/libre/xtensa-elf-gcc/gcc.patch
@@ -0,0 +1,92 @@
+diff --git a/include/xtensa-config.h b/include/xtensa-config.h
+index 5ae4c80..8397564 100644
+--- a/include/xtensa-config.h
++++ b/include/xtensa-config.h
+@@ -43,10 +43,7 @@
+ #define XCHAL_HAVE_L32R 1
+
+ #undef XSHAL_USE_ABSOLUTE_LITERALS
+-#define XSHAL_USE_ABSOLUTE_LITERALS 0
+-
+-#undef XSHAL_HAVE_TEXT_SECTION_LITERALS
+-#define XSHAL_HAVE_TEXT_SECTION_LITERALS 1 /* Set if there is some memory that allows both code and literals. */
++#define XSHAL_USE_ABSOLUTE_LITERALS 1
+
+ #undef XCHAL_HAVE_MAC16
+ #define XCHAL_HAVE_MAC16 0
+@@ -58,10 +55,10 @@
+ #define XCHAL_HAVE_MUL32 1
+
+ #undef XCHAL_HAVE_MUL32_HIGH
+-#define XCHAL_HAVE_MUL32_HIGH 0
++#define XCHAL_HAVE_MUL32_HIGH 1
+
+ #undef XCHAL_HAVE_DIV32
+-#define XCHAL_HAVE_DIV32 1
++#define XCHAL_HAVE_DIV32 0
+
+ #undef XCHAL_HAVE_NSA
+ #define XCHAL_HAVE_NSA 1
+@@ -102,8 +99,6 @@
+ #undef XCHAL_HAVE_FP_RSQRT
+ #define XCHAL_HAVE_FP_RSQRT 0
+
+-#undef XCHAL_HAVE_DFP_accel
+-#define XCHAL_HAVE_DFP_accel 0
+ #undef XCHAL_HAVE_WINDOWED
+ #define XCHAL_HAVE_WINDOWED 1
+
+@@ -118,32 +113,32 @@
+
+
+ #undef XCHAL_ICACHE_SIZE
+-#define XCHAL_ICACHE_SIZE 16384
++#define XCHAL_ICACHE_SIZE 0
+
+ #undef XCHAL_DCACHE_SIZE
+-#define XCHAL_DCACHE_SIZE 16384
++#define XCHAL_DCACHE_SIZE 0
+
+ #undef XCHAL_ICACHE_LINESIZE
+-#define XCHAL_ICACHE_LINESIZE 32
++#define XCHAL_ICACHE_LINESIZE 16
+
+ #undef XCHAL_DCACHE_LINESIZE
+-#define XCHAL_DCACHE_LINESIZE 32
++#define XCHAL_DCACHE_LINESIZE 16
+
+ #undef XCHAL_ICACHE_LINEWIDTH
+-#define XCHAL_ICACHE_LINEWIDTH 5
++#define XCHAL_ICACHE_LINEWIDTH 4
+
+ #undef XCHAL_DCACHE_LINEWIDTH
+-#define XCHAL_DCACHE_LINEWIDTH 5
++#define XCHAL_DCACHE_LINEWIDTH 4
+
+ #undef XCHAL_DCACHE_IS_WRITEBACK
+-#define XCHAL_DCACHE_IS_WRITEBACK 1
++#define XCHAL_DCACHE_IS_WRITEBACK 0
+
+
+ #undef XCHAL_HAVE_MMU
+ #define XCHAL_HAVE_MMU 1
+
+ #undef XCHAL_MMU_MIN_PTE_PAGE_SIZE
+-#define XCHAL_MMU_MIN_PTE_PAGE_SIZE 12
++#define XCHAL_MMU_MIN_PTE_PAGE_SIZE 29
+
+
+ #undef XCHAL_HAVE_DEBUG
+@@ -156,8 +151,11 @@
+ #define XCHAL_NUM_DBREAK 2
+
+ #undef XCHAL_DEBUGLEVEL
+-#define XCHAL_DEBUGLEVEL 6
++#define XCHAL_DEBUGLEVEL 4
++
+
++#undef XCHAL_EXCM_LEVEL
++#define XCHAL_EXCM_LEVEL 3
+
+ #undef XCHAL_MAX_INSTRUCTION_SIZE
+ #define XCHAL_MAX_INSTRUCTION_SIZE 3