Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Apr 2025 01:12:47 +0000
From:      bugzilla-noreply@freebsd.org
To:        go@FreeBSD.org
Subject:   [Bug 285963] lang/go* fail to build on the amd64 package builders
Message-ID:  <bug-285963-42334-B6sWDRXBet@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-285963-42334@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285963

Adam Weinberger <adamw@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |https://github.com/golang/g
                   |                            |o/issues/49405

--- Comment #33 from Adam Weinberger <adamw@FreeBSD.org> ---
(In reply to Robert Clausecker from comment #32)

Yeah, we are going to have to do something like that, though before we do is
there any other better approach?

While setting the la48 flag will fix any Go program built from the ports tree,
it is not a complete solution:

- If end-users use the go binary (even one that's la48-branded), they'll
  still compile apps that will cause crashes. People will have to be
  extremely diligent on their own about branding anything they compile
  that will run on -current.

- Anything that links to an shlib compiled by Go (patched or not) will
  crash.

- Reducing the address space to lower than what Go expects increases the
  risk of map key hash collisions, which are catastrophic (completely
  unpredictable behavior with no way of detecting or preventing it; see
  the upstream CL). And if I'm thinking about it right, the risk grows
  exponentially with every bit that's lost.

@fuz (and anyone else, please!), before I add a brandelf block to go.mk, what
other options should we consider? Some that I can think of:

1. Patch cmd/go to run brandelf itself after it renames a.out to the
   destination binary (the last step of the compilation chain).
2. Start discussing whether la57 was premature and needs to be rolled
   back temporarily.

Conceptually, (1) would probably be in place of patching go.mk.

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

help

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