libgo patch committed: Fix channels for big-endian & strict-alignment

Ian Lance Taylor iant@google.com
Sat Feb 11 00:13:00 GMT 2012


This libgo patch fixes the channel code to work correctly on big-endian
systems.  The older version of the code did this right, but I forgot to
handle it in the new version.  This patch also fixes the memory
structure built for the select statement to work correctly on strict
alignment systems.  The code was putting a uint16_t array before a
pointer array, which would of course cause a SIGBUS on a strict
alignment system.  Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu.  Bootstrapped and ran channel tests on
sparc-sun-solaris2.11; the Go testsuite on that system still has some
failures but they appear to be due to other problems, such as PR 52205
which I just filed.  Committed to mainline.

Ian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: foo.patch
Type: text/x-diff
Size: 1276 bytes
Desc: patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20120211/3fc9ced5/attachment.bin>


More information about the Gcc-patches mailing list