2.13 x86_32 on x86_64 rtld.c:2256 coredump

Jason Vas Dias jason.vas.dias@gmail.com
Wed Apr 6 13:17:00 GMT 2011


Hi - trying to upgrade my toolchain here, and following usual procedure didn't work this time -
I've been following roughly this procedure with only the occasional problem for over 4 years 
now on my linux x86_64 system to upgrade my toolchain :

1. ensure all  binutils dependencies up-to-date (now that includes gmp, mpc, mpfr, CLooG, PPL )
2. build latest binutils (now  2.21.51.0.6.20110118 ) and ensure it passes test suite
2. ensure all gcc dependencies are up-to-date
3. build latest stable gcc (now 4.6.0) with '--enable-languages=c --enable-bootstrap' 
   and ensure it passes c-only testsuite
4. build latest stable glibc (now 2.13?) from git with new gcc and binutils for x86_64 and x86_32 (i686)
5. rebuild same binutils and gcc in one build under new glibc with '--enable-languages=all' 
6. rebuild glibc again with new binutils and gcc just build in step 5.
7. rebuild gcc and binutils again with new glibc
8. rebuild all software on system compiled with old compiler, binutils and glibc.

Now gcc-4.6.0 (c-only) built fine at step 3, and so did glibc at set 4 .  Everything looks fine so I go on
to step 5, but now I get this rtld.c coredump attempting to resolve the relocations of libgcc_s.so.1 (32-bit) 
during the second gcc-4.6.0 build:

The stage1 gcc compiler:
$ echo $CC
/mnt/sda3/gcc/./gcc/xgcc -B/mnt/sda3/gcc/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -L/mnt/sda3/gcc/./ld
$ cat t.c
#include <stdio.h>
int main(int argc, char **argv, char **envp)
{
    printf("Hello world!\n");
}
$ $CC -m32 -o t t.c
$ ./t 
Segmentation fault
$ file t; /lib32/ld-linux.so.2 --list ./t
t: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped
        linux-gate.so.1 =>  (0xf7721000)
        libgcc_s.so.1 => /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 (0xf7644000)
$  gdb /lib32/ld-2.13.so
GNU gdb (GDB) 7.2                                                                                           
Copyright (C) 2010 Free Software Foundation, Inc.                                                           
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>                               
This is free software: you are free to change and redistribute it.                                          
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"                                  
and "show warranty" for details.                                                                            
This GDB was configured as "x86_64-pc-linux-gnu".                                                           
For bug reporting instructions, please see:                                                                 
<http://www.gnu.org/software/gdb/bugs/>...                                                                  
Reading symbols from /lib32/ld-2.13.so...done.                                                              
(gdb) set args ./t                                                                                          
(gdb) start                                                                                                 
Function "main" not defined.                                                                                
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]     
Starting program: /lib32/ld-2.13.so ./t                                                                     

Program received signal SIGSEGV, Segmentation fault.
0xf7f3f7c0 in ?? ()                                 
(gdb) where                                         
#0  0xf7f3f7c0 in ?? ()                             
#1  0xf7fe0de8 in dl_main (phdr=0x8048034, phnum=9, user_entry=0xffffdc6c, auxv=0xffffdd20) at rtld.c:2256
#2  0xf7ff1f78 in _dl_sysdep_start (start_argptr=0xffffdcd0, dl_main=0xf7fdfd40 <dl_main>) at ../elf/dl-sysdep.c:244
#3  0xf7fe2a08 in _dl_start_final (arg=0xffffdcd0) at rtld.c:336                                                    
#4  _dl_start (arg=0xffffdcd0) at rtld.c:562                                                                                                                                 
(gdb) #0  0xf7f3f7c0 in ?? ()                                                                                            
(gdb) #1  0xf7fe0de8 in dl_main (phdr=0x8048034, phnum=9, user_entry=0xffffdc6c, auxv=0xffffdd20) at rtld.c:2256         
(gdb) #2  0xf7ff1f78 in _dl_sysdep_start (start_argptr=0xffffdcd0, dl_main=0xf7fdfd40 <dl_main>) at ../elf/dl-sysdep.c:244
(gdb) #3  0xf7fe2a08 in _dl_start_final (arg=0xffffdcd0) at rtld.c:336                                                    
(gdb) #4  _dl_start (arg=0xffffdcd0) at rtld.c:562                                                                        
(gdb) #5  0xf7fdf0b7 in _start () from /lib32/ld-2.13.so                                                                  
(gdb)                                                                                      
(gdb) up                                                                                                                  
#1  0xf7fe0de8 in dl_main (phdr=0x8048034, phnum=9, user_entry=0xffffdc6c, auxv=0xffffdd20) at rtld.c:2256                
2256                _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,                                    
(gdb) print _dl_relocate_object                                                                                           
$1 = {void (struct r_scope_elem **, int, int)} 0xf7fe8be0 <_dl_relocate_object>                                           
(gdb) print l                                                                                                             
$2 = (struct link_map *) 0xf7f3a1a3                                                                                       
(gdb) print *l                                                                                                            
$3 = {l_addr = 260032, l_name = 0x42444c7 <Address 0x42444c7 out of bounds>, l_ld = 0xf7fad1d0, l_next = 0x89e4458b, l_prev = 0xe0e82404, l_real = 0x850000a3, l_ns = 562302912, l_libname = 0x8b000002, l_info = {0x85068900, 0x837075c0, 0x7500e07d, 0xe4558b07, 0x49eb1689, 0x89ec458b, 0x91e82404, 0x89ffff30, 0x75c08506, 0x3d836522, 0xc, 0xf0017400, 0xd1cc2d83, 0xf01f7fa, 0x2bc85, 0xffffb800, 0xd1e9ffff, 0x8b000001, 0x5489ec55, 0x558b0824, 0x245489e4, 0x24048904, 0xff4a70e8, 0x2444c7ff, 0x3f7c008, 0x2444c700, 0xfad1d004, 0x89068bf7, 0xa6e82404, 0xa10000a8, 0xf7facb58, 0xd1d4053b, 0x1774f7fa, 0xbd148d, 0x89000000, 0x89082454, 0x89042444, 0x32e8241c, 0xc7ffff4a, 0x4bb44, 0x89000000, 0xfacb581d, 0xd41d89f7, 0xe9f7fad1, 0x147, 0x147d83, 0x13d840f, 0x5d8b0000, 0xfdb8510, 0x13085, 0xe8558b00, 0x8df0458b, 0xc701027c, 0x1e445, 0xff810000, 0x1000, 0x3c891776, 0xaf37e824, 0xc0850000, 0xfc0950f, 0x4589c0b6, 0x74c085e4, 0x12478d14, 0x29fce083, 0x24448dc4, 0xf0e0831b, 0xebec4589, 0x243c8931, 0xff2f9be8, 0xec4589ff, 0x2275c085, 0xc3d8365, 0x0, 0x83f00174, 0xfad1cc2d, 0x850f01f7}, l_phdr = 0x1d5, l_entry = 4294967224, l_phnum = 59903, l_ldnum = 218, l_searchlist = {r_list = 0x458b0000, r_nlist = 608471536}, l_symbolic_searchlist = {r_list = 0x8558b08, r_nlist = 69489801}, l_loader = 0x89ec458b, l_versions = 0x46e82404, l_nversions = 3338665801, l_nbuckets = 3229826304, l_gnu_bitmask_idxbits = 3897920257, l_gnu_shift = 136598665, l_gnu_bitmask = 0x890c558b, {l_gnu_buckets = 0x89042454, l_chain = 0x89042454}, {l_gnu_chain_zero = 0x5ae82404, l_buckets = 0x5ae82404}, l_direct_opencount = 3355443017, l_type = lt_executable, l_relocated = 1, l_init_called = 0, l_global = 0, l_reserved = 2, l_phdr_allocated = 0, l_soname_added = 0, l_faked = 0, l_need_tls_init = 1, l_auditing = 0, l_audit_any_plt = 0, l_removed = 1, l_contiguous = 0, l_symbolic_in_local_scope = 0, l_rpath_dirs = {dirs = 0xc70003f7, malloced = -805034940}, l_reloc_result = 0x8bf7fad1, l_versyms = 0x489ec45, l_origin = 0xa249e824 <Address 0xa249e824 out of bounds>, l_map_start = 3229941760, l_map_end = 411764340, l_text_end = 1635113861, l_scope_mem = {0x83ec5d8b, 0x7400e47d, 0x243c8940, 0xff2f07e8}, l_scope_max = 2244184575, l_scope = 0x651f75c0, l_local_scope = {0xc3d83, 0x74000000}, l_dev = 17868825146413019137, l_ino = 13258597308658159361, l_runpath_dirs = {dirs = 0xffffffff, malloced = 2089372395}, l_initfini = 0x558b0824, l_reldeps = 0x245489ec, l_reldepsmax = 604276996, l_used = 4282969320, l_feature_1 = 608487423, l_flags_1 = 66568200, l_flags = 608487168, l_idx = -86913020, l_mach = {plt = 605850103, gotplt = 10953960, tlsdesc_table = 0x651e8900}, l_lookup_cache = {sym = 0xc3d83, type_class = 1946157056, value = 0x2d83f001, ret = 0xf7fad1cc}, l_tls_initimage = 0x16850f01, l_tls_initimage_size = 3087007745, l_tls_blocksize = 0, l_tls_align = 1542743437, l_tls_firstbyte_offset = 3277676382, l_tls_offset = 1735, l_tls_modid = 3706257408, l_relro_addr = 1442840573, l_relro_size = 2203313545, l_serial = 8420470199274901740, l_audit = 0xf7f3a1a3}                                                                                                              
(gdb) print dl_lazy                                                                                                                                                   
No symbol "dl_lazy" in current context.                                                                                                                               
(gdb) print consider_profiling                                                                                                                                        
$4 = -135195056                                                                                                                                                       
(gdb) Quit                                                                                                                                                            
(gdb) quit                                                                                                                                                            
A debugging session is active.                                                                                                                                        

        Inferior 1 [process 18969] will be killed.

