golang/go

cmd/objdump: incorrect filename for function

Open

#32,068 opened on May 15, 2019

View on GitHub
 (9 comments) (0 reactions) (0 assignees)Go (19,008 forks)batch import
NeedsFixcompiler/runtimehelp wanted

Repository metrics

Stars
 (133,883 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

$ go tool objdump -s cmplx.Inf ../pkg/darwin_amd64/math/cmplx.a
TEXT math/cmplx.Inf(SB) gofile..$GOROOT/src/math/bits.go
  bits.go:27		0x2e24			90			NOPL			
  isinf.go:19		0x2e25			f20f100500000000	MOVSD_XMM 0(IP), X0	[4:8]R_PCREL:$f64.7ff0000000000000	
  isinf.go:20		0x2e2d			f20f11442408		MOVSD_XMM X0, 0x8(SP)	
  isinf.go:20		0x2e33			f20f11442410		MOVSD_XMM X0, 0x10(SP)	
  isinf.go:20		0x2e39			c3			RET			

Note that cmplx.Inf is listed as being in $GOROOT/src/math/bits.go. It looks like cmd/objdump may assume that the first instruction in the function is located within the function. With inlmarks in a prologue-less function, at least, this assumption is false.

Also, why is that inlining mark there in the first place?

cc @randall77 because this is an unintended consequence of inlmarks cc @dr2chase for all things position

Contributor guide