From bf0b9de55faef3db73513bb26b6ed5e9bce62adb Mon Sep 17 00:00:00 2001 From: ahgamut <41098605+ahgamut@users.noreply.github.com> Date: Sat, 2 Oct 2021 01:37:00 +0530 Subject: [PATCH] ASAN mode has no PYMALLOC, so need a macro also, des.c exceeded the stack frame size. --- third_party/mbedtls/mbedtls.mk | 4 ++++ third_party/python/Objects/obmalloc.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/third_party/mbedtls/mbedtls.mk b/third_party/mbedtls/mbedtls.mk index 030e78dd5..e78eab34a 100644 --- a/third_party/mbedtls/mbedtls.mk +++ b/third_party/mbedtls/mbedtls.mk @@ -58,6 +58,10 @@ o/$(MODE)/third_party/mbedtls/everest.o: \ OVERRIDE_CFLAGS += \ -O3 +o/$(MODE)/third_party/mbedtls/des.o: \ + OVERRIDE_CFLAGS += \ + -DSTACK_FRAME_UNLIMITED + o/$(MODE)/third_party/mbedtls/bigmul4.o \ o/$(MODE)/third_party/mbedtls/bigmul6.o: \ OVERRIDE_CFLAGS += \ diff --git a/third_party/python/Objects/obmalloc.c b/third_party/python/Objects/obmalloc.c index 6a19d6515..66c1796c2 100644 --- a/third_party/python/Objects/obmalloc.c +++ b/third_party/python/Objects/obmalloc.c @@ -84,6 +84,13 @@ static void* _PyObject_Malloc(void *ctx, size_t size); static void* _PyObject_Calloc(void *ctx, size_t nelem, size_t elsize); static void _PyObject_Free(void *ctx, void *p); static void* _PyObject_Realloc(void *ctx, void *ptr, size_t size); + +#else +/* in MODE=asan, no pymalloc, so use macro */ +#define _PyObject_Malloc(ctx, size) _PyMem_RawMalloc((ctx), (size)) +#define _PyObject_Calloc(ctx, nelem, elsize) _PyMem_RawCalloc((ctx), (nelem), (elsize)) +#define _PyObject_Realloc(ctx, ptr, size) _PyMem_RawRealloc((ctx), (ptr), (size)) +#define _PyObject_Free(ctx, p) _PyMem_RawFree((ctx), (p)) #endif static inline void *