|
From: Christophe L. <chr...@cs...> - 2022-06-16 11:06:15
|
Hello
Trying to build valgrind-3.19.0.
./configure --host=ppc-linux --prefix=/usr --enable-only32bit --disable-tls
I'm using glibc-2.35
I end up with following errors (many more of the same kind follows):
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
memcheck_ppc32_linux-mc_main.o: in function `gcSecVBitTable':
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:993:
undefined reference to `__floatsidf'
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:998:
undefined reference to `__floatsidf'
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:998:
undefined reference to `__muldf3'
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:997:
undefined reference to `__ltdf2'
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:999:
undefined reference to `__muldf3'
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:999:
undefined reference to `__fixdfsi'
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:1008:
undefined reference to `__muldf3'
/opt/cldk-1.5.1rc1b1/lib/gcc/ppc-linux/11.2.0/../../../../ppc-linux/bin/ld:
/home/chleroy/ldb_base/ofs/packages/valgrind-3.19.0/memcheck/mc_main.c:1007:
undefined reference to `__ltdf2'
Looking at gcc history, I found:
commit e610393ca76b204d861177a9ec542e2b4b3956cb
Author: Joseph Myers <jo...@co...>
Date: Thu Oct 30 17:28:30 2014 +0000
Make soft-fp symbols into compat symbols for powerpc*-*-linux*.
Continuing preparations for implementing
TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and
e500, this patch makes soft-fp symbols used for those targets into
compat symbols when building with glibc >= 2.19, so that they are only
in shared libgcc for existing binaries requiring them, not in static
libgcc and not available for new links using shared libgcc. Instead,
new links will get the symbols from libc, which has exported all of
them since 2.19. ....
So I understand that libc is required to get those symbols. But I also
understand after reading comments in coregrind/m_main.c that valgrind is
intentionaly linked without libc but with libgcc only.
So how can I get the missing floating points symbols while linking
valgrind ?
Thanks
Christophe |