Hello! Thanks for your interpretation. So is there any workaround?
On Tuesday, September 10, 2019 at 10:55:00 AM UTC+8, Ian Lance Taylor wrote: > > On Mon, Sep 9, 2019 at 8:09 AM Zhang Chao <zcha...@gmail.com <javascript:>> > wrote: > > > > I'm trying to write a tiny go program with a SayHello function written > by assembly. > > When I build it, the go build command giving me an error message: > > > > # bar > > main.asmSayHello: relocation target runtime.printstring not defined for > ABI0 (but is defined for ABIInternal) > > > > Here are the codes. > > > > main.go: > > > > package main > > > > func main() { asmSayHello() } > > > > func asmSayHello() > > > > and main_amd64.s: > > > > #include "textflag.h" > > #include "funcdata.h" > > > > // "Hello, World\n" > > DATA text<>+0(SB)/8,$"Hello Wo" > > DATA text<>+8(SB)/8,$"rld!\n" > > GLOBL text<>(SB),NOPTR,$16 > > > > // func asmSayHello() > > TEXT ·asmSayHello(SB), $16-0 > > NO_LOCAL_POINTERS > > MOVQ $text<>+0(SB), AX > > MOVQ AX, (SP) > > MOVQ $16, 8(SP) > > CALL runtime·printstring(SB) > > RET > > > > The go facility version information: > > > > # go version > > go version go1.12.5 linux/amd64 > > > > Anyone who can help me to solve this weird problem (at least for me :) > )? > > You are trying to reach into the runtime package to run an internal > function. That isn't permitted. It's never been permitted, although > it used to work. Now it doesn't work. > > For more information see > > https://github.com/golang/proposal/blob/master/design/27539-internal-abi.md#compatibility > > . > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/9d2517e2-0992-4631-a4dc-e854433423a4%40googlegroups.com.