-
Notifications
You must be signed in to change notification settings - Fork 167
Weird failure when building on Raspbian / Debian 10.11 #63
Comments
That is weird. What does CC'ing @AWSjswinney and @cuonglm for arm64 assembly things. |
@sigkill what's |
I tested using the The frame sizes are currently diff --git a/encode_arm64.s b/encode_arm64.s
index f8d54ad..f0c876a 100644
--- a/encode_arm64.s
+++ b/encode_arm64.s
@@ -27,7 +27,7 @@
// The unusual register allocation of local variables, such as R10 for the
// source pointer, matches the allocation used at the call site in encodeBlock,
// which makes it easier to manually inline this function.
-TEXT ·emitLiteral(SB), NOSPLIT, $32-56
+TEXT ·emitLiteral(SB), NOSPLIT, $40-56
MOVD dst_base+0(FP), R8
MOVD lit_base+24(FP), R10
MOVD lit_len+32(FP), R3
@@ -261,7 +261,7 @@ extendMatchEnd:
// "var table [maxTableSize]uint16" takes up 32768 bytes of stack space. An
// extra 64 bytes, to call other functions, and an extra 64 bytes, to spill
// local variables (registers) during calls gives 32768 + 64 + 64 = 32896.
-TEXT ·encodeBlock(SB), 0, $32896-56
+TEXT ·encodeBlock(SB), 0, $32904-56
MOVD dst_base+0(FP), R8
MOVD src_base+24(FP), R7
MOVD src_len+32(FP), R14 I did just a basic |
Thank you for checking, I had been using what was supplied with the Ubuntu, Debian and Raspbian distros, but I removed and installed from the golang website instead. The versions were: From Debian, seems okay:
From Ubuntu:
|
The golang from the website appears to be okay, but the issue appears to have been with the package within one or two of the systems I have running Ubuntu, Raspbian, or Debian. The arm and amd64 versions from the golang site appear to work fine, and install without this issue. |
That looks like an |
AWSjswinney I believe the golang-go package from Debian Buster is the same version that one of the arm based systems with the issue, prior to downloading a compiled tarball from the golang website, uninstalling the Debian package, and installing the golang website's version. |
Aha! Found one of the hosts that had an issue: Golang, installed from website, no issues:
The package from Raspbian appears to be the version with the issue:
|
As you stated, it appears to be based on buster:
|
I did get the error on non-arm based distros as well, am trying to find the system that also had the issue, but it may have been an Alpine based host. |
Yes, that's consistent with my findings. Your options are:
|
Thank you! I've gone with the website version for now, but very much appreciate all the effort and hard work to correct the issue and find the compatibility diff -- very cool! |
Sorry, I should have posted these details when I opened up the issue. Thank you nigeltao and cuonglm as well. |
I pushed @AWSjswinney's suggestion (from a comment above). I don't have any I also assume that the
|
Getting this error upon attempting to run:
`go get github.com/golang/snappy
github.com/golang/snappy
asm: 00001 (/root/go/src/github.com/golang/snappy/encode_arm64.s:30) TEXT "".emitLiteral(SB), NOSPLIT, $32-56: unaligned frame size 32 - must be 8 mod 16 (or 0)
asm: 00119 (/root/go/src/github.com/golang/snappy/encode_arm64.s:264) TEXT "".encodeBlock(SB), $32896-56: unaligned frame size 32896 - must be 8 mod 16 (or 0)
asm: assembly failed`
The text was updated successfully, but these errors were encountered: