Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Aug 2015 20:13:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 202662] Fix lang/go build with clang 3.7.0
Message-ID:  <bug-202662-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202662

            Bug ID: 202662
           Summary: Fix lang/go build with clang 3.7.0
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: jlaffaye@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: jlaffaye@FreeBSD.org
             Flags: maintainer-feedback?(jlaffaye@FreeBSD.org)

Created attachment 160360
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=160360&action=edit
Fix go's ldelf.c to not complain about unnamed symbols

During the exp-run in bug 201377, it was found that lang/go gives errors with a
recent clang 3.7.0 snapshot:

http://package18.nyi.freebsd.org/data/headi386PR201377-default/2015-07-31_12h04m22s/logs/errors/go-1.4.2,1.log

These errors, about unnamed symbols, are very similar to this upstream issue:

https://github.com/golang/go/issues/8876

I propose the attached patch for ldelf.c, which makes it ignore unnamed
symbols, similar to those starting with .Linfo_string*.

Even with this patch, on amd64, there is still another issue, where a few
negative numbers are left-shifted:

/usr/work/share/dim/ports/lang/go/work/go/src/cmd/6c/txt.c:995:28: error:
shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
                                f->vconst |= (vlong)~0 << 32;
                                             ~~~~~~~~~ ^

For this, I propose the next patch, for src/cmd/6c/txt.c, which just casts the
constant to uvlong.  This should result in no functional change, but I am
unsure how to run any go test suite to verify.

Alternatively, the makefile(s) can be changed to squelch the warning, if you
like that better.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-202662-13>