From: David Chase Date: Mon, 21 May 2018 17:11:50 +0000 (-0400) Subject: cmd/link: revert DWARF version to 2 for .debug_lines X-Git-Tag: go1.11beta1~353 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=402dd10a99b0d5a5f83e83ca0bdd073848cc4da3;p=gostls13.git cmd/link: revert DWARF version to 2 for .debug_lines On OSX 10.12 and earlier, paired with XCode 9.0, specifying DWARF version 3 causes dsymutil to misbehave. Version 2 appears to be good enough to allow processing of the prologue_end opcode on (at least one version of) Linux and OSX 10.13. Fixes #25451. Change-Id: Ic760e34248393a5386be96351c8e492da1d3413b Reviewed-on: https://go-review.googlesource.com/114015 Reviewed-by: Alessandro Arzilli Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/link/internal/ld/dwarf.go b/src/cmd/link/internal/ld/dwarf.go index cfb7867e2d..328ea1c0f4 100644 --- a/src/cmd/link/internal/ld/dwarf.go +++ b/src/cmd/link/internal/ld/dwarf.go @@ -1158,7 +1158,7 @@ func writelines(ctxt *Link, lib *sym.Library, textp []*sym.Symbol, ls *sym.Symbo unitLengthOffset := ls.Size ls.AddUint32(ctxt.Arch, 0) // unit_length (*), filled in at end. unitstart = ls.Size - ls.AddUint16(ctxt.Arch, 3) // dwarf version (appendix F) + ls.AddUint16(ctxt.Arch, 2) // dwarf version (appendix F) -- version 3 is incompatible w/ XCode 9.0's dsymutil, latest supported on OSX 10.12 as of 2018-05 headerLengthOffset := ls.Size ls.AddUint32(ctxt.Arch, 0) // header_length (*), filled in at end. headerstart = ls.Size