zhouwg / minigcc

customized toolchain for x86-ia32,learning and studying how Linaro create their various toolchain from scratch source code
GNU General Public License v2.0
0 stars 0 forks source link

libgcc.a crt1.o crti.o crtbegin.o... not found during link stage #8

Open zhouwg opened 4 years ago

zhouwg commented 4 years ago

Host OS:

wgzhou:$ cat /etc/issue Ubuntu 18.04.2 LTS \n \l


Target: x86-32


Kernel:

wgzhou:$ uname -r 5.4.1


GCC:

wgzhou:$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)


Desc:

wgzhou:$ pwd /wgzhou/develop/cdeos/toolchain/minigcc wgzhou:$ cat gcc/testsuite/hello.c

include

int main(int argc, char *argv[])
{
    printf("hello,world\n");

    return 0;
}

wgzhou:$ ./scripts/run_hello.sh

cc1 -quiet -iprefix /wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/ ./testsuite/hello.c -quiet -dumpbase hello.c -mtune=generic -march=pentiumpro -auxbase hello -fdump-tree-cfg=out -o /tmp/ccb60DYd.s

[gcc.c,do_spec,4839]: calling execute

as --32 -o hello.o /tmp/ccb60DYd.s

[gcc.c,do_spec,4841]: execute return 0

Using built-in specs. COLLECT_GCC=./xgcc Target: i686-pc-linux-gnu Configured with: ../gcc-6.4.0/configure --prefix=/usr --libexecdir=/usr/lib --enable-static --enable-share --enable-threads=posix --disable-multilib --enable-languages=c,c++ --enable-languages=c,c++ --with-pkgversion='x86-ia32 toolchain for CDEOS' --with-bugurl=http://www.gnu.org --enable-clocale=gnu --with-system-zlib --enable-nls Thread model: posix gcc version 6.4.0 (GCC)

COLLECT_GCC_OPTIONS='-v' '-o' 'hello' '-mtune=generic' '-march=pentiumpro' cc1 -quiet -v -iprefix /wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/ ./testsuite/hello.c -quiet -dumpbase hello.c -mtune=generic -march=pentiumpro -auxbase hello -version -o /tmp/cc8krHSh.s

cc1 -quiet -v -iprefix /wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/ ./testsuite/hello.c -quiet -dumpbase hello.c -mtune=generic -march=pentiumpro -auxbase hello -version -o /tmp/cc8krHSh.s

ignoring nonexistent directory "/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/include-fixed" ignoring nonexistent directory "/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/../../../../i686-pc-linux-gnu/include" ignoring duplicate directory "/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/../../lib/gcc/i686-pc-linux-gnu/6.4.0/include" ignoring nonexistent directory "/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/../../lib/gcc/i686-pc-linux-gnu/6.4.0/include-fixed" ignoring nonexistent directory "/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/../../lib/gcc/i686-pc-linux-gnu/6.4.0/../../../../i686-pc-linux-gnu/include"

include "..." search starts here:

include <...> search starts here:

/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/include /usr/local/include /usr/include End of search list. Compiler executable checksum: 4132b0310b49e7de16d1d71b03230b08 COLLECT_GCC_OPTIONS='-v' '-o' 'hello' '-mtune=generic' '-march=pentiumpro' [gcc.c,do_spec,4839]: calling execute as -v --32 -o /tmp/ccw4uBnf.o /tmp/cc8krHSh.s

as -v --32 -o /tmp/ccw4uBnf.o /tmp/cc8krHSh.s

GNU assembler version 2.30 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.30 [gcc.c,do_spec,4841]: execute return 0 COMPILER_PATH=/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../libexec/gcc/ LIBRARY_PATH=/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/:/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/:/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'hello' '-mtune=generic' '-march=pentiumpro' /wgzhou/develop/cdeos/toolchain/minigcc/gcc/../libexec/gcc/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o hello crt1.o crti.o crtbegin.o -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0 -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/../../.. /tmp/ccw4uBnf.o -lgcc -lc -lgcc crtend.o crtn.o

/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../libexec/gcc/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o hello crt1.o crti.o crtbegin.o -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0 -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/../../.. /tmp/ccw4uBnf.o -lgcc -lc -lgcc crtend.o crtn.o

/usr/bin/ld --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o hello crt1.o crti.o crtbegin.o -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0 -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc -L/wgzhou/develop/cdeos/toolchain/minigcc/gcc/../lib/gcc/i686-pc-linux-gnu/6.4.0/../../.. /tmp/ccw4uBnf.o -lgcc -lc -lgcc crtend.o crtn.o

/usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file or directory /usr/bin/ld: cannot find crtbegin.o: No such file or directory /usr/bin/ld: cannot find -lgcc collect2: error: ld returned 1 exit status /wgzhou/develop/cdeos/toolchain/minigcc

zhouwg commented 4 years ago

this issue is under fixing in the branch development

zhouwg commented 2 years ago

pls refer to this issue:https://github.com/google/sanitizers/issues/407

a stage-1 gcc was required to fix this issue.