File 3625-erts-Make-ErtsLiteralArea-tpl-into-flexible-array.patch of Package erlang

From 80a8e799645dd7d060daed36c1fbd8018c678c83 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Tue, 27 Jan 2026 19:01:15 +0100
Subject: [PATCH 5/6] erts: Make ErtsLiteralArea::tpl[] into flexible array

Purpose: Avoid warnings when compiler can figure out index > 0

Effect: sizeof(ErtsLiteralArea) decreases with sizeof(Eterm)
---
 erts/emulator/beam/erl_bif_persistent.c  | 3 +--
 erts/emulator/beam/erl_global_literals.c | 4 ++--
 erts/emulator/beam/global.h              | 4 ++--
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/erts/emulator/beam/erl_global_literals.c b/erts/emulator/beam/erl_global_literals.c
index 86ca23e981..88918539a2 100644
--- a/erts/emulator/beam/erl_global_literals.c
+++ b/erts/emulator/beam/erl_global_literals.c
@@ -90,8 +90,8 @@ ErtsLiteralArea *erts_global_literal_iterate_area(ErtsLiteralArea *prev)
 
 static void expand_shared_global_literal_area(Uint heap_size)
 {
-    const size_t size = sizeof(struct global_literal_chunk) +
-                        (heap_size - 1) * sizeof(Eterm);
+    const size_t size = (offsetof(struct global_literal_chunk, area)
+                         + ERTS_LITERAL_AREA_ALLOC_SIZE(heap_size));
     struct global_literal_chunk *chunk;
                         
 #ifndef DEBUG 
-- 
2.51.0

openSUSE Build Service is sponsored by