commit:     f28f669cfbdc20cb94f4d32e8441e996ddda8384
Author:     Kristaps Kaupe <kristaps <AT> blogiem <DOT> lv>
AuthorDate: Sun Jan 14 16:34:25 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 13:30:56 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f28f669c

dev-lang/micropython: Fix building with GCC13

Closes: https://bugs.gentoo.org/916499
Closes: https://bugs.gentoo.org/895156
Signed-off-by: Kristaps Kaupe <kristaps <AT> blogiem.lv>
Closes: https://github.com/gentoo/gentoo/pull/34801
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/micropython-1.17-gcc13-build-fix.patch   | 59 ++++++++++++++++++++++
 dev-lang/micropython/micropython-1.17.ebuild       |  1 +
 2 files changed, 60 insertions(+)

diff --git a/dev-lang/micropython/files/micropython-1.17-gcc13-build-fix.patch 
b/dev-lang/micropython/files/micropython-1.17-gcc13-build-fix.patch
new file mode 100644
index 000000000000..d791227a9a3c
--- /dev/null
+++ b/dev-lang/micropython/files/micropython-1.17-gcc13-build-fix.patch
@@ -0,0 +1,59 @@
+From f1c6cb7725960487195daa5c5c196fd8d3563811 Mon Sep 17 00:00:00 2001
+From: Damien George <[email protected]>
+Date: Wed, 3 May 2023 15:23:24 +1000
+Subject: [PATCH] py/stackctrl: Add gcc pragmas to ignore dangling-pointer
+ warning.
+
+This warning became apparent in gcc 13.
+
+Signed-off-by: Damien George <[email protected]>
+---
+ py/stackctrl.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/py/stackctrl.c b/py/stackctrl.c
+index c2f3adb5eedc..c2566ebad92b 100644
+--- a/py/stackctrl.c
++++ b/py/stackctrl.c
+@@ -28,8 +28,15 @@
+ #include "py/stackctrl.h"
+ 
+ void mp_stack_ctrl_init(void) {
++    #if __GNUC__ >= 13
++    #pragma GCC diagnostic push
++    #pragma GCC diagnostic ignored "-Wdangling-pointer"
++    #endif
+     volatile int stack_dummy;
+     MP_STATE_THREAD(stack_top) = (char *)&stack_dummy;
++    #if __GNUC__ >= 13
++    #pragma GCC diagnostic pop
++    #endif
+ }
+ 
+ void mp_stack_set_top(void *top) {
+
+From 32572439984e5640c6af46fbe7c27400c30112ce Mon Sep 17 00:00:00 2001
+From: Damien George <[email protected]>
+Date: Tue, 7 Mar 2023 14:46:22 +1100
+Subject: [PATCH] mpy-cross/main: Fix return type of mp_import_stat.
+
+Fixes issue #10951.
+
+Signed-off-by: Damien George <[email protected]>
+---
+ mpy-cross/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mpy-cross/main.c b/mpy-cross/main.c
+index 13bb17b13dba..8a4dd5bcbed5 100644
+--- a/mpy-cross/main.c
++++ b/mpy-cross/main.c
+@@ -344,7 +344,7 @@ int main(int argc, char **argv) {
+     return main_(argc, argv);
+ }
+ 
+-uint mp_import_stat(const char *path) {
++mp_import_stat_t mp_import_stat(const char *path) {
+     (void)path;
+     return MP_IMPORT_STAT_NO_EXIST;
+ }

diff --git a/dev-lang/micropython/micropython-1.17.ebuild 
b/dev-lang/micropython/micropython-1.17.ebuild
index 352bc9cfea11..16620cf90890 100644
--- a/dev-lang/micropython/micropython-1.17.ebuild
+++ b/dev-lang/micropython/micropython-1.17.ebuild
@@ -22,6 +22,7 @@ DEPEND="
 PATCHES=(
        "${FILESDIR}/${P}-prevent-stripping.patch"
        "${FILESDIR}/${P}-exclude-float-parse-tests.patch"
+       "${FILESDIR}/${P}-gcc13-build-fix.patch"
 )
 
 src_prepare() {

Reply via email to