I am having problem when executing majority of 32bit software on my Linux. This problem happens when running any dynamically linked c++ software and also dynamic linked c programs that uses any libs outside standard c libs. Only statically linked programs on both languages and the simplest c programs are able to execute. For instance, this is what happens when executing a simple 32bit, dynamically linked c++ hello word on gdb: "Program received signal SIGSEGV, Segmentation fault. 0x000044ae in ?? ()" I compiled the program with: "g++ -m32 -o test-32bit test-32bit.cpp -Wl,--dynamic-link=/usr/lib32/ld-2.17.so" and executed it with: "LD_LIBRARY_PATH=/media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib32/ gdb ./test-32bit" The same output is obtained when running 32bit programs that I built from the source, such as Dosbox and Snes9x. The likely reason for this is that I decided to add 32bit support on my system. From the scratch. First I built a 32bit glibc and installed it outside system tree of standard directories. Then I created a /usr/lib32 and put symbolic links there to everything in glibc's libdir. I also compiled a new gcc with multilib support (don't remember if that preceded glibc's install or not) and then created a symbolic link to libstdc++.so.6 also on /usr/lib/32. Then I created sym links in /usr/local/bin to gcc and g++. Finally, I executed ldconfig. A few other info that might prove useful: "info shared" output: Program received signal SIGSEGV, Segmentation fault. 0x000044ae in ?? () (gdb) info shared >From To Syms Read Shared Object Library 0xf7fdb7e0 0xf7ff342c Yes /usr/lib32/ld-2.17.so 0xf7f24d70 0xf7f98aa8 No /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib32/libstdc++.so.6 0xf7e9c550 0xf7ec7c88 No /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libm.so.6 0xf7e7f000 0xf7e92ca8 No /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib32/libgcc_s.so.1 0xf7cd2280 0xf7dffa0c No /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libc.so.6 If I execute a 64bit version of this c++ hello world I receive: 0x00007ffff7ddca80 0x00007ffff7df57c0 Yes /lib64/ld-linux-x86-64.so.2 or a c hello world : "0xf7fdb7e0 0xf7ff342c Yes /usr/lib32/ld-2.17.s" info proc mappings output: "process 11686 Mapped address spaces: Start Addr End Addr Size Offset objfile 0x8048000 0x8049000 0x1000 0x0 /media/34GB/demos/test-32bit 0x8049000 0x804a000 0x1000 0x0 /media/34GB/demos/test-32bit 0xf7cb9000 0xf7cbb000 0x2000 0x0 0xf7cbb000 0xf7e76000 0x1bb000 0x0 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libc-2.17.so 0xf7e76000 0xf7e79000 0x3000 0x1ba000 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libc-2.17.so 0xf7e79000 0xf7e7b000 0x2000 0x1bd000 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libc-2.17.so 0xf7e7b000 0xf7e7d000 0x2000 0x0 0xf7e7d000 0xf7e97000 0x1a000 0x0 /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib32/libgcc_s.so.1 0xf7e97000 0xf7e98000 0x1000 0x19000 /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib32/libgcc_s.so.1 0xf7e98000 0xf7edd000 0x45000 0x0 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libm-2.17.so 0xf7edd000 0xf7edf000 0x2000 0x45000 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libm-2.17.so 0xf7edf000 0xf7fcc000 0xed000 0x0 /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib32/libstdc++.so.6.0.20 0xf7fcc000 0xf7fd1000 0x5000 0xed000 /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib32/libstdc++.so.6.0.20 0xf7fd1000 0xf7fda000 0x9000 0x0 0xf7fda000 0xf7fdb000 0x1000 0x0 [vdso] 0xf7fdb000 0xf7ffc000 0x21000 0x0 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/ld-2.17.so 0xf7ffc000 0xf7ffe000 0x2000 0x20000 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/ld-2.17.so 0xfffe9000 0xffffe000 0x15000 0x0 [stack]" How I (probably compiled) glibc: "CC="gcc -m32 -march=core2 -mtune=core2 -O2" ../configure --prefix=/media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/ --build=x86_64-linux-gnu --host=i686-gnu-linux --enable-kernel-2.6.32 --enable-profile" How I (probably) compiled the 64bit glibc that my system is currently using: CC="gcc -march=native -mtune=native -O2" ../configure --prefix=/usr/ --enable-kernel=2.6.32 So, what I need right now, are suggestions of ways to debug this test example (or the other 32bit software) as to figure out the cause and then try to fix it.