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