This patch by John Paul Adrian Glaubitz fixes m68k libgo on the GCC 6
branch, by adding alignment required by the kernel but not otherwise
imposed by the m68k backend.  I bootstrapped and ran Go tests on
x86_64-pc-linux-gnu, Adrian tested on m68k.  Committed to GCC 6
branch.

Ian
@@ -, +, @@ 
---
 libgo/runtime/runtime.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--- a/libgo/runtime/runtime.h   
+++ a/libgo/runtime/runtime.h   
@@ -154,14 +154,14 @@ struct    Lock
        // Futex-based impl treats it as uint32 key,
        // while sema-based impl as M* waitm.
        // Used to be a union, but unions break precise GC.
-       uintptr key;
+       uintptr key __attribute__((aligned(4)));
 };
 struct Note
 {
        // Futex-based impl treats it as uint32 key,
        // while sema-based impl as M* waitm.
        // Used to be a union, but unions break precise GC.
-       uintptr key;
+       uintptr key __attribute__((aligned(4)));
 };
 struct String
 {
-- 

Reply via email to