[Bug go/91781] New: [10 regression] r275691 breaks go test "reflect"

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] New: [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

            Bug ID: 91781
           Summary: [10 regression] r275691 breaks go test "reflect"
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: go
          Assignee: ian at airs dot com
          Reporter: seurer at gcc dot gnu.org
                CC: cmang at google dot com
  Target Milestone: ---

This only seems to occur on powerpc 64 BE.

--- FAIL: TestMethodValue (0.00s)
    all_test.go:2290: Int32Method returned 45088; want 456
FAIL
FAIL: reflect



------------------------------------------------------------------------
r275691 | ian | 2019-09-12 18:22:53 -0500 (Thu, 12 Sep 2019) | 4 lines

    libgo: update to Go1.13

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/194698
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

--- Comment #1 from Ian Lance Taylor <ian at airs dot com> ---
Does this work at SVN revision r275611?
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
In reply to this post by rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

--- Comment #2 from Ian Lance Taylor <ian at airs dot com> ---
Oh, never mind, this is a new test in r275691, this code has probably never
worked on ppc64be.
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
In reply to this post by rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

--- Comment #3 from seurer at gcc dot gnu.org ---
Sorry, I missed this was a new test case.  And no, it still doesn't work with
current trunk.
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
In reply to this post by rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

--- Comment #4 from Andreas Schwab <[hidden email]> ---
For reflect to work there needs to be support for go closures in libffi.
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
In reply to this post by rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
   Target Milestone|---                         |10.0
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
In reply to this post by rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

--- Comment #5 from ian at gcc dot gnu.org <ian at gcc dot gnu.org> ---
Author: ian
Date: Tue Sep 17 20:24:00 2019
New Revision: 275813

URL: https://gcc.gnu.org/viewcvs?rev=275813&root=gcc&view=rev
Log:
        PR go/91781
    reflect: promote integer closure return to full word

    The libffi library expects an integer return type to be promoted to a
    full word.  Implement that when returning from a closure written in Go.
    This only matters on big-endian systems when returning an integer smaller
    than the pointer size, which is why we didn't notice it until now.

    Fixes https://gcc.gnu.org/PR91781.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/195858

Modified:
    trunk/gcc/go/gofrontend/MERGE
    trunk/libgo/go/reflect/makefunc_ffi.go
    trunk/libgo/go/reflect/makefunc_ffi_c.c
    trunk/libgo/runtime/go-reflect-call.c
Reply | Threaded
Open this post in threaded view
|

[Bug go/91781] [10 regression] r275691 breaks go test "reflect"

rguenth at gcc dot gnu.org
In reply to this post by rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91781

Ian Lance Taylor <ian at airs dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Ian Lance Taylor <ian at airs dot com> ---
Thanks for reporting this.  It should be fixed.

(To Andreas's point, there is already Go closure support in libffi for PPC64.)