FAQ
Hi,

I thought I would try go1.1beta2 to benefit from improved garbage
collection on 386. App is compiled on OSX10.8.3, made with GOOS=linux and
GOARCH=386 from source.

I was hoping my app, would run better, but unfortunately it crashes
immediately.

root@trafficmate:~# ./trafficmate
SIGILL: illegal instruction
PC=0x81948ad

math.init·1()
/usr/local/go/src/pkg/math/pow10.go:34 +0x1d
math.init()
/usr/local/go/src/pkg/math/unsafe.go:21 +0x3c
trafficmate.init()
/Users/krolaw/Dropbox/engine/src/trafficmate/voucher.go:289 +0x42
main.init()
/Users/krolaw/Dropbox/engine/src/tm/trafficmate.go:0 +0x3c

There was some discussion
(https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/6Fu8c1Raz-g)
on dropping support for non-SSE2 processors, but it's not clear what was
decided. There's a fixed issue talking about moving over to SSE
instructions (https://code.google.com/p/go/issues/detail?id=3912), but
there was also mention of using GO386=387 (which didn't make a difference).

So, can someone answer definitively whether this problem is the result of
SSE support being required, or could this be a bug?

BTW, does anyone know of any low cost go compatible (ARM, x64) boards with
multiple ethernet? PCEngines has told me that they have a much newer
(64bit) Alix board coming, but until it's released...

Thanks.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • Dave Cheney at Apr 10, 2013 at 11:19 pm
    Hello,

    Try exporting GO386=387, which should disable the SSE2 instructions.

    Cheers

    Dave
    On Thu, Apr 11, 2013 at 9:14 AM, krolaw wrote:
    Hi,

    I thought I would try go1.1beta2 to benefit from improved garbage collection
    on 386. App is compiled on OSX10.8.3, made with GOOS=linux and GOARCH=386
    from source.

    I was hoping my app, would run better, but unfortunately it crashes
    immediately.

    root@trafficmate:~# ./trafficmate
    SIGILL: illegal instruction
    PC=0x81948ad

    math.init·1()
    /usr/local/go/src/pkg/math/pow10.go:34 +0x1d
    math.init()
    /usr/local/go/src/pkg/math/unsafe.go:21 +0x3c
    trafficmate.init()
    /Users/krolaw/Dropbox/engine/src/trafficmate/voucher.go:289 +0x42
    main.init()
    /Users/krolaw/Dropbox/engine/src/tm/trafficmate.go:0 +0x3c

    There was some discussion
    (https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/6Fu8c1Raz-g)
    on dropping support for non-SSE2 processors, but it's not clear what was
    decided. There's a fixed issue talking about moving over to SSE
    instructions (https://code.google.com/p/go/issues/detail?id=3912), but there
    was also mention of using GO386=387 (which didn't make a difference).

    So, can someone answer definitively whether this problem is the result of
    SSE support being required, or could this be a bug?

    BTW, does anyone know of any low cost go compatible (ARM, x64) boards with
    multiple ethernet? PCEngines has told me that they have a much newer
    (64bit) Alix board coming, but until it's released...

    Thanks.

    --
    You received this message because you are subscribed to the Google Groups
    "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Krolaw at Apr 10, 2013 at 11:31 pm
    Hi Dave,

    I did try GO386=387 (which didn't solve it), but it does give a different
    md5sum and I get:
    SIGILL: illegal instruction
    PC=0x81949dd

    Instead of:
    SIGILL: illegal instruction
    PC=0x81948ad

    So it does make some difference, but doesn't solve my problem.

    Thanks.
    On Thursday, 11 April 2013 11:19:27 UTC+12, Dave Cheney wrote:

    Try exporting GO386=387, which should disable the SSE2 instructions.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Dave Cheney at Apr 10, 2013 at 11:35 pm
    Bugger, there must be some other non MMX instruction leaking in there.
    Can you make a simple program which imports math, just do a math.Max
    or something, cross compile that, and if it fails, open an issue and
    attach the file. It should be pretty easy to figure out what went
    wrong.
    On Thu, Apr 11, 2013 at 9:31 AM, krolaw wrote:
    Hi Dave,

    I did try GO386=387 (which didn't solve it), but it does give a different
    md5sum and I get:
    SIGILL: illegal instruction
    PC=0x81949dd

    Instead of:
    SIGILL: illegal instruction
    PC=0x81948ad

    So it does make some difference, but doesn't solve my problem.

    Thanks.
    On Thursday, 11 April 2013 11:19:27 UTC+12, Dave Cheney wrote:

    Try exporting GO386=387, which should disable the SSE2 instructions.
    --
    You received this message because you are subscribed to the Google Groups
    "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Rob Pike at Apr 10, 2013 at 11:43 pm
    Not only the file, please attach the output of 6l -a so we can see the
    instructions.

    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Krolaw at Apr 11, 2013 at 12:01 am
    Issue created with output of 8l -a.
    https://code.google.com/p/go/issues/detail?id=5266

    Thanks.
    On Thursday, 11 April 2013 11:43:01 UTC+12, Rob Pike wrote:

    Not only the file, please attach the output of 6l -a so we can see the
    instructions.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Anthony Martin at Apr 11, 2013 at 12:34 am
    Did you build the entire linux-386 toolchain with GO386=387?
    The GO386 setting only affects the code generated by cmd/8g.
    It won't prevent the linker from combining packages that use
    SSE instructions with packages that don't (though I've been
    meaning to implement that).

    Anthony

    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Carlos Castillo at Apr 11, 2013 at 12:36 am
    Darn, ninja'd.
    On Wednesday, April 10, 2013 5:34:06 PM UTC-7, Anthony Martin wrote:

    Did you build the entire linux-386 toolchain with GO386=387?
    The GO386 setting only affects the code generated by cmd/8g.
    It won't prevent the linker from combining packages that use
    SSE instructions with packages that don't (though I've been
    meaning to implement that).

    Anthony
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Krolaw at Apr 11, 2013 at 12:53 am
    Ah no, I didn't.

    Rebuilding the entire linux-386 toolchain fixed the issue and now my code
    continues to compile on LX800 processors.

    Many thanks.

    I guess we can remove the issue 5266.
    On Thursday, 11 April 2013 12:34:06 UTC+12, Anthony Martin wrote:

    Did you build the entire linux-386 toolchain with GO386=387?
    The GO386 setting only affects the code generated by cmd/8g.
    It won't prevent the linker from combining packages that use
    SSE instructions with packages that don't (though I've been
    meaning to implement that).

    Anthony
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Dave Cheney at Apr 11, 2013 at 1:11 am
    Glad you were able to solve the problem.
    On Thu, Apr 11, 2013 at 10:53 AM, krolaw wrote:
    Ah no, I didn't.

    Rebuilding the entire linux-386 toolchain fixed the issue and now my code
    continues to compile on LX800 processors.

    Many thanks.

    I guess we can remove the issue 5266.
    On Thursday, 11 April 2013 12:34:06 UTC+12, Anthony Martin wrote:

    Did you build the entire linux-386 toolchain with GO386=387?
    The GO386 setting only affects the code generated by cmd/8g.
    It won't prevent the linker from combining packages that use
    SSE instructions with packages that don't (though I've been
    meaning to implement that).

    Anthony
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Carlos Castillo at Apr 11, 2013 at 12:34 am
    Did you compile go (the full compiler suite) with GO386=387, or just your
    binary? If the latter, you may be picking up a math.a (or other stdlib
    archive) file which was build with sse instructions.
    On Wednesday, April 10, 2013 4:31:00 PM UTC-7, krolaw wrote:

    Hi Dave,

    I did try GO386=387 (which didn't solve it), but it does give a different
    md5sum and I get:
    SIGILL: illegal instruction
    PC=0x81949dd

    Instead of:
    SIGILL: illegal instruction
    PC=0x81948ad

    So it does make some difference, but doesn't solve my problem.

    Thanks.
    On Thursday, 11 April 2013 11:19:27 UTC+12, Dave Cheney wrote:

    Try exporting GO386=387, which should disable the SSE2 instructions.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Simon place at Apr 11, 2013 at 4:40 am
    Hi, i'm getting exact same thing with my old 32bit test system, (AMD
    Athlon(tm) XP 2100+ )

    lack of SSE?

    i guess this means i cant use pre-built binaries any more? as i did with
    go1.0.x

    i download from: h
    ttps://code.google.com/p/go/downloads/detail?name=go1.1beta2.linux-386.tar.gz&can=2&q=

    maybe the download could have SSE required added to it? ie 386+SEE



    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedApr 10, '13 at 11:14p
activeApr 11, '13 at 4:40a
posts12
users6
websitegolang.org

People

Translate

site design / logo © 2021 Grokbase