diff --git a/packages/runtime/src/scr_alloc.c b/packages/runtime/src/scr_alloc.c index ab6db74fa..fd7d79b3c 100644 --- a/packages/runtime/src/scr_alloc.c +++ b/packages/runtime/src/scr_alloc.c @@ -14,7 +14,11 @@ #if SCR_SMALL_ALLOC #include -ScrSaState scr_sa; +/* Explicitly initialized so it is an ordinary (localizable) definition: a + * tentative definition becomes a COMMON symbol, which library localization + * deliberately keeps global (abi.localize_runtime), leaking it from every + * localized library archive. */ +ScrSaState scr_sa = {0}; static bool scr_sa_refused; /* Reserve address space for every class slice at once; smaller slices are