mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
micropython: update to 1.11
This commit is contained in:
parent
176769e439
commit
094ead741a
2 changed files with 3 additions and 67 deletions
|
@ -1,64 +0,0 @@
|
||||||
Source: https://github.com/micropython/micropython/commit/c97607db5ccc03afbccacf853f2cd06305c28251
|
|
||||||
Upstream: Yes
|
|
||||||
Reason: mpy-cross segfaults on i686
|
|
||||||
|
|
||||||
commit c97607db5ccc03afbccacf853f2cd06305c28251
|
|
||||||
Author: Damien George <damien.p.george@gmail.com>
|
|
||||||
Date: Tue May 15 11:17:28 2018 +1000
|
|
||||||
|
|
||||||
py/nlrx86: Use naked attribute on nlr_push for gcc 8.0 and higher.
|
|
||||||
|
|
||||||
gcc 8.0 supports the naked attribute for x86 systems so it can now be used
|
|
||||||
here. And in fact it is necessary to use this for nlr_push because gcc 8.0
|
|
||||||
no longer generates a prelude for this function (even without the naked
|
|
||||||
attribute).
|
|
||||||
|
|
||||||
diff --git py/nlrx86.c py/nlrx86.c
|
|
||||||
index 23882cc30..59b97d8ee 100644
|
|
||||||
--- py/nlrx86.c
|
|
||||||
+++ py/nlrx86.c
|
|
||||||
@@ -39,15 +39,29 @@ unsigned int nlr_push_tail(nlr_buf_t *nlr) asm("nlr_push_tail");
|
|
||||||
__attribute__((used)) unsigned int nlr_push_tail(nlr_buf_t *nlr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ >= 8
|
|
||||||
+// Since gcc 8.0 the naked attribute is supported
|
|
||||||
+#define USE_NAKED (1)
|
|
||||||
+#define UNDO_PRELUDE (0)
|
|
||||||
+#elif defined(__ZEPHYR__) || defined(__ANDROID__)
|
|
||||||
+// Zephyr and Android use a different calling convention by default
|
|
||||||
+#define USE_NAKED (0)
|
|
||||||
+#define UNDO_PRELUDE (0)
|
|
||||||
+#else
|
|
||||||
+#define USE_NAKED (0)
|
|
||||||
+#define UNDO_PRELUDE (1)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if USE_NAKED
|
|
||||||
+__attribute__((naked))
|
|
||||||
+#endif
|
|
||||||
unsigned int nlr_push(nlr_buf_t *nlr) {
|
|
||||||
+ #if !USE_NAKED
|
|
||||||
(void)nlr;
|
|
||||||
+ #endif
|
|
||||||
|
|
||||||
__asm volatile (
|
|
||||||
- // Check for Zephyr, which uses a different calling convention
|
|
||||||
- // by default.
|
|
||||||
- // TODE: Better support for various x86 calling conventions
|
|
||||||
- // (unfortunately, __attribute__((naked)) is not supported on x86).
|
|
||||||
- #if !(defined(__ZEPHYR__) || defined(__ANDROID__))
|
|
||||||
+ #if UNDO_PRELUDE
|
|
||||||
"pop %ebp \n" // undo function's prelude
|
|
||||||
#endif
|
|
||||||
"mov 4(%esp), %edx \n" // load nlr_buf
|
|
||||||
@@ -61,7 +75,9 @@ unsigned int nlr_push(nlr_buf_t *nlr) {
|
|
||||||
"jmp nlr_push_tail \n" // do the rest in C
|
|
||||||
);
|
|
||||||
|
|
||||||
+ #if !USE_NAKED
|
|
||||||
return 0; // needed to silence compiler warning
|
|
||||||
+ #endif
|
|
||||||
}
|
|
||||||
|
|
||||||
NORETURN void nlr_jump(void *val) {
|
|
|
@ -1,16 +1,16 @@
|
||||||
# Template file for 'micropython'
|
# Template file for 'micropython'
|
||||||
pkgname=micropython
|
pkgname=micropython
|
||||||
version=1.9.4
|
version=1.11
|
||||||
revision=1
|
revision=1
|
||||||
build_wrksrc=ports/unix
|
build_wrksrc=ports/unix
|
||||||
hostmakedepends="pkg-config python"
|
hostmakedepends="pkg-config python3"
|
||||||
makedepends="libffi-devel"
|
makedepends="libffi-devel"
|
||||||
short_desc="Implementation of Python 3.x for microcontrollers"
|
short_desc="Implementation of Python 3.x for microcontrollers"
|
||||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||||
license="MIT"
|
license="MIT"
|
||||||
homepage="https://micropython.org/"
|
homepage="https://micropython.org/"
|
||||||
distfiles="https://github.com/micropython/micropython/releases/download/v${version}/micropython-${version}.tar.gz"
|
distfiles="https://github.com/micropython/micropython/releases/download/v${version}/micropython-${version}.tar.gz"
|
||||||
checksum=0db042011bffcbd65362b67eb3cca87eaefa9f2a55b747fa75e922c706b8ce1a
|
checksum=2edda4ffe283899af6d7b59dd0a0a59f8b845fe0f26017f1a180661338eca35f
|
||||||
|
|
||||||
pre_configure() {
|
pre_configure() {
|
||||||
sed -i 's|-Werror||;/^COPT =/d' Makefile
|
sed -i 's|-Werror||;/^COPT =/d' Makefile
|
||||||
|
|
Loading…
Add table
Reference in a new issue