summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--libguile/strings.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index e910addb1..c86426cde 100644
--- a/NEWS
+++ b/NEWS
@@ -49,6 +49,9 @@ arguments. The new syntax is documented in the Guile Reference manual.
(<https://bugs.gnu.org/72547>)
** Fix compilation with GCC 14 and musl on 32-bit systems
(<https://bugs.gnu.org/73835>)
+** Immutable stringbufs are now 8-byte aligned on all systems
+ Previously they could end up with an alignment that violated the type
+ tag for their type (e.g. ending up tagged as immediates SCM_IMP()).
Changes in 3.0.10 (since 3.0.9)
diff --git a/libguile/strings.h b/libguile/strings.h
index f28ef3246..d417514f8 100644
--- a/libguile/strings.h
+++ b/libguile/strings.h
@@ -184,7 +184,7 @@ SCM_API SCM scm_makfromstrs (int argc, char **argv);
#ifdef SCM_SUPPORT_STATIC_ALLOCATION
#define SCM_IMMUTABLE_STRINGBUF(c_name, contents) \
- static SCM_UNUSED const \
+ static SCM_UNUSED SCM_ALIGNED(8) const \
struct \
{ \
scm_t_bits word_0; \