OK. Just to confirm, what do you see from
objdump -dr
./tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o
for the prolog of syscall.Geterrno. Should be something like
Disassembly of section .text.syscall.GetErrno:
0000000000000000 <syscall.GetErrno>:
0: 64 48 3b 24 25 70 00 cmp %fs:0x70,%rsp
7: 00 00
9: 72 11 jb 1c <syscall.GetErrno+0x1c>
b: 48 83 ec 08 sub $0x8,%rsp
f: e8 00 00 00 00 callq 14 <syscall.GetErrno+0x14>
10: R_X86_64_PLT32 __errno_location-0x4
Thanks, Than
?
On Tue, May 26, 2020 at 10:05 AM Yuan Ting <[email protected]> wrote:
> Fine, that is
>
> [1/3] /usr/bin/cc -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/gollvm/libgo
> -I/root/llvm-project/llvm/tools/gollvm/libgo -Iinclude
> -I/root/llvm-project/llvm/include
> -I/root/llvm-project/llvm/tools/gollvm/gofrontend/libgo/runtime
> -Itools/gollvm/libgo/runtime
> -I/root/llvm-project/llvm/tools/gollvm/libgo/libbacktrace -fPIC
> -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings
> -Wno-missing-field-initializers -pedantic -Wno-long-long
> -Wimplicit-fallthrough -Wno-comment -fdiagnostics-color -ffunction-sections
> -fdata-sections -O3 -fPIC -g -Wno-zero-length-array -fsplit-stack
> -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -UNDEBUG -MD -MT
> tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o
> -MF
> tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o.d
> -o
> tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o
> -c /root/llvm-project/llvm/tools/gollvm/gofrontend/libgo/go/syscall/errno.c
>
> On Tuesday, May 26, 2020 at 8:41:18 PM UTC+8, Than McIntosh wrote:
>>
>> OK.
>>
>> I'm wondering if for some reason the fix I put in is not effective.
>>
>> Could you please try this in your build area:
>>
>> rm
>> ./tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o
>> ninja -v libgo_all
>>
>> and post the compile line for errno.c?
>>
>> Thanks, Than
>>
>>
>>
>>
>> On Tue, May 26, 2020 at 7:21 AM Yuan Ting <[email protected]> wrote:
>>
>>> Yes, I'm sure I fetched the last version of gollvm,
>>> i.e. 0edc44a02852dd0d56cac35163a45634b497d6cd
>>>
>>> On Tuesday, May 26, 2020 at 6:55:08 PM UTC+8, Than McIntosh wrote:
>>>>
>>>> Hello,
>>>>
>>>> The ld.gold error message looks a lot like one reported in a previous
>>>> bug, https://github.com/golang/go/issues/38728.
>>>>
>>>> Can you please check to make sure that your client is sync'd past the
>>>> CLs that fix this issue, e.g. 0edc44a02852dd0d56cac35163a45634b497d6cd.
>>>>
>>>> Thanks, Than
>>>>
>>>>
>>>> On Mon, May 25, 2020 at 10:15 PM Yuan Ting <[email protected]> wrote:
>>>>
>>>>> I tried to build gollvm in a docker container (the image is based on
>>>>> ubuntu 20.04, and the host OS is MacOS catalina). I configured llvm by
>>>>>
>>>>> SHELL=/bin/sh cmake -DCMAKE_BUILD_TYPE=Release
>>>>> -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ASSERTIONS=On
>>>>> -DLLVM_ENABLE_RTTI=On -DLLVM_USE_LINKER=gold -G Ninja ../llvm
>>>>>
>>>>> and then build and install gollvm by
>>>>>
>>>>> ninja gollvm && ninja install-gollvm
>>>>>
>>>>> after a while, I encountered
>>>>>
>>>>> ...
>>>>>
>>>>> error: At most two relocations per offset are supported
>>>>>
>>>>> error: At most two relocations per offset are supported
>>>>>
>>>>> error: At most two relocations per offset are supported
>>>>>
>>>>> [212/1279] Creating
>>>>> /root/llvm-project/build-debug/tools/gollvm/libgo/tmp-sigtab.go
>>>>>
>>>>> FAILED: tools/gollvm/libgo/tmp-sigtab.go
>>>>>
>>>>> cd /root/llvm-project/build-debug/tools/gollvm/libgo && GOARCH=amd64
>>>>> GOOS=linux /bin/sh
>>>>> /root/llvm-project/llvm/tools/gollvm/libgo/capturescript.sh
>>>>> /root/llvm-project/llvm/tools/gollvm/gofrontend/libgo/mksigtab.sh
>>>>> /root/llvm-project/build-debug/tools/gollvm/libgo/tmp-sigtab.go
>>>>>
>>>>> error: no SHELL setting
>>>>>
>>>>> [214/1279] Creating
>>>>> /root/llvm-project/build-debug/tools/gollvm/libgo/tmp-sysinfo.go
>>>>>
>>>>> ninja: build stopped: subcommand failed.
>>>>>
>>>>>
>>>>> By add SHELL=/bin/sh, the errors above seems to be skipped but another
>>>>> period of time:
>>>>>
>>>>>
>>>>> ...
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o:
>>>>> failed to match split-stack sequence at section 4 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o:
>>>>> failed to match split-stack sequence at section 6 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/signame.c.o:
>>>>> failed to match split-stack sequence at section 5 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/backtrace.c.o:
>>>>> failed to match split-stack sequence at section 4 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/backtrace.c.o:
>>>>> failed to match split-stack sequence at section 6 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/dwarf.c.o:
>>>>> failed to match split-stack sequence at section 18 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/dwarf.c.o:
>>>>> failed to match split-stack sequence at section 79 offset 0
>>>>>
>>>>> ...
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffi64.c.o:
>>>>> failed to match split-stack sequence at section 22 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffi64.c.o:
>>>>> failed to match split-stack sequence at section 26 offset 0
>>>>>
>>>>> /usr/bin/ld.gold: error:
>>>>> tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffiw64.c.o:
>>>>> failed to match split-stack sequence at section 16 offset 0
>>>>>
>>>>> collect2: error: ld returned 1 exit status
>>>>>
>>>>> [901/1066] Linking C static library tools/gollvm/libgo/libgo.a
>>>>>
>>>>> ninja: build stopped: subcommand failed.
>>>>>
>>>>>
>>>>> I'm not sure the error is caused by the container environment or my
>>>>> configurations/other prerequisites.
>>>>>
>>>>> --
>>>>> 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 [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/golang-nuts/23309451-cb0a-4f7b-93a1-27038187302a%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/golang-nuts/23309451-cb0a-4f7b-93a1-27038187302a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>> 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 [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/golang-nuts/1ffd3fb4-e739-4f13-9168-565e4c64bc70%40googlegroups.com
>>> <https://groups.google.com/d/msgid/golang-nuts/1ffd3fb4-e739-4f13-9168-565e4c64bc70%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/2e9d2af9-7d78-443b-9cda-34d7b9c41623%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/2e9d2af9-7d78-443b-9cda-34d7b9c41623%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/CA%2BUr55F-i5CFCnoT80EUFHefQ-%3DEzr7US8O2g6RcNMCgrb0-tw%40mail.gmail.com.