From 288e1fd737265b7fc20c2c0d5a7b4ffaf26ecf66 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 10 Jan 2015 13:35:33 -0800 Subject: [PATCH] Port to 32-bit Sun C 5.12 sparc * make-docfile.c (close_emacs_globals): Align lispsym to GCALIGNMENT. The alignment is required on all platforms; it just happens to have been properly aligned on the previous platforms we tested. --- lib-src/ChangeLog | 7 +++++++ lib-src/make-docfile.c | 2 +- src/lisp.h | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 9a1fc7a3e9f..ec4d16aaabe 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,10 @@ +2015-01-10 Paul Eggert + + Port to 32-bit Sun C 5.12 sparc + * make-docfile.c (close_emacs_globals): Align lispsym to GCALIGNMENT. + The alignment is required on all platforms; it just happens to have + been properly aligned on the previous platforms we tested. + 2015-01-05 Paul Eggert Use 0 for Qnil diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 22c4bad2e3f..7c5c4bcb865 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c @@ -635,7 +635,7 @@ close_emacs_globals (int num_symbols) "#ifndef DEFINE_SYMBOLS\n" "extern\n" "#endif\n" - "struct Lisp_Symbol lispsym[%d];\n"), + "struct Lisp_Symbol alignas (GCALIGNMENT) lispsym[%d];\n"), num_symbols); } diff --git a/src/lisp.h b/src/lisp.h index 9819e0746d5..ab72bf158a4 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -233,8 +233,8 @@ extern bool suppress_checking EXTERNALLY_VISIBLE; USE_LSB_TAG not only requires the least 3 bits of pointers returned by malloc to be 0 but also needs to be able to impose a mult-of-8 alignment - on the few static Lisp_Objects used: all the defsubr as well - as the two special buffers buffer_defaults and buffer_local_symbols. */ + on the few static Lisp_Objects used: lispsym, all the defsubr, and + the two special buffers buffer_defaults and buffer_local_symbols. */ enum Lisp_Bits { -- 2.39.2