Имеется самосборный toolchain для ARM (arm-unknown-linux-uclibcgnueabi), собираю им busybox. В результате некоторые команды не работают, fbset например.
# fbset
fbset: can't resolve symbol '__aeabi_d2iz'
Это видимо вывод ld.so . Предполагая, что это функция из libgcc_s.so пробую,
# LD_PRELOAD=/usr/lib/libgcc_s.so fbset
работает. Что за безобразие ?
# ldd /usr/sbin/fbset
libm.so.0 => /lib/libm.so.0 (0x4000e000)
libc.so.0 => /lib/libc.so.0 (0x40029000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x40000000)
Собираю такой тест,
$ cat hw.c
#include <stdio.h>
int main()
{
double a;
double b;
scanf("%lf %lf", &a, &b);
printf("%lf %i\n", a/b, (int) b);
return 0;
}
$ arm-unknown-linux-uclibcgnueabi-gcc -o hw -Os hw.c
Работает, при этом,
$ arm-unknown-linux-uclibcgnueabi-nm hw | grep __aeabi_
00008ab0 T __aeabi_d2iz
000088a4 T __aeabi_ddiv
00008614 T __aeabi_dmul
а для busybox вот так,
$ arm-unknown-linux-uclibcgnueabi-nm busybox_unstripped | grep __aeabi_
000ab704 T __aeabi_cdcmpeq
000ab704 T __aeabi_cdcmple
000ab6e8 T __aeabi_cdrcmple
000ab7e8 T __aeabi_d2f
U __aeabi_d2iz
000ab794 T __aeabi_d2uiz
000aada8 T __aeabi_dadd
000ab71c T __aeabi_dcmpeq
000ab764 T __aeabi_dcmpge
000ab77c T __aeabi_dcmpgt
000ab74c T __aeabi_dcmple
000ab734 T __aeabi_dcmplt
000ab448 T __aeabi_ddiv
000ab1b8 T __aeabi_dmul
000aad9c T __aeabi_drsub
000aada4 T __aeabi_dsub
000ab104 T __aeabi_f2d
000ab894 T __aeabi_fadd
000abccc T __aeabi_fdiv
000abb34 T __aeabi_fmul
000ab888 T __aeabi_frsub
000ab890 T __aeabi_fsub
000ab0dc T __aeabi_i2d
000aba58 T __aeabi_i2f
000aac20 T __aeabi_idiv
000aad4c T __aeabi_idivmod
000ab158 T __aeabi_l2d
000aba88 T __aeabi_l2f
000aad80 T __aeabi_lasr
000abe2c T __aeabi_lcmp
000abe4c T __aeabi_ldivmod
U __aeabi_llsl
000aad64 T __aeabi_llsr
000ab0b8 T __aeabi_ui2d
000aba50 T __aeabi_ui2f
000aab0c T __aeabi_uidiv
000aac08 T __aeabi_uidivmod
000ab144 T __aeabi_ul2d
000aba78 T __aeabi_ul2f
000abe68 T __aeabi_uldivmod
000acfbc T __aeabi_unwind_cpp_pr0
000acfb4 W __aeabi_unwind_cpp_pr1
000acfac W __aeabi_unwind_cpp_pr2
Пересобрал GCC с --disable-shared, не помогло. Кто нибудь знает причину происходящего?
Ответ на:
комментарий
от imhotep
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C,C++][nmap][arm] Проблемы конечной линковки с libc и прочим (2010)
- Форум Valgrind для ARM (2012)
- Форум Линковщик clang'а не видит функцию в заголовочном файле (2022)
- Форум fvwm95 :can't resolve symbol '--register-frame-info' ??? (2001)
- Форум Не запускается бинарник в OpenWrt: can't resolve symbol (2015)
- Форум [ARM][uClibc] Cannot resolve symbol 'open64' (2010)
- Форум Module not found: Can't resolve '@material-ui/icons/Password' (2022)
- Форум Бинарная совместимость, серия 3 (2023)
- Форум Name Resolve (2011)
- Форум DNS resolving (2009)