diff options
author | Corwin Kuiper | 2020-11-16 18:54:27 +0000 |
---|---|---|
committer | Corwin Kuiper | 2021-01-08 16:24:30 +0000 |
commit | 1628fa036b1420418b6502f5bcd78de909842699 (patch) | |
tree | 0c385e9bdfad2eea7442658ed5974a7b010cea17 | |
parent | 95f695a7d2a7e3053261f368fb9f18bcb158710f (diff) | |
download | aur-1628fa036b1420418b6502f5bcd78de909842699.tar.gz |
update to r55
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | PKGBUILD | 31 | ||||
-rw-r--r-- | crtls-makefile.patch | 15 | ||||
-rw-r--r-- | gdb-and-rules.patch | 223 | ||||
-rw-r--r-- | rules-makefile.patch | 13 |
5 files changed, 287 insertions, 19 deletions
@@ -1,6 +1,6 @@ pkgbase = devkitarm pkgdesc = ARM toolchain for GP32, Nintendo (3)DS and GBA homebrew development - pkgver = r53 + pkgver = r55 pkgrel = 1 url = http://devkitpro.org install = devkitarm.install @@ -12,25 +12,31 @@ pkgbase = devkitarm depends = xz provides = devkitARM conflicts = devkitARM + noextract = devkitarm-rules-1.0.0.tar.xz + noextract = devkitarm-crtls-1.0.0.tar.xz noextract = binutils-2.32.tar.xz - noextract = gcc-9.1.0.tar.xz - noextract = newlib-3.1.0.tar.gz + noextract = gcc-10.1.0.tar.xz + noextract = newlib-3.3.0.tar.gz noextract = gdb-8.2.1.tar.xz options = !strip options = libtool options = staticlibs options = emptydirs - source = buildscripts-20190701.tar.gz::https://github.com/devkitPro/buildscripts/archive/v20190701.tar.gz + source = buildscripts-20201105.tar.gz::https://github.com/devkitPro/buildscripts/archive/v20201105.tar.gz + source = https://github.com/devkitPro/devkitarm-rules/releases/download/v1.0.0/devkitarm-rules-1.0.0.tar.xz + source = https://github.com/devkitPro/devkitarm-crtls/releases/download/v1.0.0/devkitarm-crtls-1.0.0.tar.xz source = https://github.com/devkitPro/buildscripts/releases/download/sources/binutils-2.32.tar.xz - source = https://github.com/devkitPro/buildscripts/releases/download/sources/gcc-9.1.0.tar.xz - source = https://github.com/devkitPro/buildscripts/releases/download/sources/newlib-3.1.0.tar.gz + source = https://github.com/devkitPro/buildscripts/releases/download/sources/gcc-10.1.0.tar.xz + source = https://github.com/devkitPro/buildscripts/releases/download/sources/newlib-3.3.0.tar.gz source = https://github.com/devkitPro/buildscripts/releases/download/sources/gdb-8.2.1.tar.xz source = devkitarm.sh source = devkitarm.fish - sha256sums = 3dbe4ee7ef819cb5ee0dd87632eea69cfe355d0f5723ce58343775a5ab6684d5 + sha256sums = a945e0300a9785a04fcaf0349c7c0fa63efbf93346a318cacb79d23f0840d543 + sha256sums = 10ad51c68eda70cba4ca6ed4d0bfd938ad33199f254cb0412dff6edabc56fa70 + sha256sums = db8b2f6a08909a3cdd476b8b2e2ece3270d3d6b2bf625ef3da1edd25f345643c sha256sums = 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04 - sha256sums = 79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0 - sha256sums = fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a + sha256sums = b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2 + sha256sums = 58dd9e3eaedf519360d92d84205c3deef0b3fc286685d1c562e245914ef72c66 sha256sums = baaabb28026ba47e3fd56f0138e020c9b3d51e11800a3b220d736fae8e677112 sha256sums = 2162a4cf8ae8567b5ddff631474f28b6a0a5d0bce43915396b7dea602e2131e0 sha256sums = 13357e81de7ec8d7ad7f9fb37a78c23c4f99c6f7ca67d3a0070eedc388deb938 @@ -1,11 +1,15 @@ -# Maintainer: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG +# Maintainer: Corwin <corwin@kuiper.dev> + +# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG pkgname=devkitarm -pkgver=r53 -_buildscriptsver=20190701 +pkgver=r55 +_buildscriptsver=20201105 +_rulesver=1.0.0 +_crtlsver=1.0.0 _binutilsver=2.32 -_gccver=9.1.0 -_newlibver=3.1.0 +_gccver=10.1.0 +_newlibver=3.3.0 _gdbver=8.2.1 pkgrel=1 pkgdesc="ARM toolchain for GP32, Nintendo (3)DS and GBA homebrew development" @@ -18,20 +22,25 @@ conflicts=('devkitARM') provides=('devkitARM') install=devkitarm.install source=(buildscripts-$_buildscriptsver.tar.gz::"https://github.com/devkitPro/buildscripts/archive/v$_buildscriptsver.tar.gz" + "https://github.com/devkitPro/devkitarm-rules/releases/download/v$_rulesver/devkitarm-rules-$_rulesver.tar.xz" + "https://github.com/devkitPro/devkitarm-crtls/releases/download/v$_crtlsver/devkitarm-crtls-$_crtlsver.tar.xz" "https://github.com/devkitPro/buildscripts/releases/download/sources/binutils-$_binutilsver.tar.xz" "https://github.com/devkitPro/buildscripts/releases/download/sources/gcc-$_gccver.tar.xz" "https://github.com/devkitPro/buildscripts/releases/download/sources/newlib-$_newlibver.tar.gz" "https://github.com/devkitPro/buildscripts/releases/download/sources/gdb-$_gdbver.tar.xz" "devkitarm.sh" "devkitarm.fish") -sha256sums=('3dbe4ee7ef819cb5ee0dd87632eea69cfe355d0f5723ce58343775a5ab6684d5' +sha256sums=('a945e0300a9785a04fcaf0349c7c0fa63efbf93346a318cacb79d23f0840d543' + '10ad51c68eda70cba4ca6ed4d0bfd938ad33199f254cb0412dff6edabc56fa70' + 'db8b2f6a08909a3cdd476b8b2e2ece3270d3d6b2bf625ef3da1edd25f345643c' '0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04' - '79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0' - 'fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a' + 'b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2' + '58dd9e3eaedf519360d92d84205c3deef0b3fc286685d1c562e245914ef72c66' 'baaabb28026ba47e3fd56f0138e020c9b3d51e11800a3b220d736fae8e677112' '2162a4cf8ae8567b5ddff631474f28b6a0a5d0bce43915396b7dea602e2131e0' '13357e81de7ec8d7ad7f9fb37a78c23c4f99c6f7ca67d3a0070eedc388deb938') -noextract=("binutils-$_binutilsver.tar.xz" "gcc-$_gccver.tar.xz" +noextract=("devkitarm-rules-$_rulesver.tar.xz" "devkitarm-crtls-$_crtlsver.tar.xz" + "binutils-$_binutilsver.tar.xz" "gcc-$_gccver.tar.xz" "newlib-$_newlibver.tar.gz" "gdb-$_gdbver.tar.xz") prepare() { @@ -53,13 +62,15 @@ BUILD_DKPRO_AUTOMATED=1 END # do not try to download or extract tool packages - sed 's/ \$hostarchives/ ""/g;s/archives=\"devkitarm.*//' -i build-devkit.sh + sed 's/ \$hostarchives/ ""/g;s/archives=\"devkitarm.*/echo ""/' -i build-devkit.sh # do not build gdb with guile support (broken) sed '/gdb/,$ s/--disable-werror/& --with-guile=no/' -i dkarm-eabi/scripts/build-gcc.sh # fix search path to use correct tools sed 's|$PATH:$TOOLPATH/$package/bin|$TOOLPATH/$package/bin:$PATH|' -i build-devkit.sh + + patch --strip=1 < ../../gdb-and-rules.patch ) } diff --git a/crtls-makefile.patch b/crtls-makefile.patch new file mode 100644 index 000000000000..42eba218e294 --- /dev/null +++ b/crtls-makefile.patch @@ -0,0 +1,15 @@ +--- Makefile.orig 2020-11-16 18:49:21.443000000 +0000 ++++ Makefile 2020-11-16 18:49:32.763553998 +0000 +@@ -16,9 +16,9 @@ + armv6k/fpu/3dsx_crt0.o + + install: all +- @mkdir -p $(DESTDIR)/opt/devkitpro/devkitARM/arm-none-eabi/lib +- @cp -v *.specs *.ld *.mem $(DESTDIR)/opt/devkitpro/devkitARM/arm-none-eabi/lib +- @cp -rv thumb armv6k *.o $(DESTDIR)/opt/devkitpro/devkitARM/arm-none-eabi/lib ++ @mkdir -p $(DESTDIR)/devkitARM/arm-none-eabi/lib ++ @cp -v *.specs *.ld *.mem $(DESTDIR)/devkitARM/arm-none-eabi/lib ++ @cp -rv thumb armv6k *.o $(DESTDIR)/devkitARM/arm-none-eabi/lib + + clean: + rm -fr thumb armv6k *.o diff --git a/gdb-and-rules.patch b/gdb-and-rules.patch new file mode 100644 index 000000000000..1beb694acd76 --- /dev/null +++ b/gdb-and-rules.patch @@ -0,0 +1,223 @@ +diff --unified --recursive --text buildscripts.old/dkarm-eabi/patches/gdb-8.2.1.patch buildscripts-20201105/dkarm-eabi/patches/gdb-8.2.1.patch +--- buildscripts.old/dkarm-eabi/patches/gdb-8.2.1.patch 2020-11-16 17:16:10.393390113 +0000 ++++ buildscripts-20201105/dkarm-eabi/patches/gdb-8.2.1.patch 2020-11-16 17:19:23.040287837 +0000 +@@ -595,3 +595,198 @@ + + /* Attach or detach a single observer, according to ATTACH. */ + ++diff --git a/sim/arm/armemu.c b/sim/arm/armemu.c ++index 76f398b..3a72277 100644 ++--- a/sim/arm/armemu.c +++++ b/sim/arm/armemu.c ++@@ -1140,10 +1140,6 @@ ++ ++ /* EMULATION of ARM6. */ ++ ++-/* The PC pipeline value depends on whether ARM ++- or Thumb instructions are being executed. */ ++-ARMword isize; ++- ++ ARMword ++ #ifdef MODE32 ++ ARMul_Emulate32 (ARMul_State * state) ++diff --git a/sim/arm/arminit.c b/sim/arm/arminit.c ++index 851d356..3a626c8 100644 ++--- a/sim/arm/arminit.c +++++ b/sim/arm/arminit.c ++@@ -40,6 +40,10 @@ ++ ARMword ARMul_ImmedTable[4096]; /* immediate DP LHS values */ ++ char ARMul_BitList[256]; /* number of bits in a byte table */ ++ +++/* The PC pipeline value depends on whether ARM +++ or Thumb instructions are being executed. */ +++ARMword isize; +++ ++ /***************************************************************************\ ++ * Call this routine once to set up the emulator's tables. * ++ \***************************************************************************/ ++diff --git a/sim/arm/maverick.c b/sim/arm/maverick.c ++index c112692..bae8c47 100644 ++--- a/sim/arm/maverick.c +++++ b/sim/arm/maverick.c ++@@ -19,6 +19,7 @@ ++ #include "armdefs.h" ++ #include "ansidecl.h" ++ #include "armemu.h" +++#include "maverick.h" ++ ++ /*#define CIRRUS_DEBUG 1 */ ++ #if CIRRUS_DEBUG ++@@ -30,36 +31,10 @@ ++ #define POS64(i) ( (~(i)) >> 63 ) ++ #define NEG64(i) ( (i) >> 63 ) ++ ++-/* Define Co-Processor instruction handlers here. */ ++- ++-/* Here's ARMulator's DSP definition. A few things to note: ++- 1) it has 16 64-bit registers and 4 72-bit accumulators ++- 2) you can only access its registers with MCR and MRC. */ ++- ++-/* We can't define these in here because this file might not be linked ++- unless the target is arm9e-*. They are defined in wrapper.c. ++- Eventually the simulator should be made to handle any coprocessor ++- at run time. */ ++-struct maverick_regs ++-{ ++- union ++- { ++- int i; ++- float f; ++- } upper; ++- ++- union ++- { ++- int i; ++- float f; ++- } lower; ++-}; ++- ++-union maverick_acc_regs ++-{ ++- long double ld; /* Acc registers are 72-bits. */ ++-}; ++- +++/* These variables are defined here and made extern in maverick.h for use +++ in wrapper.c for now. +++ Eventually the simulator should be made to handle any coprocessor at run +++ time. */ ++ struct maverick_regs DSPregs[16]; ++ union maverick_acc_regs DSPacc[4]; ++ ARMword DSPsc; ++diff --git a/sim/arm/maverick.h b/sim/arm/maverick.h ++new file mode 100644 ++index 0000000..2549d21 ++--- /dev/null +++++ b/sim/arm/maverick.h ++@@ -0,0 +1,46 @@ +++/* maverick.h -- Cirrus/DSP co-processor interface header +++ Copyright (C) 2003-2019 Free Software Foundation, Inc. +++ Contributed by Aldy Hernandez (aldyh@redhat.com). +++ +++ This program 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 of the License, or +++ (at your option) any later version. +++ +++ This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */ +++ +++/* Define Co-Processor instruction handlers here. */ +++ +++/* Here's ARMulator's DSP definition. A few things to note: +++ 1) it has 16 64-bit registers and 4 72-bit accumulators +++ 2) you can only access its registers with MCR and MRC. */ +++ +++struct maverick_regs +++{ +++ union +++ { +++ int i; +++ float f; +++ } upper; +++ +++ union +++ { +++ int i; +++ float f; +++ } lower; +++}; +++ +++union maverick_acc_regs +++{ +++ long double ld; /* Acc registers are 72-bits. */ +++}; +++ +++extern struct maverick_regs DSPregs[16]; +++extern union maverick_acc_regs DSPacc[4]; +++extern ARMword DSPsc; ++diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c ++index fde5d8c..78a9192 100644 ++--- a/sim/arm/wrapper.c +++++ b/sim/arm/wrapper.c ++@@ -37,6 +37,7 @@ ++ #include "gdb/signals.h" ++ #include "libiberty.h" ++ #include "iwmmxt.h" +++#include "maverick.h" ++ ++ /* TODO: This should get pulled from the SIM_DESC. */ ++ host_callback *sim_callback; ++@@ -101,38 +102,6 @@ ++ fprintf (stderr, " %*s\n", size, opbuf); ++ } ++ ++-/* Cirrus DSP registers. ++- ++- We need to define these registers outside of maverick.c because ++- maverick.c might not be linked in unless --target=arm9e-* in which ++- case wrapper.c will not compile because it tries to access Cirrus ++- registers. This should all go away once we get the Cirrus and ARM ++- Coprocessor to coexist in armcopro.c-- aldyh. */ ++- ++-struct maverick_regs ++-{ ++- union ++- { ++- int i; ++- float f; ++- } upper; ++- ++- union ++- { ++- int i; ++- float f; ++- } lower; ++-}; ++- ++-union maverick_acc_regs ++-{ ++- long double ld; /* Acc registers are 72-bits. */ ++-}; ++- ++-struct maverick_regs DSPregs[16]; ++-union maverick_acc_regs DSPacc[4]; ++-ARMword DSPsc; ++- ++ static void ++ init (void) ++ { ++@@ -236,7 +205,7 @@ ++ { ++ int argvlen = 0; ++ int mach; ++- char **arg; +++ char * const *arg; ++ ++ init (); ++ +diff --unified --recursive --text buildscripts.old/dkarm-eabi/scripts/build-crtls.sh buildscripts-20201105/dkarm-eabi/scripts/build-crtls.sh +--- buildscripts.old/dkarm-eabi/scripts/build-crtls.sh 2020-11-16 17:16:10.393390113 +0000 ++++ buildscripts-20201105/dkarm-eabi/scripts/build-crtls.sh 2020-11-16 17:24:46.781920373 +0000 +@@ -14,7 +14,8 @@ + mkdir -p rules + cd rules + tar -xvf $SRCDIR/devkitarm-rules-$DKARM_RULES_VER.tar.xz +-make install ++patch -u Makefile -i "$SRCDIR"/../rules-makefile.patch ++DESTDIR=$DEVKITPRO make install + + #--------------------------------------------------------------------------------- + # Install and build the crt0 files +@@ -24,5 +25,6 @@ + mkdir -p crtls + cd crtls + tar -xvf $SRCDIR/devkitarm-crtls-$DKARM_CRTLS_VER.tar.xz +-make install ++patch -u Makefile -i "$SRCDIR"/../crtls-makefile.patch ++DESTDIR=$DEVKITPRO make install + diff --git a/rules-makefile.patch b/rules-makefile.patch new file mode 100644 index 000000000000..6281a308100b --- /dev/null +++ b/rules-makefile.patch @@ -0,0 +1,13 @@ +--- Makefile.orig 2020-11-16 18:47:50.968860447 +0000 ++++ Makefile 2020-11-16 18:48:10.395145904 +0000 +@@ -8,8 +8,8 @@ + @echo "use dist or install targets" + + install: +- @mkdir -p $(DESTDIR)/opt/devkitpro/devkitARM +- @cp -v $(FILES) $(DESTDIR)/opt/devkitpro/devkitARM ++ @mkdir -p $(DESTDIR)/devkitARM ++ @cp -v $(FILES) $(DESTDIR)/devkitARM + + dist: + @tar -cJf devkitarm-rules-$(_MAJOR).$(_MINOR).$(_PATCH).tar.xz $(FILES) Makefile |