osandov/drgn

Update _PyLong_AsByteArray usage for Python 3.13

Closed this issue · 0 comments

python/cpython@7861dfd added a parameter to _PyLongAsByteArray(), which breaks our build:

  ../../libdrgn/python/object.c:75:34: error: too few arguments to function call, expected 6, have 5
                                      type->little_endian, true);
                                                               ^
  /opt/hostedtoolcache/Python/3.13.0-alpha.4/x64/include/python3.13/cpython/longobject.h:85:17: note: '_PyLong_AsByteArray' declared here
  PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
                  ^

Let's see if we can use the new PyLong_AsNativeBytes() function instead or if we need to keep using the internal API.