summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorwin Kuiper2020-11-16 18:54:27 +0000
committerCorwin Kuiper2021-01-08 16:24:30 +0000
commit1628fa036b1420418b6502f5bcd78de909842699 (patch)
tree0c385e9bdfad2eea7442658ed5974a7b010cea17
parent95f695a7d2a7e3053261f368fb9f18bcb158710f (diff)
downloadaur-1628fa036b1420418b6502f5bcd78de909842699.tar.gz
update to r55
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD31
-rw-r--r--crtls-makefile.patch15
-rw-r--r--gdb-and-rules.patch223
-rw-r--r--rules-makefile.patch13
5 files changed, 287 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fb5f6bdc7159..8a7478ed9f52 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index d0f810e04930..160e92bbeda2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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