Quit anyway? (y or n) [answered Y; input not from terminal]
$ $CC -m32 -o t t.c -lc -lrt -ldl
/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/lib/../lib32/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie                                                                                                                                           
collect2: ld returned 1 exit status                                                                                                                                
$ $CC -fPIE -Wl,-pie -m32 -o t t.c -lc -lrt -ldl                                                                                                                                                                                                                                                   
$ ./t                                                                                                                                                                 
Segmentation fault                                                                                                                                                                                                                                                                                             
$ LD_DEBUG=all /lib32/ld-2.13.so ./t                  
     18990:     file=./t [0];  generating link map    
     18990:       dynamic: 0xf776491c  base: 0xf76c6000   size: 0x000a0cf4
     18990:         entry: 0xf76da1ac  phdr: 0xf76c6034  phnum:          9
     18990:                                                               
     18990:                                                               
     18990:     file=librt.so.1 [0];  needed by ./t [0]                   
     18990:     find library=librt.so.1 [0]; searching                    
     18990:      search cache=/etc/ld.so.cache                            
     18990:       trying file=/lib32/librt.so.1                           
     18990:                                                               
     18990:     file=librt.so.1 [0];  generating link map                 
     18990:       dynamic: 0xf768beb8  base: 0xf7681000   size: 0x00015f18
     18990:         entry: 0xf7682c90  phdr: 0xf7681034  phnum:          9
     18990:                                                               
     18990:                                                               
     18990:     file=libdl.so.2 [0];  needed by ./t [0]                   
     18990:     find library=libdl.so.2 [0]; searching                    
     18990:      search cache=/etc/ld.so.cache                            
     18990:       trying file=/lib32/libdl.so.2                           
     18990:                                                               
     18990:     file=libdl.so.2 [0];  generating link map                 
     18990:       dynamic: 0xf767fec0  base: 0xf767c000   size: 0x00004078
     18990:         entry: 0xf767ca40  phdr: 0xf767c034  phnum:          9
     18990:                                                               
     18990:                                                               
     18990:     file=libgcc_s.so.1 [0];  needed by ./t [0]                
     18990:     find library=libgcc_s.so.1 [0]; searching                 
     18990:      search cache=/etc/ld.so.cache                            
     18990:       trying file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1
     18990:                                                                            
     18990:     file=libgcc_s.so.1 [0];  generating link map                           
     18990:       dynamic: 0xf7679b44  base: 0xf75ce000   size: 0x000ade5c             
     18990:         entry: 0xf75e02f0  phdr: 0xf75ce034  phnum:          6             
     18990:                                                                            
     18990:                                                                            
     18990:     file=libc.so.6 [0];  needed by ./t [0]                                 
     18990:     find library=libc.so.6 [0]; searching                                  
     18990:      search cache=/etc/ld.so.cache                                         
     18990:       trying file=/lib32/libc.so.6                                         
     18990:                                                                            
     18990:     file=libc.so.6 [0];  generating link map                               
     18990:       dynamic: 0xf75c9d7c  base: 0xf7450000   size: 0x0017da88             
     18990:         entry: 0xf7469250  phdr: 0xf7450034  phnum:         10             
     18990:                                                                            
     18990:                                                                            
     18990:     file=libpthread.so.0 [0];  needed by ./t [0]                           
     18990:     find library=libpthread.so.0 [0]; searching                            
     18990:      search cache=/etc/ld.so.cache                                         
     18990:       trying file=/lib32/libpthread.so.0                                   
     18990:                                                                            
     18990:     file=libpthread.so.0 [0];  generating link map                         
     18990:       dynamic: 0xf744beb4  base: 0xf7433000   size: 0x0001b220             
     18990:         entry: 0xf7438b40  phdr: 0xf7433034  phnum:          9             
     18990:                                                                            
     18990:     checking for version `GLIBC_2.0' in file /lib32/libc.so.6 [0] required by file ./t [0]
     18990:     checking for version `GCC_3.3' in file /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0] required by file ./t [0]
     18990:     checking for version `GCC_3.0' in file /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0] required by file ./t [0]
     18990:     checking for version `GCC_3.3.1' in file /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0] required by file ./t [0]
     18990:     checking for version `GLIBC_2.2' in file /lib32/libpthread.so.0 [0] required by file ./t [0]                                   
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/libpthread.so.0 [0] required by file ./t [0]                               
     18990:     checking for version `GLIBC_2.0' in file /lib32/libpthread.so.0 [0] required by file ./t [0]                                   
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/ld-2.13.so [0] required by file /lib32/librt.so.1 [0]                      
     18990:     checking for version `GLIBC_2.1' in file /lib32/libpthread.so.0 [0] required by file /lib32/librt.so.1 [0]                     
     18990:     checking for version `GLIBC_2.2' in file /lib32/libpthread.so.0 [0] required by file /lib32/librt.so.1 [0]                     
     18990:     checking for version `GLIBC_2.3.3' in file /lib32/libpthread.so.0 [0] required by file /lib32/librt.so.1 [0]                   
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/libpthread.so.0 [0] required by file /lib32/librt.so.1 [0]                 
     18990:     checking for version `GLIBC_2.0' in file /lib32/libpthread.so.0 [0] required by file /lib32/librt.so.1 [0]                     
     18990:     checking for version `GLIBC_2.1.3' in file /lib32/libc.so.6 [0] required by file /lib32/librt.so.1 [0]                         
     18990:     checking for version `GLIBC_2.1' in file /lib32/libc.so.6 [0] required by file /lib32/librt.so.1 [0]                           
     18990:     checking for version `GLIBC_2.2' in file /lib32/libc.so.6 [0] required by file /lib32/librt.so.1 [0]                           
     18990:     checking for version `GLIBC_2.3.2' in file /lib32/libc.so.6 [0] required by file /lib32/librt.so.1 [0]                         
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/libc.so.6 [0] required by file /lib32/librt.so.1 [0]                       
     18990:     checking for version `GLIBC_2.0' in file /lib32/libc.so.6 [0] required by file /lib32/librt.so.1 [0]                           
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/ld-2.13.so [0] required by file /lib32/libdl.so.2 [0]                      
     18990:     checking for version `GLIBC_2.1.3' in file /lib32/libc.so.6 [0] required by file /lib32/libdl.so.2 [0]                         
     18990:     checking for version `GLIBC_2.1' in file /lib32/libc.so.6 [0] required by file /lib32/libdl.so.2 [0]                           
     18990:     checking for version `GLIBC_2.0' in file /lib32/libc.so.6 [0] required by file /lib32/libdl.so.2 [0]                           
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/libc.so.6 [0] required by file /lib32/libdl.so.2 [0]                       
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/ld-2.13.so [0] required by file /lib32/libc.so.6 [0]                       
     18990:     checking for version `GLIBC_2.3' in file /lib32/ld-2.13.so [0] required by file /lib32/libc.so.6 [0]                           
     18990:     checking for version `GLIBC_2.1' in file /lib32/ld-2.13.so [0] required by file /lib32/libc.so.6 [0]                           
     18990:     checking for version `GLIBC_2.3' in file /lib32/ld-2.13.so [0] required by file /lib32/libpthread.so.0 [0]                     
     18990:     checking for version `GLIBC_2.1' in file /lib32/ld-2.13.so [0] required by file /lib32/libpthread.so.0 [0]                     
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/ld-2.13.so [0] required by file /lib32/libpthread.so.0 [0]                 
     18990:     checking for version `GLIBC_2.1.3' in file /lib32/libc.so.6 [0] required by file /lib32/libpthread.so.0 [0]                    
     18990:     checking for version `GLIBC_2.1' in file /lib32/libc.so.6 [0] required by file /lib32/libpthread.so.0 [0]                      
     18990:     checking for version `GLIBC_2.3.2' in file /lib32/libc.so.6 [0] required by file /lib32/libpthread.so.0 [0]                    
     18990:     checking for version `GLIBC_2.2' in file /lib32/libc.so.6 [0] required by file /lib32/libpthread.so.0 [0]                      
     18990:     checking for version `GLIBC_PRIVATE' in file /lib32/libc.so.6 [0] required by file /lib32/libpthread.so.0 [0]                  
     18990:     checking for version `GLIBC_2.0' in file /lib32/libc.so.6 [0] required by file /lib32/libpthread.so.0 [0]                      
     18990:                                                                                                                                    
     18990:     relocation processing: /lib32/libpthread.so.0 (lazy)                                                                           
     18990:     symbol=_Jv_RegisterClasses;  lookup in file=./t [0]                                                                            
     18990:     symbol=_Jv_RegisterClasses;  lookup in file=/lib32/librt.so.1 [0]                                                              
     18990:     symbol=_Jv_RegisterClasses;  lookup in file=/lib32/libdl.so.2 [0]                                                              
     18990:     symbol=_Jv_RegisterClasses;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                      
     18990:     symbol=_Jv_RegisterClasses;  lookup in file=/lib32/libc.so.6 [0]                                                               
     18990:     symbol=_Jv_RegisterClasses;  lookup in file=/lib32/libpthread.so.0 [0]                                                         
     18990:     symbol=_Jv_RegisterClasses;  lookup in file=/lib32/ld-2.13.so [0]                                                              
     18990:     symbol=errno;  lookup in file=./t [0]                                                                                          
     18990:     binding file /lib32/libpthread.so.0 [0] to ./t [0]: normal symbol `errno' [GLIBC_PRIVATE]                                      
     18990:     symbol=__libc_stack_end;  lookup in file=./t [0]                                                                               
     18990:     binding file /lib32/libpthread.so.0 [0] to ./t [0]: normal symbol `__libc_stack_end' [GLIBC_2.1]                               
     18990:     symbol=_rtld_global_ro;  lookup in file=./t [0]                                                                                
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/librt.so.1 [0]                                                                  
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/libdl.so.2 [0]                                                                  
     18990:     symbol=_rtld_global_ro;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                          
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/libc.so.6 [0]                                                                   
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/libpthread.so.0 [0]                                                             
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/ld-2.13.so [0]                                                                  
     18990:     binding file /lib32/libpthread.so.0 [0] to /lib32/ld-2.13.so [0]: normal symbol `_rtld_global_ro' [GLIBC_PRIVATE]              
     18990:     symbol=h_errno;  lookup in file=./t [0]                                                                                        
     18990:     symbol=h_errno;  lookup in file=/lib32/librt.so.1 [0]                                                                          
     18990:     symbol=h_errno;  lookup in file=/lib32/libdl.so.2 [0]                                                                          
     18990:     symbol=h_errno;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                  
     18990:     symbol=h_errno;  lookup in file=/lib32/libc.so.6 [0]                                                                           
     18990:     binding file /lib32/libpthread.so.0 [0] to /lib32/libc.so.6 [0]: normal symbol `h_errno' [GLIBC_PRIVATE]                       
     18990:     symbol=__libc_dl_error_tsd;  lookup in file=./t [0]                                                                            
     18990:     symbol=__libc_dl_error_tsd;  lookup in file=/lib32/librt.so.1 [0]                                                              
     18990:     symbol=__libc_dl_error_tsd;  lookup in file=/lib32/libdl.so.2 [0]                                                              
     18990:     symbol=__libc_dl_error_tsd;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                      
     18990:     symbol=__libc_dl_error_tsd;  lookup in file=/lib32/libc.so.6 [0]                                                               
     18990:     binding file /lib32/libpthread.so.0 [0] to /lib32/libc.so.6 [0]: normal symbol `__libc_dl_error_tsd' [GLIBC_PRIVATE]           
     18990:     symbol=_rtld_global;  lookup in file=./t [0]                                                                                   
     18990:     symbol=_rtld_global;  lookup in file=/lib32/librt.so.1 [0]                                                                     
     18990:     symbol=_rtld_global;  lookup in file=/lib32/libdl.so.2 [0]                                                                     
     18990:     symbol=_rtld_global;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                             
     18990:     symbol=_rtld_global;  lookup in file=/lib32/libc.so.6 [0]                                                                      
     18990:     symbol=_rtld_global;  lookup in file=/lib32/libpthread.so.0 [0]                                                                
     18990:     symbol=_rtld_global;  lookup in file=/lib32/ld-2.13.so [0]                                                                     
     18990:     binding file /lib32/libpthread.so.0 [0] to /lib32/ld-2.13.so [0]: normal symbol `_rtld_global' [GLIBC_PRIVATE]                 
     18990:     symbol=__cxa_finalize;  lookup in file=./t [0]                                                                                 
     18990:     symbol=__cxa_finalize;  lookup in file=/lib32/librt.so.1 [0]                                                                   
     18990:     symbol=__cxa_finalize;  lookup in file=/lib32/libdl.so.2 [0]                                                                   
     18990:     symbol=__cxa_finalize;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                           
     18990:     symbol=__cxa_finalize;  lookup in file=/lib32/libc.so.6 [0]                                                                    
     18990:     binding file /lib32/libpthread.so.0 [0] to /lib32/libc.so.6 [0]: normal symbol `__cxa_finalize' [GLIBC_2.1.3]                  
     18990:     symbol=__resp;  lookup in file=./t [0]                                                                                         
     18990:     symbol=__resp;  lookup in file=/lib32/librt.so.1 [0]                                                                           
     18990:     symbol=__resp;  lookup in file=/lib32/libdl.so.2 [0]                                                                           
     18990:     symbol=__resp;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                   
     18990:     symbol=__resp;  lookup in file=/lib32/libc.so.6 [0]                                                                            
     18990:     binding file /lib32/libpthread.so.0 [0] to /lib32/libc.so.6 [0]: normal symbol `__resp' [GLIBC_PRIVATE]                        
     18990:                                                                                                                                    
     18990:     relocation processing: /lib32/libc.so.6 (lazy)                                                                                 
     18990:     symbol=_res;  lookup in file=./t [0]                                                                                           
     18990:     symbol=_res;  lookup in file=/lib32/librt.so.1 [0]                                                                             
     18990:     symbol=_res;  lookup in file=/lib32/libdl.so.2 [0]                                                                             
     18990:     symbol=_res;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                     
     18990:     symbol=_res;  lookup in file=/lib32/libc.so.6 [0]                                                                              
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `_res' [GLIBC_2.0]                                    
     18990:     symbol=_IO_file_close;  lookup in file=./t [0]                                                                                 
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_IO_file_close' [GLIBC_2.0]                                       
     18990:     symbol=rpc_createerr;  lookup in file=./t [0]                                                                                  
     18990:     symbol=rpc_createerr;  lookup in file=/lib32/librt.so.1 [0]                                                                    
     18990:     symbol=rpc_createerr;  lookup in file=/lib32/libdl.so.2 [0]                                                                    
     18990:     symbol=rpc_createerr;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                            
     18990:     symbol=rpc_createerr;  lookup in file=/lib32/libc.so.6 [0]                                                                     
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `rpc_createerr' [GLIBC_2.0]                           
     18990:     symbol=__key_gendes_LOCAL;  lookup in file=./t [0]                                                                             
     18990:     symbol=__key_gendes_LOCAL;  lookup in file=/lib32/librt.so.1 [0]                                                               
     18990:     symbol=__key_gendes_LOCAL;  lookup in file=/lib32/libdl.so.2 [0]                                                               
     18990:     symbol=__key_gendes_LOCAL;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                       
     18990:     symbol=__key_gendes_LOCAL;  lookup in file=/lib32/libc.so.6 [0]                                                                
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__key_gendes_LOCAL' [GLIBC_2.1]                      
     18990:     symbol=__ctype32_tolower;  lookup in file=./t [0]                                                                              
     18990:     symbol=__ctype32_tolower;  lookup in file=/lib32/librt.so.1 [0]                                                                
     18990:     symbol=__ctype32_tolower;  lookup in file=/lib32/libdl.so.2 [0]                                                                
     18990:     symbol=__ctype32_tolower;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                        
     18990:     symbol=__ctype32_tolower;  lookup in file=/lib32/libc.so.6 [0]                                                                 
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__ctype32_tolower' [GLIBC_2.2]                       
     18990:     symbol=loc1;  lookup in file=./t [0]                                                                                           
     18990:     symbol=loc1;  lookup in file=/lib32/librt.so.1 [0]                                                                             
     18990:     symbol=loc1;  lookup in file=/lib32/libdl.so.2 [0]                                                                             
     18990:     symbol=loc1;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                     
     18990:     symbol=loc1;  lookup in file=/lib32/libc.so.6 [0]                                                                              
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `loc1' [GLIBC_2.0]                                    
     18990:     symbol=svc_pollfd;  lookup in file=./t [0]                                                                                     
     18990:     symbol=svc_pollfd;  lookup in file=/lib32/librt.so.1 [0]                                                                       
     18990:     symbol=svc_pollfd;  lookup in file=/lib32/libdl.so.2 [0]                                                                       
     18990:     symbol=svc_pollfd;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                               
     18990:     symbol=svc_pollfd;  lookup in file=/lib32/libc.so.6 [0]                                                                        
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `svc_pollfd' [GLIBC_2.2]                              
     18990:     symbol=_IO_funlockfile;  lookup in file=./t [0]                                                                                
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_IO_funlockfile' [GLIBC_2.0]                                      
     18990:     symbol=__malloc_initialize_hook;  lookup in file=./t [0]                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__malloc_initialize_hook' [GLIBC_2.0]                             
     18990:     symbol=argp_program_version;  lookup in file=./t [0]                                                                           
     18990:     symbol=argp_program_version;  lookup in file=/lib32/librt.so.1 [0]                                                             
     18990:     symbol=argp_program_version;  lookup in file=/lib32/libdl.so.2 [0]                                                             
     18990:     symbol=argp_program_version;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                     
     18990:     symbol=argp_program_version;  lookup in file=/lib32/libc.so.6 [0]                                                              
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `argp_program_version' [GLIBC_2.1]                    
     18990:     symbol=__tzname;  lookup in file=./t [0]                                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__tzname' [GLIBC_2.0]                                             
     18990:     symbol=__after_morecore_hook;  lookup in file=./t [0]                                                                          
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__after_morecore_hook' [GLIBC_2.0]                                
     18990:     symbol=__progname;  lookup in file=./t [0]                                                                                     
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__progname' [GLIBC_2.0]                                           
     18990:     symbol=obstack_exit_failure;  lookup in file=./t [0]                                                                           
     18990:     symbol=obstack_exit_failure;  lookup in file=/lib32/librt.so.1 [0]                                                             
     18990:     symbol=obstack_exit_failure;  lookup in file=/lib32/libdl.so.2 [0]                                                             
     18990:     symbol=obstack_exit_failure;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                     
     18990:     symbol=obstack_exit_failure;  lookup in file=/lib32/libc.so.6 [0]                                                              
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `obstack_exit_failure' [GLIBC_2.0]                    
     18990:     symbol=__check_rhosts_file;  lookup in file=./t [0]                                                                            
     18990:     symbol=__check_rhosts_file;  lookup in file=/lib32/librt.so.1 [0]                                                              
     18990:     symbol=__check_rhosts_file;  lookup in file=/lib32/libdl.so.2 [0]                                                              
     18990:     symbol=__check_rhosts_file;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                      
     18990:     symbol=__check_rhosts_file;  lookup in file=/lib32/libc.so.6 [0]                                                               
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__check_rhosts_file' [GLIBC_2.0]                     
     18990:     symbol=program_invocation_short_name;  lookup in file=./t [0]                                                                  
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `program_invocation_short_name' [GLIBC_2.0]                        
     18990:     symbol=_IO_stdout_;  lookup in file=./t [0]                                                                                    
     18990:     symbol=_IO_stdout_;  lookup in file=/lib32/librt.so.1 [0]                                                                      
     18990:     symbol=_IO_stdout_;  lookup in file=/lib32/libdl.so.2 [0]                                                                      
     18990:     symbol=_IO_stdout_;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                              
     18990:     symbol=_IO_stdout_;  lookup in file=/lib32/libc.so.6 [0]                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `_IO_stdout_' [GLIBC_2.0]                             
     18990:     symbol=optopt;  lookup in file=./t [0]                                                                                         
     18990:     symbol=optopt;  lookup in file=/lib32/librt.so.1 [0]                                                                           
     18990:     symbol=optopt;  lookup in file=/lib32/libdl.so.2 [0]                                                                           
     18990:     symbol=optopt;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                   
     18990:     symbol=optopt;  lookup in file=/lib32/libc.so.6 [0]                                                                            
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `optopt' [GLIBC_2.0]                                  
     18990:     symbol=malloc;  lookup in file=./t [0]                                                                                         
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `malloc' [GLIBC_2.0]                                               
     18990:     symbol=_environ;  lookup in file=./t [0]                                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_environ' [GLIBC_2.0]                                             
     18990:     symbol=_IO_stderr_;  lookup in file=./t [0]                                                                                    
     18990:     symbol=_IO_stderr_;  lookup in file=/lib32/librt.so.1 [0]                                                                      
     18990:     symbol=_IO_stderr_;  lookup in file=/lib32/libdl.so.2 [0]                                                                      
     18990:     symbol=_IO_stderr_;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                              
     18990:     symbol=_IO_stderr_;  lookup in file=/lib32/libc.so.6 [0]                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `_IO_stderr_' [GLIBC_2.0]                             
     18990:     symbol=__key_encryptsession_pk_LOCAL;  lookup in file=./t [0]                                                                  
     18990:     symbol=__key_encryptsession_pk_LOCAL;  lookup in file=/lib32/librt.so.1 [0]                                                    
     18990:     symbol=__key_encryptsession_pk_LOCAL;  lookup in file=/lib32/libdl.so.2 [0]                                                    
     18990:     symbol=__key_encryptsession_pk_LOCAL;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]            
     18990:     symbol=__key_encryptsession_pk_LOCAL;  lookup in file=/lib32/libc.so.6 [0]                                                     
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__key_encryptsession_pk_LOCAL' [GLIBC_2.1]           
     18990:     symbol=__ctype_tolower;  lookup in file=./t [0]                                                                                
     18990:     symbol=__ctype_tolower;  lookup in file=/lib32/librt.so.1 [0]                                                                  
     18990:     symbol=__ctype_tolower;  lookup in file=/lib32/libdl.so.2 [0]                                                                  
     18990:     symbol=__ctype_tolower;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                          
     18990:     symbol=__ctype_tolower;  lookup in file=/lib32/libc.so.6 [0]                                                                   
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__ctype_tolower' [GLIBC_2.0]                         
     18990:     symbol=__malloc_hook;  lookup in file=./t [0]                                                                                  
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__malloc_hook' [GLIBC_2.0]                                        
     18990:     symbol=_IO_stdin_used;  lookup in file=./t [0]                                                                                 
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_IO_stdin_used'                                                   
     18990:     symbol=_dl_starting_up;  lookup in file=./t [0]                                                                                
     18990:     symbol=_dl_starting_up;  lookup in file=/lib32/librt.so.1 [0]                                                                  
     18990:     symbol=_dl_starting_up;  lookup in file=/lib32/libdl.so.2 [0]                                                                  
     18990:     symbol=_dl_starting_up;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                          
     18990:     symbol=_dl_starting_up;  lookup in file=/lib32/libc.so.6 [0]                                                                   
     18990:     symbol=_dl_starting_up;  lookup in file=/lib32/libpthread.so.0 [0]                                                             
     18990:     symbol=_dl_starting_up;  lookup in file=/lib32/ld-2.13.so [0]                                                                  
     18990:     symbol=__progname_full;  lookup in file=./t [0]                                                                                
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__progname_full' [GLIBC_2.0]                                      
     18990:     symbol=obstack_alloc_failed_handler;  lookup in file=./t [0]                                                                   
     18990:     symbol=obstack_alloc_failed_handler;  lookup in file=/lib32/librt.so.1 [0]                                                     
     18990:     symbol=obstack_alloc_failed_handler;  lookup in file=/lib32/libdl.so.2 [0]                                                     
     18990:     symbol=obstack_alloc_failed_handler;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]             
     18990:     symbol=obstack_alloc_failed_handler;  lookup in file=/lib32/libc.so.6 [0]                                                      
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `obstack_alloc_failed_handler' [GLIBC_2.0]            
     18990:     symbol=__fpu_control;  lookup in file=./t [0]                                                                                  
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__fpu_control' [GLIBC_2.0]                                        
     18990:     symbol=mallwatch;  lookup in file=./t [0]                                                                                      
     18990:     symbol=mallwatch;  lookup in file=/lib32/librt.so.1 [0]                                                                        
     18990:     symbol=mallwatch;  lookup in file=/lib32/libdl.so.2 [0]                                                                        
     18990:     symbol=mallwatch;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                
     18990:     symbol=mallwatch;  lookup in file=/lib32/libc.so.6 [0]                                                                         
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `mallwatch' [GLIBC_2.0]                               
     18990:     symbol=loc2;  lookup in file=./t [0]                                                                                           
     18990:     symbol=loc2;  lookup in file=/lib32/librt.so.1 [0]                                                                             
     18990:     symbol=loc2;  lookup in file=/lib32/libdl.so.2 [0]                                                                             
     18990:     symbol=loc2;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                     
     18990:     symbol=loc2;  lookup in file=/lib32/libc.so.6 [0]                                                                              
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `loc2' [GLIBC_2.0]                                    
     18990:     symbol=__realloc_hook;  lookup in file=./t [0]                                                                                 
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__realloc_hook' [GLIBC_2.0]                                       
     18990:     symbol=__libc_stack_end;  lookup in file=./t [0]                                                                               
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__libc_stack_end' [GLIBC_2.1]                                     
     18990:     symbol=program_invocation_name;  lookup in file=./t [0]                                                                        
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `program_invocation_name' [GLIBC_2.0]                              
     18990:     symbol=argp_program_version_hook;  lookup in file=./t [0]                                                                      
     18990:     symbol=argp_program_version_hook;  lookup in file=/lib32/librt.so.1 [0]                                                        
     18990:     symbol=argp_program_version_hook;  lookup in file=/lib32/libdl.so.2 [0]                                                        
     18990:     symbol=argp_program_version_hook;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                
     18990:     symbol=argp_program_version_hook;  lookup in file=/lib32/libc.so.6 [0]                                                         
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `argp_program_version_hook' [GLIBC_2.1]               
     18990:     symbol=__curbrk;  lookup in file=./t [0]                                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__curbrk' [GLIBC_2.0]                                             
     18990:     symbol=stdout;  lookup in file=./t [0]                                                                                         
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `stdout' [GLIBC_2.0]                                               
     18990:     symbol=svc_max_pollfd;  lookup in file=./t [0]                                                                                 
     18990:     symbol=svc_max_pollfd;  lookup in file=/lib32/librt.so.1 [0]                                                                   
     18990:     symbol=svc_max_pollfd;  lookup in file=/lib32/libdl.so.2 [0]                                                                   
     18990:     symbol=svc_max_pollfd;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                           
     18990:     symbol=svc_max_pollfd;  lookup in file=/lib32/libc.so.6 [0]                                                                    
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `svc_max_pollfd' [GLIBC_2.2]                          
     18990:     symbol=_rtld_global_ro;  lookup in file=./t [0]                                                                                
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/librt.so.1 [0]                                                                  
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/libdl.so.2 [0]                                                                  
     18990:     symbol=_rtld_global_ro;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                          
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/libc.so.6 [0]                                                                   
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/libpthread.so.0 [0]                                                             
     18990:     symbol=_rtld_global_ro;  lookup in file=/lib32/ld-2.13.so [0]                                                                  
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/ld-2.13.so [0]: normal symbol `_rtld_global_ro' [GLIBC_PRIVATE]                    
     18990:     symbol=_nl_domain_bindings;  lookup in file=./t [0]                                                                            
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_nl_domain_bindings' [GLIBC_2.0]                                  
     18990:     symbol=stderr;  lookup in file=./t [0]                                                                                         
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `stderr' [GLIBC_2.0]                                               
     18990:     symbol=__ctype32_b;  lookup in file=./t [0]                                                                                    
     18990:     symbol=__ctype32_b;  lookup in file=/lib32/librt.so.1 [0]                                                                      
     18990:     symbol=__ctype32_b;  lookup in file=/lib32/libdl.so.2 [0]                                                                      
     18990:     symbol=__ctype32_b;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                              
     18990:     symbol=__ctype32_b;  lookup in file=/lib32/libc.so.6 [0]                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__ctype32_b' [GLIBC_2.0]                             
     18990:     symbol=__libc_enable_secure;  lookup in file=./t [0]                                                                           
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__libc_enable_secure' [GLIBC_PRIVATE]                             
     18990:     symbol=_res_hconf;  lookup in file=./t [0]                                                                                     
     18990:     symbol=_res_hconf;  lookup in file=/lib32/librt.so.1 [0]                                                                       
     18990:     symbol=_res_hconf;  lookup in file=/lib32/libdl.so.2 [0]                                                                       
     18990:     symbol=_res_hconf;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                               
     18990:     symbol=_res_hconf;  lookup in file=/lib32/libc.so.6 [0]                                                                        
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `_res_hconf' [GLIBC_2.2]                              
     18990:     symbol=argp_program_bug_address;  lookup in file=./t [0]                                                                       
     18990:     symbol=argp_program_bug_address;  lookup in file=/lib32/librt.so.1 [0]                                                         
     18990:     symbol=argp_program_bug_address;  lookup in file=/lib32/libdl.so.2 [0]                                                         
     18990:     symbol=argp_program_bug_address;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                 
     18990:     symbol=argp_program_bug_address;  lookup in file=/lib32/libc.so.6 [0]                                                          
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `argp_program_bug_address' [GLIBC_2.1]                
     18990:     symbol=h_errlist;  lookup in file=./t [0]                                                                                      
     18990:     symbol=h_errlist;  lookup in file=/lib32/librt.so.1 [0]                                                                        
     18990:     symbol=h_errlist;  lookup in file=/lib32/libdl.so.2 [0]                                                                        
     18990:     symbol=h_errlist;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                
     18990:     symbol=h_errlist;  lookup in file=/lib32/libc.so.6 [0]                                                                         
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `h_errlist' [GLIBC_2.0]                               
     18990:     symbol=optind;  lookup in file=./t [0]                                                                                         
     18990:     symbol=optind;  lookup in file=/lib32/librt.so.1 [0]                                                                           
     18990:     symbol=optind;  lookup in file=/lib32/libdl.so.2 [0]                                                                           
     18990:     symbol=optind;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                   
     18990:     symbol=optind;  lookup in file=/lib32/libc.so.6 [0]                                                                            
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `optind' [GLIBC_2.0]                                  
     18990:     symbol=_dl_argv;  lookup in file=./t [0]                                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_dl_argv' [GLIBC_PRIVATE]                                         
     18990:     symbol=svc_fdset;  lookup in file=./t [0]                                                                                      
     18990:     symbol=svc_fdset;  lookup in file=/lib32/librt.so.1 [0]                                                                        
     18990:     symbol=svc_fdset;  lookup in file=/lib32/libdl.so.2 [0]                                                                        
     18990:     symbol=svc_fdset;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                
     18990:     symbol=svc_fdset;  lookup in file=/lib32/libc.so.6 [0]                                                                         
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `svc_fdset' [GLIBC_2.0]                               
     18990:     symbol=_IO_stdin_;  lookup in file=./t [0]                                                                                     
     18990:     symbol=_IO_stdin_;  lookup in file=/lib32/librt.so.1 [0]                                                                       
     18990:     symbol=_IO_stdin_;  lookup in file=/lib32/libdl.so.2 [0]                                                                       
     18990:     symbol=_IO_stdin_;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                               
     18990:     symbol=_IO_stdin_;  lookup in file=/lib32/libc.so.6 [0]                                                                        
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `_IO_stdin_' [GLIBC_2.0]                              
     18990:     symbol=re_syntax_options;  lookup in file=./t [0]                                                                              
     18990:     symbol=re_syntax_options;  lookup in file=/lib32/librt.so.1 [0]                                                                
     18990:     symbol=re_syntax_options;  lookup in file=/lib32/libdl.so.2 [0]                                                                
     18990:     symbol=re_syntax_options;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                        
     18990:     symbol=re_syntax_options;  lookup in file=/lib32/libc.so.6 [0]                                                                 
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `re_syntax_options' [GLIBC_2.0]                       
     18990:     symbol=__rcmd_errstr;  lookup in file=./t [0]                                                                                  
     18990:     symbol=__rcmd_errstr;  lookup in file=/lib32/librt.so.1 [0]                                                                    
     18990:     symbol=__rcmd_errstr;  lookup in file=/lib32/libdl.so.2 [0]                                                                    
     18990:     symbol=__rcmd_errstr;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                            
     18990:     symbol=__rcmd_errstr;  lookup in file=/lib32/libc.so.6 [0]                                                                     
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__rcmd_errstr' [GLIBC_2.0]                           
     18990:     symbol=__daylight;  lookup in file=./t [0]                                                                                     
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__daylight' [GLIBC_2.0]                                           
     18990:     symbol=error_print_progname;  lookup in file=./t [0]                                                                           
     18990:     symbol=error_print_progname;  lookup in file=/lib32/librt.so.1 [0]                                                             
     18990:     symbol=error_print_progname;  lookup in file=/lib32/libdl.so.2 [0]                                                             
     18990:     symbol=error_print_progname;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                     
     18990:     symbol=error_print_progname;  lookup in file=/lib32/libc.so.6 [0]                                                              
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `error_print_progname' [GLIBC_2.0]                    
     18990:     symbol=__ctype32_toupper;  lookup in file=./t [0]                                                                              
     18990:     symbol=__ctype32_toupper;  lookup in file=/lib32/librt.so.1 [0]                                                                
     18990:     symbol=__ctype32_toupper;  lookup in file=/lib32/libdl.so.2 [0]                                                                
     18990:     symbol=__ctype32_toupper;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                        
     18990:     symbol=__ctype32_toupper;  lookup in file=/lib32/libc.so.6 [0]                                                                 
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__ctype32_toupper' [GLIBC_2.2]                       
     18990:     symbol=__ctype_b;  lookup in file=./t [0]                                                                                      
     18990:     symbol=__ctype_b;  lookup in file=/lib32/librt.so.1 [0]                                                                        
     18990:     symbol=__ctype_b;  lookup in file=/lib32/libdl.so.2 [0]                                                                        
     18990:     symbol=__ctype_b;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                
     18990:     symbol=__ctype_b;  lookup in file=/lib32/libc.so.6 [0]                                                                         
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__ctype_b' [GLIBC_2.0]                               
     18990:     symbol=__ctype_toupper;  lookup in file=./t [0]                                                                                
     18990:     symbol=__ctype_toupper;  lookup in file=/lib32/librt.so.1 [0]                                                                  
     18990:     symbol=__ctype_toupper;  lookup in file=/lib32/libdl.so.2 [0]                                                                  
     18990:     symbol=__ctype_toupper;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                          
     18990:     symbol=__ctype_toupper;  lookup in file=/lib32/libc.so.6 [0]                                                                   
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__ctype_toupper' [GLIBC_2.0]                         
     18990:     symbol=__morecore;  lookup in file=./t [0]                                                                                     
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__morecore' [GLIBC_2.0]                                           
     18990:     symbol=getdate_err;  lookup in file=./t [0]                                                                                    
     18990:     symbol=getdate_err;  lookup in file=/lib32/librt.so.1 [0]                                                                      
     18990:     symbol=getdate_err;  lookup in file=/lib32/libdl.so.2 [0]                                                                      
     18990:     symbol=getdate_err;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                              
     18990:     symbol=getdate_err;  lookup in file=/lib32/libc.so.6 [0]                                                                       
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `getdate_err' [GLIBC_2.1]                             
     18990:     symbol=_nl_msg_cat_cntr;  lookup in file=./t [0]                                                                               
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_nl_msg_cat_cntr' [GLIBC_2.0]                                     
     18990:     symbol=stdin;  lookup in file=./t [0]                                                                                          
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `stdin' [GLIBC_2.0]                                                
     18990:     symbol=__environ;  lookup in file=./t [0]                                                                                      
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__environ' [GLIBC_2.0]                                            
     18990:     symbol=svcauthdes_stats;  lookup in file=./t [0]                                                                               
     18990:     symbol=svcauthdes_stats;  lookup in file=/lib32/librt.so.1 [0]                                                                 
     18990:     symbol=svcauthdes_stats;  lookup in file=/lib32/libdl.so.2 [0]                                                                 
     18990:     symbol=svcauthdes_stats;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                         
     18990:     symbol=svcauthdes_stats;  lookup in file=/lib32/libc.so.6 [0]                                                                  
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `svcauthdes_stats' [GLIBC_2.0]                        
     18990:     symbol=__memalign_hook;  lookup in file=./t [0]                                                                                
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__memalign_hook' [GLIBC_2.0]                                      
     18990:     symbol=__free_hook;  lookup in file=./t [0]                                                                                    
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__free_hook' [GLIBC_2.0]                                          
     18990:     symbol=error_message_count;  lookup in file=./t [0]                                                                            
     18990:     symbol=error_message_count;  lookup in file=/lib32/librt.so.1 [0]                                                              
     18990:     symbol=error_message_count;  lookup in file=/lib32/libdl.so.2 [0]                                                              
     18990:     symbol=error_message_count;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                      
     18990:     symbol=error_message_count;  lookup in file=/lib32/libc.so.6 [0]                                                               
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `error_message_count' [GLIBC_2.0]                     
     18990:     symbol=free;  lookup in file=./t [0]                                                                                           
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `free' [GLIBC_2.0]                                                 
     18990:     symbol=_rtld_global;  lookup in file=./t [0]                                                                                   
     18990:     symbol=_rtld_global;  lookup in file=/lib32/librt.so.1 [0]                                                                     
     18990:     symbol=_rtld_global;  lookup in file=/lib32/libdl.so.2 [0]                                                                     
     18990:     symbol=_rtld_global;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                             
     18990:     symbol=_rtld_global;  lookup in file=/lib32/libc.so.6 [0]                                                                      
     18990:     symbol=_rtld_global;  lookup in file=/lib32/libpthread.so.0 [0]                                                                
     18990:     symbol=_rtld_global;  lookup in file=/lib32/ld-2.13.so [0]                                                                     
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/ld-2.13.so [0]: normal symbol `_rtld_global' [GLIBC_PRIVATE]                       
     18990:     symbol=__timezone;  lookup in file=./t [0]                                                                                     
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `__timezone' [GLIBC_2.0]                                           
     18990:     symbol=__key_decryptsession_pk_LOCAL;  lookup in file=./t [0]                                                                  
     18990:     symbol=__key_decryptsession_pk_LOCAL;  lookup in file=/lib32/librt.so.1 [0]                                                    
     18990:     symbol=__key_decryptsession_pk_LOCAL;  lookup in file=/lib32/libdl.so.2 [0]                                                    
     18990:     symbol=__key_decryptsession_pk_LOCAL;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]            
     18990:     symbol=__key_decryptsession_pk_LOCAL;  lookup in file=/lib32/libc.so.6 [0]                                                     
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `__key_decryptsession_pk_LOCAL' [GLIBC_2.1]           
     18990:     symbol=error_one_per_line;  lookup in file=./t [0]                                                                             
     18990:     symbol=error_one_per_line;  lookup in file=/lib32/librt.so.1 [0]                                                               
     18990:     symbol=error_one_per_line;  lookup in file=/lib32/libdl.so.2 [0]                                                               
     18990:     symbol=error_one_per_line;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                       
     18990:     symbol=error_one_per_line;  lookup in file=/lib32/libc.so.6 [0]                                                                
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `error_one_per_line' [GLIBC_2.0]                      
     18990:     symbol=opterr;  lookup in file=./t [0]                                                                                         
     18990:     symbol=opterr;  lookup in file=/lib32/librt.so.1 [0]                                                                           
     18990:     symbol=opterr;  lookup in file=/lib32/libdl.so.2 [0]                                                                           
     18990:     symbol=opterr;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                   
     18990:     symbol=opterr;  lookup in file=/lib32/libc.so.6 [0]                                                                            
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `opterr' [GLIBC_2.0]                                  
     18990:     symbol=optarg;  lookup in file=./t [0]                                                                                         
     18990:     symbol=optarg;  lookup in file=/lib32/librt.so.1 [0]                                                                           
     18990:     symbol=optarg;  lookup in file=/lib32/libdl.so.2 [0]                                                                           
     18990:     symbol=optarg;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                                   
     18990:     symbol=optarg;  lookup in file=/lib32/libc.so.6 [0]                                                                            
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `optarg' [GLIBC_2.0]                                  
     18990:     symbol=argp_err_exit_status;  lookup in file=./t [0]                                                                           
     18990:     symbol=argp_err_exit_status;  lookup in file=/lib32/librt.so.1 [0]                                                             
     18990:     symbol=argp_err_exit_status;  lookup in file=/lib32/libdl.so.2 [0]                                                             
     18990:     symbol=argp_err_exit_status;  lookup in file=/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 [0]                     
     18990:     symbol=argp_err_exit_status;  lookup in file=/lib32/libc.so.6 [0]                                                              
     18990:     binding file /lib32/libc.so.6 [0] to /lib32/libc.so.6 [0]: normal symbol `argp_err_exit_status' [GLIBC_2.1]
     18990:     symbol=_IO_2_1_stderr_;  lookup in file=./t [0]
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_IO_2_1_stderr_' [GLIBC_2.1]
     18990:     symbol=_IO_2_1_stdout_;  lookup in file=./t [0]
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_IO_2_1_stdout_' [GLIBC_2.1]
     18990:     symbol=_IO_2_1_stdin_;  lookup in file=./t [0]
     18990:     binding file /lib32/libc.so.6 [0] to ./t [0]: normal symbol `_IO_2_1_stdin_' [GLIBC_2.1]
     18990:
     18990:     relocation processing: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libgcc_s.so.1 (lazy)
Segmentation fault
[ root@jvdspc:/tmp 12:59:00 849:348 ]
$ gdb /lib32/ld-2.13.so
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /lib32/ld-2.13.so...done.
(gdb) set args ./t
(gdb) start
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
Starting program: /lib32/ld-2.13.so ./t

Program received signal SIGSEGV, Segmentation fault.
0xf7e837c0 in ?? ()
(gdb) where
#0  0xf7e837c0 in ?? ()
#1  0xf7fe0de8 in dl_main (phdr=0xf7f3c034, phnum=9, user_entry=0xffffdc6c, auxv=0xffffdd20) at rtld.c:2256
#2  0xf7ff1f78 in _dl_sysdep_start (start_argptr=0xffffdcd0, dl_main=0xf7fdfd40 <dl_main>) at ../elf/dl-sysdep.c:244
#3  0xf7fe2a08 in _dl_start_final (arg=0xffffdcd0) at rtld.c:336
#4  _dl_start (arg=0xffffdcd0) at rtld.c:562
#5  0xf7fdf0b7 in _start () from /lib32/ld-2.13.so
(gdb)

But running the first (c-only) gcc-4.6.0 and new glibc does not have this problem  :
 $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /usr/build2/gcc/gcc-4.6.0/configure --prefix=/usr --enable-languages=c --enable-targets=all --enable-multilib --enable-threads=posix --enable-tls --enable-lto --enable-shared --enable-checking=release --with-build-time-tools=/usr/bin --with-ld=/usr/bin/ld --with-gnu-ld --with-as=/usr/bin/as --with-gnu-as --enable-__cxa_atexit --disable-libunwind-exceptions --with-system-zlib --with-system-gettext --with-system-intl --with-system-libbfd --with-system-libopcodes --with-system-libiberty --disable-werror --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --enable-bootstrap --enable-serial-configure
Thread model: posix
gcc version 4.6.0 (GCC)
$ gcc -m32 -o t t.c
$ ./t
Hello world!

But if I manually make the gcc-4.6.0(c-only) compiled ./t link with the gcc-4.6.0(languages=all) libgcc_s.so.1, I see the same issues as above - 
gcc is doing something extra in generating a 32-bit libgcc_s.so.1 when configured with "--enable-languages=all" that it does not
do when configured with "--enable-languages=c" , which somehow breaks glibc . No changes in source code occurred between
the two gcc builds.

Anyone else seen this problem ? 
Any suggestions ? 
I'll track this issue down and fix it on my own eventually, but I thought I'd check on this list if anyone else has seen it.
Does this classify as a glibc bug ? 
Thanks in advance for any replies,
Regards, Jason



More information about the Libc-help mailing list