Patchwork libgo patch committed: Align variable on 8-byte boundary

login
register
mail settings
Submitter Ian Taylor
Date Jan. 17, 2014, 10:43 p.m.
Message ID <mcr8uue2ps7.fsf@iant-glaptop.roam.corp.google.com>
Download mbox | patch
Permalink /patch/312212/
State New
Headers show

Comments

Ian Taylor - Jan. 17, 2014, 10:43 p.m.
This patch to libgo aligns the variable work in mgc0.c on an 8-byte
boundary.  The code expects that to be the case, and complains if it is
not aligned.  It would already be the case on a 64-bit system, but not
necessarily on a 32-bit system.  I haven't been able to recreate PR
59866, but I think this will fix it.  Bootstrapped and ran Go testsuite
on x86_64-unknown-linux-gnu.  Committed to 4.8 branch and mainline.

Ian

Patch

diff -r f1ef2f3189a2 libgo/runtime/mgc0.c
--- a/libgo/runtime/mgc0.c	Thu Jan 16 20:32:18 2014 -0800
+++ b/libgo/runtime/mgc0.c	Fri Jan 17 14:36:08 2014 -0800
@@ -180,7 +180,7 @@ 
 	Obj	*roots;
 	uint32	nroot;
 	uint32	rootcap;
-} work;
+} work __attribute__((aligned(8)));
 
 enum {
 	GC_DEFAULT_PTR = GC_NUM_INSTR,