On Mon, Jun 3, 2019 at 9:44 AM Cherry Zhang <cherr...@google.com> wrote:
>
> On Mon, Jun 3, 2019 at 12:00 PM Jakub Jelinek <ja...@redhat.com> wrote:
>>
>> On Mon, Jun 03, 2019 at 05:51:26PM +0200, Thomas Schwinge wrote:
>> > Hi!
>> >
>> > On Fri, 31 May 2019 10:56:43 -0700, Ian Lance Taylor <i...@golang.org> 
>> > wrote:
>> > > This libgo patch by Cherry Zhang implements cheaper goroutine context
>> > > switches on x86_64 GNU/Linux.  [...]
>> >
>> > > Bootstrapped and tested on x86_64-pc-linux-gnu.  Committed to mainline.
>> >
>> > > --- libgo/runtime/go-context.S      (nonexistent)
>> > > +++ libgo/runtime/go-context.S      (working copy)
>> >
>> > > +   andq    $~0xfULL, %rdx
>> >
>> > I run into:
>> >
>> >     [...]/libgo/runtime/go-context.S: Assembler messages:
>> >     [...]/libgo/runtime/go-context.S:60: Error: junk `ULL' after expression
>> >     make[4]: *** [runtime/go-context.lo] Error 1
>> >
>> > ... with (admittedly somewhat old) Binutils:
>> >
>> >     $ as --version | head -n 2
>> >     GNU assembler (GNU Binutils for Ubuntu) 2.22.90.20120924
>> >     Copyright 2012 Free Software Foundation, Inc.
>>
>> As andq immediate is just 32-bit, I'd say using $~0xf or $-16 instead of
>> $~0xfULL is the right fix.
>
>
> Sorry for the breakage. Send https://golang.org/cl/180217 dropping the ULL 
> suffix as you suggested.

Thanks.  Cherry's patch bootstrapped, tested, and committed, as follows.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 271823)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-4150db0e4613043e38a146a971e5b0dcacad7c2a
+2e623bff8a5855bb6268c69bb04eb37cac8f2dc2
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/runtime/go-context.S
===================================================================
--- libgo/runtime/go-context.S  (revision 271818)
+++ libgo/runtime/go-context.S  (working copy)
@@ -57,7 +57,7 @@ __go_makecontext:
        addq    %rcx, %rdx
 
        // Align the SP, and push a dummy return address.
-       andq    $~0xfULL, %rdx
+       andq    $~0xf, %rdx
        subq    $8, %rdx
        movq    $0, (%rdx)
 

Reply via email to