Code: Select all
#include /* puts */
#include /* atexit */
void fnExit1 (void)
{
puts ("Exit function 1.");
}
void fnExit2 (void)
{
puts ("Exit function 2.");
}
int main ()
{
atexit (fnExit1);
atexit (fnExit2);
puts ("Main function.");
return 0;
}
< /code>
>alpha-linux-gnu-gcc 1.cpp --sysroot=/opt
cc1plus: warning: '-fstack-protector' not supported for this target
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/ld: /tmp/ccCNt1S8.o: in function `main':
(.text+0xb0): undefined reference to `atexit'
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/ld: (.text+0xc8): undefined reference to `atexit'
collect2: error: ld returned 1 exit status
>alpha-linux-gnu-gcc 1.cpp --sysroot=/opt -lc -L/lib
cc1plus: warning: '-fstack-protector' not supported for this target
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/ld: /tmp/ccAF0OeC.o: in function `main':
(.text+0xb0): undefined reference to `atexit'
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/ld: (.text+0xc8): undefined reference to `atexit'
collect2: error: ld returned 1 exit status
>grep atexit /opt/lib/*so
grep: /opt/lib/libc-2.41.so: binary file matches
grep: /opt/lib/libc.so: binary file matches
< /code>
nm Info gegen GLIBC in sysroot: < /p>
>alpha-linux-gnu-nm /opt/lib/libc-2.41.so |grep atexit
000000000005ac80 t __GI___cxa_atexit
000000000005ac80 T __cxa_atexit
000000000005b240 T __cxa_thread_atexit_impl
00000000001d5d10 t __dyn_atexit
000000000005ab00 t __internal_atexit
00000000001d5d10 T atexit@GLIBC_2.0
< /code>
Cross -Compiler -Informationen aus Build < /p>
>alpha-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=alpha-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/opt/tools/bin/../libexec/gcc/alpha-linux-gnu/14.2.0/lto-wrapper
Target: alpha-linux-gnu
Configured with: ../gcc-14.2.0/configure --target=alpha-linux-gnu --prefix=/opt//tools --with-glibc-version=2.41 --with-sysroot=/opt/ --with-newlib --without-headers --enable-default-pie --enable-default-ssp --disable-nls --disable-shared --disable-multilib --disable-threads --disable-libatomic --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libstdcxx --enable-languages=c,c++
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 14.2.0 (GCC)
< /code>
Verbose kompilieren mit dem Kreuzkompiler, wie angefordert: < /p>
# alpha-linux-gnu-gcc -v 1.cpp --sysroot=/opt
Using built-in specs.
COLLECT_GCC=alpha-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/opt/tools/bin/../libexec/gcc/alpha-linux-gnu/14.2.0/lto-wrapper
Target: alpha-linux-gnu
Configured with: ../gcc-14.2.0/configure --target=alpha-linux-gnu --prefix=/opt//tools --with-glibc-version=2.41 --with-sysroot=/opt/ --with-newlib --without-headers --enable-default-pie --enable-default-ssp --disable-nls --disable-shared --disable-multilib --disable-threads --disable-libatomic --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libstdcxx --enable-languages=c,c++
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 14.2.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '--sysroot=/opt' '-dumpdir' 'a-'
/opt/tools/bin/../libexec/gcc/alpha-linux-gnu/14.2.0/cc1plus -quiet -v -iprefix /opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/ -isysroot /opt 1.cpp -quiet -dumpdir a- -dumpbase 1.cpp -dumpbase-ext .cpp -version -o /tmp/ccLFcKBK.s
GNU C++17 (GCC) version 14.2.0 (alpha-linux-gnu)
compiled by GNU C version 14.2.0, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.3.1, isl version isl-0.27-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/opt/tools/bin/../lib/gcc/../../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include/c++/14.2.0"
ignoring duplicate directory "/opt/tools/bin/../lib/gcc/../../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include/c++/14.2.0/alpha-linux-gnu"
ignoring duplicate directory "/opt/tools/bin/../lib/gcc/../../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include/c++/14.2.0/backward"
ignoring duplicate directory "/opt/tools/bin/../lib/gcc/../../lib/gcc/alpha-linux-gnu/14.2.0/include"
ignoring duplicate directory "/opt/tools/bin/../lib/gcc/../../lib/gcc/alpha-linux-gnu/14.2.0/include-fixed"
ignoring duplicate directory "/opt/tools/bin/../lib/gcc/../../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include"
#include "..." search starts here:
#include search starts here:
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include/c++/14.2.0
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include/c++/14.2.0/alpha-linux-gnu
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include/c++/14.2.0/backward
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/include
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/include-fixed
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/include
/opt/usr/local/include
/opt/usr/include
End of search list.
cc1plus: warning: '-fstack-protector' not supported for this target
Compiler executable checksum: 1f850107005d162dc105cc0cda692399
COLLECT_GCC_OPTIONS='-v' '--sysroot=/opt' '-dumpdir' 'a-'
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/as -v -o /tmp/ccrw7cHl.o /tmp/ccLFcKBK.s
GNU assembler version 2.44 (alpha-linux-gnu) using BFD version (GNU Binutils) 2.44
COMPILER_PATH=/opt/tools/bin/../libexec/gcc/alpha-linux-gnu/14.2.0/:/opt/tools/bin/../libexec/gcc/:/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/
LIBRARY_PATH=/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/:/opt/tools/bin/../lib/gcc/:/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/lib/:/opt/lib/:/opt/usr/lib/
COLLECT_GCC_OPTIONS='-v' '--sysroot=/opt' '-dumpdir' 'a.'
/opt/tools/bin/../libexec/gcc/alpha-linux-gnu/14.2.0/collect2 -plugin /opt/tools/bin/../libexec/gcc/alpha-linux-gnu/14.2.0/liblto_plugin.so -plugin-opt=/opt/tools/bin/../libexec/gcc/alpha-linux-gnu/14.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc3JrLwT.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/opt --eh-frame-hdr -m elf64alpha -O1 -dynamic-linker /lib/ld-linux.so.2 -pie /opt/usr/lib/crt1.o /opt/usr/lib/crti.o /opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/crtbegin.o -L/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0 -L/opt/tools/bin/../lib/gcc -L/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/lib -L/opt/lib -L/opt/usr/lib /tmp/ccrw7cHl.o -lgcc -lc -lgcc /opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/crtend.o /opt/usr/lib/crtn.o
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/ld: /tmp/ccrw7cHl.o: in function `main':
(.text+0xb0): undefined reference to `atexit'
/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/bin/ld: (.text+0xc8): undefined reference to `atexit'
collect2: error: ld returned 1 exit status
Ich habe die Liste der LD_LIBRARY genommen und einen Blick darauf geworfen, und nein, alles was ich habe die cross kompilierte Wurzel ( /opt): < /p>
Code: Select all
# for x in `echo "/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/:/opt/tools/bin/../lib/gcc/:/opt/tools/bin/../lib/gcc/alpha-linux-gnu/14.2.0/../../../../alpha-linux-gnu/lib/:/opt/lib/:/opt/usr/lib/" |tr ":" "\n"` ; do ls -al $x/libc* 2>/dev/null; done
-rwxr-xr-x 1 root root 12206288 May 20 13:42 /opt/lib//libc-2.41.so*
lrwxrwxrwx 1 root root 12 May 20 14:06 /opt/lib//libc.so -> libc-2.41.so*
lrwxrwxrwx 1 root root 12 May 20 13:16 /opt/lib//libc.so.6 -> libc-2.41.so*
lrwxrwxrwx 1 root root 12 May 20 14:06 /opt/lib//libc.so.6.1 -> libc-2.41.so*
lrwxrwxrwx 1 root root 17 May 20 13:16 /opt/lib//libcrypt.so.1 -> libcrypt1-2.41.so*
lrwxrwxrwx 1 root root 17 May 20 13:16 /opt/lib//libcrypt.so.2 -> libcrypt2-2.41.so*
-rwxr-xr-x 1 root root 410744 May 20 13:44 /opt/lib//libcrypt1-2.41.so*
-rwxr-xr-x 1 root root 409464 May 20 13:44 /opt/lib//libcrypt2-2.41.so*
-rw-r--r-- 1 root root 30198284 May 20 12:53 /opt/usr/lib//libc.a
lrwxrwxrwx 1 root root 11 May 20 16:18 /opt/usr/lib//libc.so -> libc.so.6.1*
-rwxr-xr-x 1 root root 12206288 May 20 12:53 /opt/usr/lib//libc.so.6.1*
-rw-r--r-- 1 root root 249 May 20 12:53 /opt/usr/lib//libc.so.hold
lrwxrwxrwx 1 root root 22 May 20 13:16 /opt/usr/lib//libc_malloc_debug.so -> libc_malloc_debug.so.0*
-rwxr-xr-x 1 root root 251808 May 20 12:53 /opt/usr/lib//libc_malloc_debug.so.0*
-rw-r--r-- 1 root root 18962 May 20 12:53 /opt/usr/lib//libc_nonshared.a
-rw-r--r-- 1 root root 30477670 May 20 12:53 /opt/usr/lib//libc_p.a
-rw-r--r-- 1 root root 362888 May 20 12:57 /opt/usr/lib//libcrypt.a
lrwxrwxrwx 1 root root 23 May 20 13:16 /opt/usr/lib//libcrypt.so -> ../../lib/libcrypt.so.2*
lrwxrwxrwx 1 root root 21 May 19 16:39 /opt/usr/lib//libctf-nobfd.so -> libctf-nobfd.so.0.0.0*
lrwxrwxrwx 1 root root 21 May 19 16:39 /opt/usr/lib//libctf-nobfd.so.0 -> libctf-nobfd.so.0.0.0*
-rwxr-xr-x 1 root root 1616752 May 19 16:39 /opt/usr/lib//libctf-nobfd.so.0.0.0*
lrwxrwxrwx 1 root root 15 May 19 16:39 /opt/usr/lib//libctf.so -> libctf.so.0.0.0*
lrwxrwxrwx 1 root root 15 May 19 16:39 /opt/usr/lib//libctf.so.0 -> libctf.so.0.0.0*
-rwxr-xr-x 1 root root 1465552 May 19 16:39 /opt/usr/lib//libctf.so.0.0.0*