Remove const from buildinfo static variables

The const qualifier allows compiler optimization that bypasses our
indirection workaround, causing PC-relative relocations that fail
on some platforms. Keep variables non-const to force data section
relocations.
This commit is contained in:
David Woodhouse
2025-12-11 22:44:04 +09:00
parent cfdb5a82e2
commit 478f12f75e

View File

@@ -23,8 +23,8 @@ namespace buildinfo {
// Reference the linker symbols as uintptr_t from the *data* section to
// avoid issues with pc-relative relocations on 64-bit platforms.
static const uintptr_t config_hash = (uintptr_t) &ESPHOME_CONFIG_HASH;
static const uintptr_t build_time = (uintptr_t) &ESPHOME_BUILD_TIME;
static uintptr_t config_hash = (uintptr_t) &ESPHOME_CONFIG_HASH;
static uintptr_t build_time = (uintptr_t) &ESPHOME_BUILD_TIME;
const char *get_config_hash() {
static char hash_str[9];