# Backported from https://github.com/dgibson/dtc/commit/383e148b70a4 diff -upr dtc-1.6.1.orig/pylibfdt/libfdt.i dtc-1.6.1/pylibfdt/libfdt.i --- dtc-1.6.1.orig/pylibfdt/libfdt.i 2021-06-08 10:00:49.000000000 +0300 +++ dtc-1.6.1/pylibfdt/libfdt.i 2021-12-02 02:27:27.747063911 +0200 @@ -1044,9 +1044,9 @@ typedef uint32_t fdt32_t; $result = Py_None; else %#if PY_VERSION_HEX >= 0x03000000 - $result = Py_BuildValue("y#", $1, *arg4); + $result = Py_BuildValue("y#", $1, (Py_ssize_t)*arg4); %#else - $result = Py_BuildValue("s#", $1, *arg4); + $result = Py_BuildValue("s#", $1, (Py_ssize_t)*arg4); %#endif } diff -upr dtc-1.6.1.orig/pylibfdt/setup.py dtc-1.6.1/pylibfdt/setup.py --- dtc-1.6.1.orig/pylibfdt/setup.py 2021-06-08 10:00:49.000000000 +0300 +++ dtc-1.6.1/pylibfdt/setup.py 2021-12-02 02:28:05.914736698 +0200 @@ -42,6 +42,7 @@ def get_version(): libfdt_module = Extension( '_libfdt', sources=[os.path.join(srcdir, 'libfdt.i')], + define_macros=[('PY_SSIZE_T_CLEAN', None)], include_dirs=[os.path.join(srcdir, '../libfdt')], libraries=['fdt'], library_dirs=[os.path.join(top_builddir, 'libfdt')],