1 |
Hi, |
2 |
|
3 |
I need help with unresolved symbol under my embedded Linux: |
4 |
~ # df |
5 |
Filesystem 1k-blocks Used Available Use% Mounted on |
6 |
df: can't resolve symbol '__udivsi3' |
7 |
~ # ls /lib |
8 |
ld-uClibc-0.9.28.so libm.so.0 librt.so.0 |
9 |
ld-uClibc.so.0 libnsl-0.9.28.so libthread_db-0.9.28.so |
10 |
libc.so.0 libnsl.so.0 libthread_db.so.1 |
11 |
libcrypt-0.9.28.so libpthread-0.9.28.so libuClibc-0.9.28.so |
12 |
libcrypt.so.0 libpthread.so.0 libutil-0.9.28.so |
13 |
libdl-0.9.28.so libresolv-0.9.28.so libutil.so.0 |
14 |
libdl.so.0 libresolv.so.0 |
15 |
libm-0.9.28.so librt-0.9.28.so |
16 |
~ # |
17 |
|
18 |
|
19 |
I know, that '__udivsi3' is in libgcc.a (or something like that) but |
20 |
don't know how to link it in my embedded uclibc. Please give me advise |
21 |
what should i do. |
22 |
|
23 |
To build entire environment i use Gentoo tools. |
24 |
|
25 |
my cross compiler: |
26 |
UCLIBC_CPU="ARM926T" crossdev -t arm-unknown-linux-uclibc |
27 |
|
28 |
I use simple script to build sources: |
29 |
|
30 |
#cat myarm_emerge |
31 |
#!/bin/sh |
32 |
export ARCH="arm" |
33 |
export CHOST="arm-unknown-linux-uclibc" |
34 |
export CBUILD="i686-pc-linux-gnu" |
35 |
export ACCEPT_KEYWORDS="arm" |
36 |
# We use -Os optimization for minimal system size |
37 |
export CFLAGS="-Os -pipe" |
38 |
export CXXFLAGS=${CFLAGS} |
39 |
export ROOT="/opt/arm/rootfs" |
40 |
export USE="-* make-symlinks savedconfig" |
41 |
export FEATURES="-distcc" |
42 |
export CONFIG_PROTECT="-* ${ROOT}/etc" |
43 |
export UCLIBC_CPU="ARM926T" |
44 |
emerge $* |
45 |
|
46 |
./myarm_emerge -av --nodeps vanilla-sources |
47 |
[here i do *magic things* with my kernel] |
48 |
|
49 |
./myarm_emerge -av busybox |
50 |
./myarm_emerge -av baselayout-lite |
51 |
./myarm_emerge -av sys-libs/uclibc |
52 |
|
53 |
my uclibc .config is: |
54 |
# |
55 |
# Automatically generated make config: don't edit |
56 |
# |
57 |
# TARGET_alpha is not set |
58 |
TARGET_arm=y |
59 |
# TARGET_bfin is not set |
60 |
# TARGET_cris is not set |
61 |
# TARGET_e1 is not set |
62 |
# TARGET_frv is not set |
63 |
# TARGET_h8300 is not set |
64 |
# TARGET_i386 is not set |
65 |
# TARGET_i960 is not set |
66 |
# TARGET_m68k is not set |
67 |
# TARGET_microblaze is not set |
68 |
# TARGET_mips is not set |
69 |
# TARGET_nios is not set |
70 |
# TARGET_nios2 is not set |
71 |
# TARGET_powerpc is not set |
72 |
# TARGET_sh is not set |
73 |
# TARGET_sh64 is not set |
74 |
# TARGET_sparc is not set |
75 |
# TARGET_v850 is not set |
76 |
# TARGET_x86_64 is not set |
77 |
|
78 |
# |
79 |
# Target Architecture Features and Options |
80 |
# |
81 |
HAVE_ELF=y |
82 |
ARCH_SUPPORTS_LITTLE_ENDIAN=y |
83 |
TARGET_ARCH="arm" |
84 |
ARCH_SUPPORTS_BIG_ENDIAN=y |
85 |
# CONFIG_GENERIC_ARM is not set |
86 |
# CONFIG_ARM610 is not set |
87 |
# CONFIG_ARM710 is not set |
88 |
# CONFIG_ARM720T is not set |
89 |
# CONFIG_ARM920T is not set |
90 |
# CONFIG_ARM922T is not set |
91 |
CONFIG_ARM926T=y |
92 |
# CONFIG_ARM1136JF_S is not set |
93 |
# CONFIG_ARM_SA110 is not set |
94 |
# CONFIG_ARM_SA1100 is not set |
95 |
# CONFIG_ARM_XSCALE is not set |
96 |
ARCH_LITTLE_ENDIAN=y |
97 |
# ARCH_BIG_ENDIAN is not set |
98 |
# ARCH_HAS_NO_MMU is not set |
99 |
ARCH_HAS_MMU=y |
100 |
UCLIBC_HAS_FLOATS=y |
101 |
HAS_FPU=y |
102 |
DO_C99_MATH=y |
103 |
KERNEL_SOURCE="/usr/arm-unknown-linux-uclibc" |
104 |
C_SYMBOL_PREFIX="" |
105 |
HAVE_DOT_CONFIG=y |
106 |
|
107 |
# |
108 |
# General Library Settings |
109 |
# |
110 |
# HAVE_NO_PIC is not set |
111 |
DOPIC=y |
112 |
# HAVE_NO_SHARED is not set |
113 |
HAVE_SHARED=y |
114 |
# ARCH_HAS_NO_LDSO is not set |
115 |
BUILD_UCLIBC_LDSO=y |
116 |
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set |
117 |
LDSO_LDD_SUPPORT=y |
118 |
LDSO_CACHE_SUPPORT=y |
119 |
# LDSO_PRELOAD_FILE_SUPPORT is not set |
120 |
LDSO_BASE_FILENAME="ld.so" |
121 |
LDSO_RUNPATH=y |
122 |
# DL_FINI_CRT_COMPAT is not set |
123 |
UCLIBC_CTOR_DTOR=y |
124 |
# HAS_NO_THREADS is not set |
125 |
UCLIBC_HAS_THREADS=y |
126 |
PTHREADS_DEBUG_SUPPORT=y |
127 |
UCLIBC_HAS_LFS=y |
128 |
UCLIBC_STATIC_LDCONFIG=y |
129 |
# MALLOC is not set |
130 |
# MALLOC_SIMPLE is not set |
131 |
MALLOC_STANDARD=y |
132 |
MALLOC_GLIBC_COMPAT=y |
133 |
UCLIBC_DYNAMIC_ATEXIT=y |
134 |
HAS_SHADOW=y |
135 |
UNIX98PTY_ONLY=y |
136 |
ASSUME_DEVPTS=y |
137 |
UCLIBC_HAS_TM_EXTENSIONS=y |
138 |
UCLIBC_HAS_TZ_CACHING=y |
139 |
UCLIBC_HAS_TZ_FILE=y |
140 |
# UCLIBC_HAS_TZ_FILE_READ_MANY is not set |
141 |
UCLIBC_TZ_FILE_PATH="/etc/TZ" |
142 |
|
143 |
# |
144 |
# Networking Support |
145 |
# |
146 |
# UCLIBC_HAS_IPV6 is not set |
147 |
UCLIBC_HAS_RPC=y |
148 |
UCLIBC_HAS_FULL_RPC=y |
149 |
|
150 |
# |
151 |
# String and Stdio Support |
152 |
# |
153 |
UCLIBC_HAS_STRING_GENERIC_OPT=y |
154 |
UCLIBC_HAS_STRING_ARCH_OPT=y |
155 |
UCLIBC_HAS_CTYPE_TABLES=y |
156 |
UCLIBC_HAS_CTYPE_SIGNED=y |
157 |
# UCLIBC_HAS_CTYPE_UNSAFE is not set |
158 |
UCLIBC_HAS_CTYPE_CHECKED=y |
159 |
# UCLIBC_HAS_CTYPE_ENFORCED is not set |
160 |
UCLIBC_HAS_WCHAR=y |
161 |
# UCLIBC_HAS_LOCALE is not set |
162 |
UCLIBC_HAS_HEXADECIMAL_FLOATS=y |
163 |
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y |
164 |
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 |
165 |
# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set |
166 |
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set |
167 |
# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set |
168 |
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set |
169 |
# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set |
170 |
# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set |
171 |
UCLIBC_HAS_STDIO_BUFSIZ_4096=y |
172 |
# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set |
173 |
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y |
174 |
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set |
175 |
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set |
176 |
# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set |
177 |
UCLIBC_HAS_STDIO_GETC_MACRO=y |
178 |
UCLIBC_HAS_STDIO_PUTC_MACRO=y |
179 |
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y |
180 |
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set |
181 |
UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y |
182 |
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y |
183 |
UCLIBC_HAS_PRINTF_M_SPEC=y |
184 |
UCLIBC_HAS_ERRNO_MESSAGES=y |
185 |
# UCLIBC_HAS_SYS_ERRLIST is not set |
186 |
UCLIBC_HAS_SIGNUM_MESSAGES=y |
187 |
# UCLIBC_HAS_SYS_SIGLIST is not set |
188 |
UCLIBC_HAS_GNU_GETOPT=y |
189 |
|
190 |
# |
191 |
# Big and Tall |
192 |
# |
193 |
UCLIBC_HAS_REGEX=y |
194 |
# UCLIBC_HAS_WORDEXP is not set |
195 |
UCLIBC_HAS_FTW=y |
196 |
UCLIBC_HAS_GLOB=y |
197 |
|
198 |
# |
199 |
# Library Installation Options |
200 |
# |
201 |
SHARED_LIB_LOADER_PREFIX="/lib" |
202 |
RUNTIME_PREFIX="/" |
203 |
DEVEL_PREFIX="/usr" |
204 |
|
205 |
# |
206 |
# uClibc security related options |
207 |
# |
208 |
UCLIBC_SECURITY=y |
209 |
# UCLIBC_BUILD_PIE is not set |
210 |
UCLIBC_HAS_SSP=y |
211 |
SSP_QUICK_CANARY=y |
212 |
# PROPOLICE_BLOCK_ABRT is not set |
213 |
# PROPOLICE_BLOCK_SEGV is not set |
214 |
PROPOLICE_BLOCK_KILL=y |
215 |
# UCLIBC_BUILD_SSP is not set |
216 |
UCLIBC_BUILD_RELRO=y |
217 |
# UCLIBC_BUILD_NOW is not set |
218 |
# UCLIBC_BUILD_NOEXECSTACK is not set |
219 |
|
220 |
# |
221 |
# uClibc development/debugging options |
222 |
# |
223 |
CROSS_COMPILER_PREFIX="arm-unknown-linux-uclibc-" |
224 |
# DODEBUG is not set |
225 |
# DODEBUG_PT is not set |
226 |
# DOASSERTS is not set |
227 |
# SUPPORT_LD_DEBUG is not set |
228 |
# SUPPORT_LD_DEBUG_EARLY is not set |
229 |
WARNINGS="-Wall" |
230 |
# UCLIBC_MJN3_ONLY is not set |
231 |
|
232 |
|
233 |
Jakub Zawierucha |
234 |
|
235 |
-- |
236 |
gentoo-embedded@g.o mailing list |