On 17/02/2020 14:22, paleoz...@gmail.com wrote: > With Adelie 1.0-beta4 and gcc-go installed, I'm seeing linker errors > with static builds: > > $ go version go version go1.10.3 gccgo (Adelie 8.3.0) 8.3.0 > linux/amd64 $ go build -gccgoflags -static # > _/home/apollo/Development/gobug/helloworld > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime.gogo': (.text+0x36f): undefined reference to > `setcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime.getTraceback': (.text+0x3c3): undefined > reference to `getcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime.mcall': (.text+0x4f9): undefined reference to > `getcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > (.text+0x56d): undefined reference to `setcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime_mstart': (.text+0x622): undefined reference to > `getcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime.setGContext': (.text+0x751): undefined reference > to `getcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime.makeGContext': (.text+0x7eb): undefined > reference to `getcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > (.text+0x812): undefined reference to `makecontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime.entersyscall': (.text+0x849): undefined > reference to `getcontext' > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld: > /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o): > in function `runtime.entersyscallblock': (.text+0x884): undefined > reference to `getcontext' collect2: error: ld returned 1 exit status
I haven't found the correct way to fix this yet, but a workaround for me has been: -gccgoflags '-static -Wl,--whole-archive -lucontext -Wl,--no-whole-archive' Really, we should try to find a way to have libgo.a pull in libucontext.a so that this linker workaround isn't necessary. Best, --arw -- A. Wilcox (awilfox) Project Lead, Adélie Linux https://www.adelielinux.org
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Ad?lie Users mailing list -- adelie-users@lists.adelielinux.org To unsubscribe send an email to adelie-users-le...@lists.adelielinux.org