Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime: vlop_arm.s symbols aren't in package runtime #19507

Closed
mdempsky opened this issue Mar 11, 2017 · 5 comments

Comments

Projects
None yet
5 participants
@mdempsky
Copy link
Member

commented Mar 11, 2017

runtime/vlop_arm.s declares a bunch of global symbols outside of the Go symbol namespace:

$ grep ^TEXT runtime/vlop_arm.s
TEXT _mulv(SB), NOSPLIT, $0
TEXT _sfloat(SB), NOSPLIT, $68-0 // 4 arg + 14*4 saved regs + cpsr + return value
TEXT runtime·_sfloatpanic(SB),NOSPLIT,$-4
TEXT udiv(SB),NOSPLIT,$-4
TEXT _divu(SB), NOSPLIT, $16-0
TEXT _modu(SB), NOSPLIT, $16-0
TEXT _div(SB),NOSPLIT,$16-0
TEXT _mod(SB),NOSPLIT,$16-0
TEXT runtime·_mul64by32(SB), NOSPLIT, $0
TEXT runtime·_div64by32(SB), NOSPLIT, $0

It seems like these functions should all be consistently "runtime·" prefixed.

@mdempsky mdempsky added this to the Go1.9 milestone Mar 11, 2017

@alexbrainman

This comment has been minimized.

Copy link
Member

commented Mar 11, 2017

See #19198 (comment) for more of the same.

Alex

@gopherbot

This comment has been minimized.

Copy link

commented Mar 12, 2017

CL https://golang.org/cl/38078 mentions this issue.

@gopherbot

This comment has been minimized.

Copy link

commented Mar 12, 2017

CL https://golang.org/cl/38079 mentions this issue.

@aclements

This comment has been minimized.

Copy link
Member

commented Jun 14, 2017

@mdempsky's change was pretty aggressive. Should we instead simply prefix these symbols? Are we concerned about assembly code calling them directly?

@gopherbot

This comment has been minimized.

Copy link

commented Jun 14, 2017

CL https://golang.org/cl/45699 mentions this issue.

@gopherbot gopherbot closed this in 4958f9e Jun 14, 2017

gopherbot pushed a commit that referenced this issue Jun 15, 2017

runtime: restore arm assembly stubs for div/mod
These are used by DIV[U] and MOD[U] assembly instructions.
Add a test in the stdlib so we actually exercise linking
to these routines.

Update #19507

Change-Id: I0d8e19a53e3744abc0c661ea95486f94ec67585e
Reviewed-on: https://go-review.googlesource.com/45703
Reviewed-by: Cherry Zhang <cherryyz@google.com>

@golang golang locked and limited conversation to collaborators Jun 14, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.