amdgcn build failure
Andrew Stubbs
ams@codesourcery.com
Fri Mar 18 11:43:51 GMT 2022
Hi Mike, all,
Following your commit 96bc16f, merged yesterday, my amdgcn toolchain
fails to build. The Newlib built itself completes successfully, but
subsequent use of the library is broken.
The problem seems to be related to the __malloc_lock function, but I
can't quite work out why. Here's the error message:
ld: error: duplicate symbol: __malloc_lock
>>> defined at mlock.c:42 (..../newlib/libc/stdlib/mlock.c:42)
>>> libc_a-mlock.o:(__malloc_lock) in archive
..../amdgcn-amdhsa/lib/libc.a
>>> defined at malloc_support.c:69
(..../newlib/libc/machine/amdgcn/malloc_support.c:69)
>>> libc_a-malloc_support.o:(.text+0x1F8) in archive
..../install/amdgcn-amdhsa/lib/libc.a
ld: error: duplicate symbol: __malloc_unlock
>>> defined at malloc.h:138 (..../newlib/libc/include/malloc.h:138)
>>> libc_a-mlock.o:(__malloc_unlock) in archive
..../amdgcn-amdhsa/lib/libc.a
>>> defined at malloc_support.c:96
(..../newlib/libc/machine/amdgcn/malloc_support.c:96)
>>> libc_a-malloc_support.o:(.text+0x438) in archive
..../install/amdgcn-amdhsa/lib/libc.a
collect2: error: ld returned 1 exit status
(I should mention that the amdgcn port uses the LLVM binary utilities,
so the error messages look a little different to GNU ld. I've also
elided the long pathnames with "....".)
Previously only the machine-specific __malloc_lock was used, which is of
course the one I want.
Should those functions be added differently now?
Thanks
Andrew
More information about the Newlib
mailing list