GCC 4.5.1 on Solaris [ was cannot compute suffix etc ]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 09/ 8/10 01:44 AM, Ian Lance Taylor wrote:
>> "Dr. David Kirkby"<david.kirkby@xxxxxxxxxx>  writes:
>>> IMHO, it would be very sensible if gcc had an option to configure
>>> such that the location of the run-time libraries was hard-coded in.
>>> Then, as long as "gcc" is in the path, the libraries would be found.

GCC on Solaris, UNIX, Linux or your microwave if you please.
-------------------------------------------------------------

David, there is no magic pill.

No cure for the common cold ( yet ) and no way will an operating system
exec a binary and then simply perform magic and go find any lib that you
may need regardless of where it is installed or buried.

That won't happen.

If you can prove me wrong than I'm more than happy to eat my socks with
ketchup and tarter sauce. ( ewww ) I may regret saying that someday.

Look .. let me demonstrate the issue you bring up because I think GCC is
near and dear to my heart as much as I love Sun Studio. Please keep in
mind that Sun Studio 12 is closed, proprietary, secret and with a bucket
of patches that require a bucket of money. Sun Studio 11 and 12 are a
thing of beauty that seem to work very very well and Sun Studio 12 Update
1 should be avoided like the mad dog that it is.

I may be wrong and David, if it were any of a billion other names on
maillists I wouldn't make the effort but you are so involved in so many
open source things that I just have to jump in and help, talk, perhaps
even whine a little with you. You do good things and I have my eyes on
Sage too you know! :-)

The issue you are running into is related to the way the run time linker
deals with the needed libs in a binary. When you compile a binary you
*should* also specify where to find any needed dynamic libraries if they
are not in the default places. The only real default place is /usr/lib and
maybe /usr/lib/64. I hope you are familiar with isalist also.

When the in memory image of the executable is being built the run time
linker will do a breadth-first search for any and all libs needed. So if
you want to run the binary "hello" which needs a few things then the run
time linker will look in the dynamic section of the ELF header to see what
is "NEEDED". Here is an example :

bash-4.1$ uname -a
SunOS orcus 5.10 Generic_142901-14 i86pc i386 i86pc
bash-4.1$ cat /etc/release
                       Solaris 10 10/09 s10x_u8wos_08a X86
           Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 16 September 2009
bash-4.1$
bash-4.1$ env | sort
AR=/opt/csw/bin/gar
AS=/opt/csw/bin/gas
CC=gcc
CFLAGS=-m64 -v -march=opteron -mno-mmx -mno-sse -malign-double
-mpreferred-stack-boundary=8
COLUMNS=80
CONFIG_SHELL=/bin/bash
CPPFLAGS=-I/opt/csw/include
CXX=g++
EDITOR=/usr/xpg4/bin/vi
HOME=/home/dclarke
LANG=C
LC_ALL=C
LINES=24
LOGNAME=dclarke
MAIL=/usr/mail/dclarke
NM=/opt/csw/bin/gnm
OBJCOPY=/opt/csw/bin/gobjcopy
OBJDUMP=/opt/csw/bin/gobjdump
OLDPWD=/export/fibre_zpool2/dclarke/build/m4/i386
PATH=/opt/csw/gcc4/bin:/opt/csw/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/dt/bin:/usr/openwin/bin:/opt/schily/bin
PWD=/export/fibre_zpool2/dclarke/build/test
RANLIB=/opt/csw/bin/granlib
SHELL=/bin/bash
SHLVL=1
SRC=/shared/gar/src
SSH_CLIENT=192.168.35.7 49598 22
SSH_CONNECTION=192.168.35.7 49598 192.168.35.62 22
SSH_TTY=/dev/pts/2
STRIP=/opt/csw/bin/gstrip
TERM=vt100
TZ=GMT0
USER=dclarke
VISUAL=/usr/xpg4/bin/vi
_=/usr/xpg4/bin/env

bash-4.1$ cat -n hello.c
     1  #include <stdio.h>
     2
     3  int
     4  main(int argc, char *argv[])
     5  {
     6      printf ( "Hello World!\n" );
     7      return (0);
     8  }

bash-4.1$ gcc -m64 -mno-mmx -mno-sse -malign-double
-mpreferred-stack-boundary=8 hello.c -o hello

bash-4.1$ file hello
hello: ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not
stripped, no debugging information available

bash-4.1$ mcs -p hello
hello:

@(#)SunOS 5.10 Generic January 2005

@(#)SunOS 5.10 Generic January 2005

@(#)SunOS 5.10 Generic January 2005

GCC: (Blastwave.org Inc. Mon Aug 23 11:16:32 GMT 2010) 4.5.1

GCC: (Blastwave.org Inc. Mon Aug 23 11:16:32 GMT 2010) 4.5.1

GCC: (Blastwave.org Inc. Mon Aug 23 11:16:32 GMT 2010) 4.5.1

@(#)SunOS 5.10 Generic January 2005
ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.497

bash-4.1$ elfdump -d hello

Dynamic Section:  .dynamic
     index  tag                value
       [0]  NEEDED            0x107               libc.so.1
       [1]  INIT              0x4009d0
       [2]  FINI              0x4009e0
       [3]  HASH              0x400208
       [4]  STRTAB            0x400540
       [5]  STRSZ             0x11a
       [6]  SYMTAB            0x4002e8
       [7]  SYMENT            0x18
       [8]  CHECKSUM          0x929e
       [9]  VERNEED           0x400660
      [10]  VERNEEDNUM        0x1
      [11]  PLTRELSZ          0xa8
      [12]  PLTREL            0x7
      [13]  JMPREL            0x4006c8
      [14]  RELA              0x400680
      [15]  RELASZ            0xf0
      [16]  RELAENT           0x18
      [17]  DEBUG             0
      [18]  FEATURE_1         0x1                 [ PARINIT ]
      [19]  FLAGS             0                   0
      [20]  FLAGS_1           0                   0
      [21]  PLTGOT            0x410a00
      [22]  NULL              0


bash-4.1$ dumpstabs hello | head -8
Elf Header:
  Ident = "\x7fELF", Class = 2 (64), Data = 1 (2LSB), Id ver = 1 (CURRENT)
Type = 2 (EXEC),      Machine = 62 (OUT_OF_RANGE),    Version = 1
(CURRENT)
  Start address = 0x004007f0,   Phdr offset = 0x00000040
  Shdr offset   = 0x000017f0,   File flags = 0x00000000
  Ehdr size = 64,       Phdr size = 56,         Num Phdrs = 6
  Shdr size = 64,       Num Shdrs = 26,         Str Index = 25

bash-4.1$ ./hello
Hello World!

Now if you look carefully you will see that only libc.so.1 is needed by
that binary "hello" and nothing else.  Well where is that located?  There
is no path there. Just a shared object name or SONAME.

Well where is that located and how does the run time linker figure out
where to look for it?

bash-4.1$ LD_DEBUG=files
bash-4.1$ export LD_DEBUG

bash-4.1$ ./hello
08706:
08706: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
08706:
08706:
08706: configuration file=/var/ld/64/ld.config: unable to process file
08706:
08706: file=/export/fibre_zpool2/dclarke/build/test/hello  [ ELF ];
generating link map
08706:     dynamic:            0x410a88  base:             0x400000
08706:     size:                0x10cb0  entry:            0x400810
08706:     lmid:                   BASE  lmco:                 0x10
08706:
08706: file=hello;  analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD
RTLD_NODELETE ]
08706:
08706: file=libc.so.1;  needed by hello
08706: file=/lib/64/libc.so.1  [ ELF ]; generating link map
08706:     dynamic:  0xfffffd7fff1db578  base:   0xfffffd7fff090000
08706:     size:               0x157000  entry:  0xfffffd7fff090120
08706:     lmid:                   BASE  lmco:                 0x10
08706:
08706: file=/lib/64/libc.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
08706:
08706: 1: file=/lib/64/libc.so.1;  filter for /usr/lib/amd64/ld.so.1
08706: 1:
08706: 1: file=/usr/lib/amd64/ld.so.1;  filtered by /lib/64/libc.so.1
08706: 1:
08706: 1:
08706: 1: transferring control: hello
08706: 1:
Hello World!
08706: 1:
bash-4.1$

Well that sure is educational.

First you see this :

08706: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]

The pid is 8706 and first thing to determine is what can this machine run?
Well it looks like those flags 0x1ff7 result in a pile of things like sse2
and mmx etc. If the binary to be executed needs those features then we are
okay to run.

This looks like cause for concern but it isn't :

  configuration file=/var/ld/64/ld.config: unable to process file

Then the actual executable file is looked at :

     file=/export/fibre_zpool2/dclarke/build/test/hello

Then what dynamic libs are NEEDED ?

I mean it all makes sense to me.

If the run time linker needs something then it looked in the default
locations. If you don't specify where a SONAME should be found with a
RUNPATH then you're in deep trouble.

You may need LD_OPTIONS set to find libraries and that is expected when
the vendor of the compiler is not also the manufacturer of the OS.

Consider the need for the lib libstdc++.so.6.0.14.

FIRST TRY THIS :  C++ with no LD_OPTIONS

bash-4.1$ cat -n hello.cpp
     1  #include <iostream>
     2
     3  int main()
     4  {
     5     std::cout << "Hello, world!\n";
     6  }

bash-4.1$ g++ -m64 -mno-mmx -mno-sse -malign-double
-mpreferred-stack-boundary=8 hello.cpp -o hello
bash-4.1$ file hello
hello: ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not
stripped, no debugging information available

bash-4.1$ elfdump -d hello

Dynamic Section:  .dynamic
     index  tag                value
       [0]  NEEDED            0x19d               libstdc++.so.6
       [1]  NEEDED            0x1ac               libm.so.2
       [2]  NEEDED            0x174               libgcc_s.so.1
       [3]  NEEDED            0x18a               libc.so.1
       [4]  INIT              0x400ca0
       [5]  FINI              0x400cb0
       [6]  HASH              0x4002c8
       [7]  STRTAB            0x400658
       [8]  STRSZ             0x1b6
       [9]  SYMTAB            0x4003b8
      [10]  SYMENT            0x18
      [11]  CHECKSUM          0x3cf6
      [12]  VERNEED           0x400810
      [13]  VERNEEDNUM        0x2
      [14]  PLTRELSZ          0xd8
      [15]  PLTREL            0x7
      [16]  JMPREL            0x4008b0
      [17]  RELA              0x400850
      [18]  RELASZ            0x138
      [19]  RELAENT           0x18
      [20]  DEBUG             0
      [21]  FEATURE_1         0x1                 [ PARINIT ]
      [22]  FLAGS             0                   0
      [23]  FLAGS_1           0                   0
      [24]  PLTGOT            0x410cd0
      [25]  NULL              0

bash-4.1$ ./hello
ld.so.1: hello: fatal: libstdc++.so.6: open failed: No such file or directory
Killed

Of course. You would expect that with anything that needs a lib that is
not in /usr/lib/{%ARCH%} right ?

Set your LD_OPTIONS for when you compile.

bash-4.1$ LD_OPTIONS=\-R/opt/csw/lib/\$ISALIST:/opt/csw/lib\
\-L/opt/csw/lib/\$ISALIST:/opt/csw/lib
bash-4.1$ export LD_OPTIONS
bash-4.1$
bash-4.1$ g++ -m64 -mno-mmx -mno-sse -malign-double
-mpreferred-stack-boundary=8 hello.cpp -o hello
bash-4.1$ ldd hello
        libstdc++.so.6 =>        /opt/csw/lib/amd64/libstdc++.so.6
libm.so.2 =>     /lib/64/libm.so.2
        libgcc_s.so.1 =>         /opt/csw/lib/amd64/libgcc_s.so.1
        libc.so.1 =>     /lib/64/libc.so.1

This is because the actual binary now has a expected place to look for the
libs it needs that are OTHER then /usr/lib :

bash-4.1$ elfdump -d hello

Dynamic Section:  .dynamic
     index  tag                value
       [0]  NEEDED            0x19d               libstdc++.so.6
       [1]  NEEDED            0x1ac               libm.so.2
       [2]  NEEDED            0x174               libgcc_s.so.1
       [3]  NEEDED            0x18a               libc.so.1
       [4]  INIT              0x400cc0
       [5]  FINI              0x400cd0
       [6]  RUNPATH           0x1b6
/opt/csw/lib/$ISALIST:/opt/csw/lib
       [7]  RPATH             0x1b6
/opt/csw/lib/$ISALIST:/opt/csw/lib
       [8]  HASH              0x4002c8
       [9]  STRTAB            0x400658
      [10]  STRSZ             0x1d9
      [11]  SYMTAB            0x4003b8
      [12]  SYMENT            0x18
      [13]  CHECKSUM          0x4371
      [14]  VERNEED           0x400838
      [15]  VERNEEDNUM        0x2
      [16]  PLTRELSZ          0xd8
      [17]  PLTREL            0x7
      [18]  JMPREL            0x4008d8
      [19]  RELA              0x400878
      [20]  RELASZ            0x138
      [21]  RELAENT           0x18
      [22]  DEBUG             0
      [23]  FEATURE_1         0x1                 [ PARINIT ]
      [24]  FLAGS             0                   0
      [25]  FLAGS_1           0                   0
      [26]  PLTGOT            0x410cf0
      [27]  NULL              0
bash-4.1$

bash-4.1$ ./hello
Hello, world!

Want to see that with LD_DEBUG=files ?

bash-4.1$ ./hello
18554:
18554: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
18554:
18554:
18554: configuration file=/var/ld/64/ld.config: unable to process file
18554:
18554: file=/export/medusa/dclarke/build/test/hello  [ ELF ]; generating
link map
18554:     dynamic:            0x410d68  base:             0x400000
18554:     size:                0x11110  entry:            0x400a50
18554:     lmid:                   BASE  lmco:                 0x10
18554:
18554: file=hello;  analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD
RTLD_NODELETE ]
18554:
18554: file=libstdc++.so.6;  needed by hello
18554: file=/opt/csw/lib/amd64/libstdc++.so.6  [ ELF ]; generating link map
18554:     dynamic:  0xfffffd7fff1c5648  base:   0xfffffd7fff0b0000
18554:     size:               0x132000  entry:  0xfffffd7fff0b0000
18554:     lmid:                   BASE  lmco:                 0x10
18554:
18554: file=libm.so.2;  needed by hello
18554: file=/lib/64/libm.so.2  [ ELF ]; generating link map
18554:     dynamic:  0xfffffd7fff0a5778  base:   0xfffffd7fff030000
18554:     size:                0x7a000  entry:  0xfffffd7fff030000
18554:     lmid:                   BASE  lmco:                 0x10
18554:
18554: file=libgcc_s.so.1;  needed by hello
18554: file=/opt/csw/lib/amd64/libgcc_s.so.1  [ ELF ]; generating link map
18554:     dynamic:  0xfffffd7fff024db8  base:   0xfffffd7fff000000
18554:     size:                0x26000  entry:  0xfffffd7fff000000
18554:     lmid:                   BASE  lmco:                 0x10
18554:
18554: file=libc.so.1;  needed by hello
18554: file=/lib/64/libc.so.1  [ ELF ]; generating link map
18554:     dynamic:  0xfffffd7ffefeb578  base:   0xfffffd7ffeea0000
18554:     size:               0x157000  entry:  0xfffffd7ffeea0120
18554:     lmid:                   BASE  lmco:                 0x10
18554:
18554: file=/opt/csw/lib/amd64/libstdc++.so.6;  analyzing  [ RTLD_LAZY
RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18554:
18554: file=libm.so.2;  needed by /opt/csw/lib/amd64/libstdc++.so.6
18554:
18554: file=libgcc_s.so.1;  needed by /opt/csw/lib/amd64/libstdc++.so.6
18554:
18554: file=/lib/64/libm.so.2;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18554:
18554: file=libc.so.1;  needed by /lib/64/libm.so.2
18554:
18554: file=/opt/csw/lib/amd64/libgcc_s.so.1;  analyzing  [ RTLD_LAZY
RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18554:
18554: file=libc.so.1;  needed by /opt/csw/lib/amd64/libgcc_s.so.1
18554:
18554: file=/lib/64/libc.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18554:
18554: 1: file=/lib/64/libc.so.1;  filter for /usr/lib/amd64/ld.so.1
18554: 1:
18554: 1: file=/usr/lib/amd64/ld.so.1;  filtered by /lib/64/libc.so.1
18554: 1:
18554: 1:
18554: 1: transferring control: hello
18554: 1:
Hello, world!
18554: 1:

make sense ?

Lastly ... why does this compile correctly in the first place with those
libs under /opt/csw/lib ?  Here is why :

bash-4.1$ dumpstabs -d
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/cc1plus


Dynamic table -- 28 entries

 0: Tag =  1 (NEEDED)   libiconv.so.2
 1: Tag =  1 (NEEDED)   libelf.so.1
 2: Tag =  1 (NEEDED)   libc.so.1
 3: Tag = 12 (INIT)     0x0888d560
 4: Tag = 13 (FINI)     0x0888d580
 5: Tag = 0x1d (unknown)
 6: Tag = 15 (RPATH)   
/opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/csw/gcc4/lib/$ISALIST:/opt/csw/gcc4/lib:/opt/csw/lib
 7: Tag =  4 (HASH)     0x080500e8
 8: Tag =  5 (STRTAB)   0x0808f7b8
 9: Tag = 10 (STRSZ)    209311
10: Tag =  6 (SYMTAB)   0x08065348
11: Tag = 11 (SYMENT)   16
12: Tag = 1879047672 (CHECKSUM)         0x0000c67b
13: Tag = 1879048190 (VERNEED)          0x080c2958
14: Tag = 1879048191 (VERNEEDNUM)       1
15: Tag = 22 (TEXTREL)
16: Tag =  2 (PLTRELSZ)         984
17: Tag = 20 (PLTREL)   17
18: Tag = 23 (JMPREL)   0x080c29c8
19: Tag = 17 (REL)      0x080c2988
20: Tag = 18 (RELSZ)    1048
21: Tag = 19 (RELENT)   8
22: Tag = 21 (DEBUG)    0x00000000
23: Tag = 1879047676 (FEATURE_1)        PARINIT
24: Tag = 30 (DT_FLAGS)         TEXTREL
25: Tag = 1879048187 (FLAGS_1)
26: Tag =  3 (PLTGOT)   0x089ec5c4
27: Tag =  0 (NULL)
bash-4.1$

See the RPATH there ?

-- 
Dennis Clarke
dclarke@xxxxxxxxxxxxxx  <- Email related to the open source Solaris
dclarke@xxxxxxxxxxxxx   <- Email related to open source for Solaris

ps : here are the gory details of the GCC 4.5.1 compiler doing a
very simple compile of hello.cpp seen above :

bash-4.1$ g++ -m64 -mno-mmx -mno-sse -malign-double
-mpreferred-stack-boundary=8 hello.cpp -o hello
18399:
18399: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
18399:
18399:
18399: configuration file=/var/ld/ld.config: unable to process file
18399:
18399: file=/opt/csw/gcc4/bin/g++  [ ELF ]; generating link map
18399:     dynamic:           0x80a2e7c  base:            0x8050000
18399:     size:                0x546cc  entry:           0x80576e0
18399:     lmid:                   BASE  lmco:                  0xc
18399:
18399: file=/opt/csw/gcc4/bin/g++;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18399:
18399: file=libiconv.so.2;  needed by /opt/csw/gcc4/bin/g++
18399:
18399: file=/opt/csw/lib/amd64/libiconv.so.2;  rejected: wrong ELF class:
ELFCLASS64
18399:
18399: file=/opt/csw/lib/pentium_pro/libiconv.so.2  [ ELF ]; generating
link map
18399:     dynamic:          0xfee3a3c4  base:           0xfed30000
18399:     size:               0x10b000  entry:          0xfed30094
18399:     lmid:                   BASE  lmco:                  0xc
18399:
18399: file=libc.so.1;  needed by /opt/csw/gcc4/bin/g++
18399: file=/lib/libc.so.1  [ ELF ]; generating link map
18399:     dynamic:          0xfed1db44  base:           0xfec00000
18399:     size:               0x127000  entry:          0xfec20780
18399:     lmid:                   BASE  lmco:                  0xc
18399:
18399: file=/opt/csw/lib/pentium_pro/libiconv.so.2;  analyzing  [
RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18399:
18399: file=libc.so.1;  needed by /opt/csw/lib/pentium_pro/libiconv.so.2
18399:
18399: file=/lib/libc.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD
RTLD_NODELETE ]
18399:
18399: 1: file=/lib/libc.so.1;  filter for /usr/lib/ld.so.1
18399: 1:
18399: 1: file=/usr/lib/ld.so.1;  filtered by /lib/libc.so.1
18399: 1:
18399: 1:
18399: 1: transferring control: /opt/csw/gcc4/bin/g++
18399: 1:
18400:
18400: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
18400:
18400:
18400: configuration file=/var/ld/ld.config: unable to process file
18400:
18400: file=/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/cc1plus  [
ELF ]; generating link map
18400:     dynamic:           0x89ec7cc  base:            0x8050000
18400:     size:               0xabd534  entry:           0x80c3560
18400:     lmid:                   BASE  lmco:                  0xc
18400:
18400: file=/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/cc1plus; 
analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18400:
18400: file=libiconv.so.2;  needed by
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/cc1plus
18400:
18400: file=/opt/csw/lib/amd64/libiconv.so.2;  rejected: wrong ELF class:
ELFCLASS64
18400:
18400: file=/opt/csw/lib/pentium_pro/libiconv.so.2  [ ELF ]; generating
link map
18400:     dynamic:          0xfee3a3c4  base:           0xfed30000
18400:     size:               0x10b000  entry:          0xfed30094
18400:     lmid:                   BASE  lmco:                  0xc
18400:
18400: file=libelf.so.1;  needed by
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/cc1plus
18400: file=/lib/libelf.so.1  [ ELF ]; generating link map
18400:     dynamic:          0xfed2a1b4  base:           0xfed00000
18400:     size:                0x2b000  entry:          0xfed000b4
18400:     lmid:                   BASE  lmco:                  0xc
18400:
18400: file=libc.so.1;  needed by
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/cc1plus
18400: file=/lib/libc.so.1  [ ELF ]; generating link map
18400:     dynamic:          0xfecedb44  base:           0xfebd0000
18400:     size:               0x127000  entry:          0xfebf0780
18400:     lmid:                   BASE  lmco:                  0xc
18400:
18400: file=/opt/csw/lib/pentium_pro/libiconv.so.2;  analyzing  [
RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18400:
18400: file=libc.so.1;  needed by /opt/csw/lib/pentium_pro/libiconv.so.2
18400:
18400: file=/lib/libelf.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18400:
18400: file=libc.so.1;  needed by /lib/libelf.so.1
18400:
18400: file=/lib/libc.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD
RTLD_NODELETE ]
18400:
18400: 1: file=/lib/libc.so.1;  filter for /usr/lib/ld.so.1
18400: 1:
18400: 1: file=/usr/lib/ld.so.1;  filtered by /lib/libc.so.1
18400: 1:
18400: 1:
18400: 1: transferring control:
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/cc1plus
18400: 1:
18400: 1:
18401:
18401: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
18401:
18401:
18401: configuration file=/var/ld/ld.config: unable to process file
18401:
18401: file=/opt/csw/bin/gas  [ ELF ]; generating link map
18401:     dynamic:           0x815a540  base:            0x8050000
18401:     size:               0x119760  entry:           0x805f358
18401:     lmid:                   BASE  lmco:                  0xc
18401:
18401: file=/opt/csw/bin/gas;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18401:
18401: file=libintl.so.8;  needed by /opt/csw/bin/gas
18401:
18401: file=/opt/csw/lib/amd64/libintl.so.8;  rejected: wrong ELF class:
ELFCLASS64
18401:
18401: file=/opt/csw/lib/pentium_pro/libintl.so.8  [ ELF ]; generating
link map
18401:     dynamic:          0xfee3e2f8  base:           0xfee20000
18401:     size:                0x1f000  entry:          0xfee20094
18401:     lmid:                   BASE  lmco:                  0xc
18401:
18401: file=libiconv.so.2;  needed by /opt/csw/bin/gas
18401:
18401: file=/opt/csw/lib/amd64/libiconv.so.2;  rejected: wrong ELF class:
ELFCLASS64
18401:
18401: file=/opt/csw/lib/pentium_pro/libiconv.so.2  [ ELF ]; generating
link map
18401:     dynamic:          0xfee1a3c4  base:           0xfed10000
18401:     size:               0x10b000  entry:          0xfed10094
18401:     lmid:                   BASE  lmco:                  0xc
18401:
18401: file=libz.so;  needed by /opt/csw/bin/gas
18401:
18401: file=/opt/csw/lib/amd64/libz.so;  rejected: wrong ELF class:
ELFCLASS64
18401:
18401: file=/opt/csw/lib/i486/libz.so  [ ELF ]; generating link map
18401:     dynamic:          0xfed01a80  base:           0xfece0000
18401:     size:                0x22000  entry:          0xfece00b4
18401:     lmid:                   BASE  lmco:                  0xc
18401:
18401: file=libc.so.1;  needed by /opt/csw/bin/gas
18401: file=/lib/libc.so.1  [ ELF ]; generating link map
18401:     dynamic:          0xfeccdb44  base:           0xfebb0000
18401:     size:               0x127000  entry:          0xfebd0780
18401:     lmid:                   BASE  lmco:                  0xc
18401:
18401: file=/opt/csw/lib/pentium_pro/libintl.so.8;  analyzing  [ RTLD_LAZY
RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18401:
18401: file=libiconv.so.2;  needed by /opt/csw/lib/pentium_pro/libintl.so.8
18401:
18401: file=libc.so.1;  needed by /opt/csw/lib/pentium_pro/libintl.so.8
18401:
18401: file=/opt/csw/lib/pentium_pro/libiconv.so.2;  analyzing  [
RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18401:
18401: file=libc.so.1;  needed by /opt/csw/lib/pentium_pro/libiconv.so.2
18401:
18401: file=/opt/csw/lib/i486/libz.so;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18401:
18401: file=libc.so.1;  needed by /opt/csw/lib/i486/libz.so
18401:
18401: file=/lib/libc.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD
RTLD_NODELETE ]
18401:
18401: 1: file=/lib/libc.so.1;  filter for /usr/lib/ld.so.1
18401: 1:
18401: 1: file=/usr/lib/ld.so.1;  filtered by /lib/libc.so.1
18401: 1:
18401: 1:
18401: 1: transferring control: /opt/csw/bin/gas
18401: 1:
18401: 2:
18401: 2:
18401: 2: ld.so.1: gas: fatal: _ex_unwind: can't find symbol
18401: 2:
18401: 2:
18402:
18402: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
18402:
18402:
18402: configuration file=/var/ld/ld.config: unable to process file
18402:
18402: file=/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/collect2 
[ ELF ]; generating link map
18402:     dynamic:           0x8082a14  base:            0x8050000
18402:     size:                0x33470  entry:           0x80537d0
18402:     lmid:                   BASE  lmco:                  0xc
18402:
18402: file=/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/collect2; 
analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18402:
18402: file=libiconv.so.2;  needed by
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/collect2
18402:
18402: file=/opt/csw/lib/amd64/libiconv.so.2;  rejected: wrong ELF class:
ELFCLASS64
18402:
18402: file=/opt/csw/lib/pentium_pro/libiconv.so.2  [ ELF ]; generating
link map
18402:     dynamic:          0xfee3a3c4  base:           0xfed30000
18402:     size:               0x10b000  entry:          0xfed30094
18402:     lmid:                   BASE  lmco:                  0xc
18402:
18402: file=libc.so.1;  needed by
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/collect2
18402: file=/lib/libc.so.1  [ ELF ]; generating link map
18402:     dynamic:          0xfed1db44  base:           0xfec00000
18402:     size:               0x127000  entry:          0xfec20780
18402:     lmid:                   BASE  lmco:                  0xc
18402:
18402: file=/opt/csw/lib/pentium_pro/libiconv.so.2;  analyzing  [
RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18402:
18402: file=libc.so.1;  needed by /opt/csw/lib/pentium_pro/libiconv.so.2
18402:
18402: file=/lib/libc.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD
RTLD_NODELETE ]
18402:
18402: 1: file=/lib/libc.so.1;  filter for /usr/lib/ld.so.1
18402: 1:
18402: 1: file=/usr/lib/ld.so.1;  filtered by /lib/libc.so.1
18402: 1:
18402: 1:
18402: 1: transferring control:
/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.5.1/collect2
18402: 1:
18403:
18403: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
18403:
18403:
18403: configuration file=/var/ld/ld.config: unable to process file
18403:
18403: file=/usr/ccs/bin/ld  [ ELF ]; generating link map
18403:     dynamic:           0x8062088  base:            0x8050000
18403:     size:                0x125cc  entry:           0x8050c3c
18403:     lmid:                   BASE  lmco:                  0xc
18403:
18403: file=/usr/ccs/bin/ld;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18403:
18403: file=libc.so.1;  needed by /usr/ccs/bin/ld
18403: file=/usr/ccs/bin/../../../lib/libc.so.1  [ ELF ]; generating link map
18403:     dynamic:          0xfee2db44  base:           0xfed10000
18403:     size:               0x127000  entry:          0xfed30780
18403:     lmid:                   BASE  lmco:                  0xc
18403:
18403: file=/usr/ccs/bin/../../../lib/libc.so.1;  analyzing  [ RTLD_LAZY
RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18403:
18403: 1: file=/usr/ccs/bin/../../../lib/libc.so.1;  filter for
/usr/lib/ld.so.1
18403: 1:
18403: 1: file=/usr/lib/ld.so.1;  filtered by
/usr/ccs/bin/../../../lib/libc.so.1
18403: 1:
18403: 1:
18403: 1: transferring control: /usr/ccs/bin/ld
18403: 1:
18403:
18403: hardware capabilities - 0x1ff7  [ SSE2 SSE FXSR AMD_3DNowx
AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8 TSC FPU ]
18403:
18403:
18403: configuration file=/var/ld/64/ld.config: unable to process file
18403:
18403: file=/usr/ccs/bin/amd64/ld  [ ELF ]; generating link map
18403:     dynamic:            0x412130  base:             0x400000
18403:     size:                0x12e44  entry:            0x401430
18403:     lmid:                   BASE  lmco:                 0x10
18403:
18403: file=/usr/ccs/bin/amd64/ld;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18403:
18403: file=libc.so.1;  needed by /usr/ccs/bin/amd64/ld
18403: file=/usr/ccs/bin/amd64/../../../../lib/amd64/libc.so.1  [ ELF ];
generating link map
18403:     dynamic:  0xfffffd7fff1db578  base:   0xfffffd7fff090000
18403:     size:               0x157000  entry:  0xfffffd7fff090120
18403:     lmid:                   BASE  lmco:                 0x10
18403:
18403: file=/usr/ccs/bin/amd64/../../../../lib/amd64/libc.so.1;  analyzing
 [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18403:
18403: 1: file=/usr/ccs/bin/amd64/../../../../lib/amd64/libc.so.1;  filter
for /usr/lib/amd64/ld.so.1
18403: 1:
18403: 1: file=/usr/lib/amd64/ld.so.1;  filtered by
/usr/ccs/bin/amd64/../../../../lib/amd64/libc.so.1
18403: 1:
18403: 1:
18403: 1: transferring control: /usr/ccs/bin/amd64/ld
18403: 1:
18403: 1:
18403: 1: file=libld.so.4;  lazy loading from file=/usr/ccs/bin/amd64/ld:
symbol=ld64_main
18403: 1: file=/usr/ccs/bin/amd64/../../../../lib/amd64/libld.so.4  [ ELF
]; generating link map
18403: 1:     dynamic:  0xfffffd7fff067b10  base:   0xfffffd7ffeff0000
18403: 1:     size:                0x7b000  entry:  0xfffffd7ffeff0158
18403: 1:     lmid:                   BASE  lmco:                 0x30
18403: 1:
18403: 1: file=/usr/ccs/bin/amd64/../../../../lib/amd64/libld.so.4; 
analyzing  [ RTLD_LAZY RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18403: 1:
18403: 1: file=libc.so.1;  needed by
/usr/ccs/bin/amd64/../../../../lib/amd64/libld.so.4
18403: 1:
18403: 1: file=liblddbg.so.4;  lazy loading from
file=/usr/ccs/bin/amd64/../../../../lib/amd64/libld.so.4: symbol=dbg_desc
18403: 1: file=/lib/amd64/liblddbg.so.4  [ ELF ]; generating link map
18403: 1:     dynamic:  0xfffffd7ffefe3528  base:   0xfffffd7ffefa0000
18403: 1:     size:                0x47000  entry:  0xfffffd7ffefa0158
18403: 1:     lmid:                   BASE  lmco:                 0x50
18403: 1:
18403: 1: file=/lib/amd64/liblddbg.so.4;  analyzing  [ RTLD_LAZY
RTLD_GLOBAL RTLD_WORLD RTLD_NODELETE ]
18403: 1:
18403: 1: file=libc.so.1;  needed by /lib/amd64/liblddbg.so.4
18403: 1:
18403: 1: file=libelf.so.1;  lazy loading from
file=/usr/ccs/bin/amd64/../../../../lib/amd64/libld.so.4:
symbol=elf_version
18403: 1: file=/lib/amd64/libelf.so.1  [ ELF ]; generating link map
18403: 1:     dynamic:  0xfffffd7ffef2d350  base:   0xfffffd7ffef00000
18403: 1:     size:                0x2e000  entry:  0xfffffd7ffef00158
18403: 1:     lmid:                   BASE  lmco:                 0x30
18403: 1:
18403: 1: file=/lib/amd64/libelf.so.1;  analyzing  [ RTLD_LAZY RTLD_GLOBAL
RTLD_WORLD RTLD_NODELETE ]
18403: 1:
18403: 1: file=libc.so.1;  needed by /lib/amd64/libelf.so.1
18403: 1: file=/lib/64/libc.so.1;  skipped: already processed as
/usr/ccs/bin/amd64/../../../../lib/amd64/libc.so.1
18403: 1:
18403: 1: file=libldstab.so.1;  dlopen() called from
file=/usr/ccs/bin/amd64/../../../../lib/amd64/libld.so.4  [ RTLD_LAZY
RTLD_LOCAL RTLD_GROUP RTLD_WORLD ]
18403: 1: file=/usr/lib/64/libldstab.so.1  [ ELF ]; generating link map
18403: 1:     dynamic:  0xfffffd7ffeef3178  base:   0xfffffd7ffeee0000
18403: 1:     size:                0x14000  entry:  0xfffffd7ffeee0158
18403: 1:     lmid:                   BASE  lmco:                 0x30
18403: 1:
18403: 1: file=/usr/lib/64/libldstab.so.1;  analyzing  [ RTLD_LAZY
RTLD_LOCAL RTLD_GROUP RTLD_WORLD ]
18403: 1:
18403: 1: file=libelf.so.1;  needed by /usr/lib/64/libldstab.so.1
18403: 1: file=/lib/64/libelf.so.1;  skipped: already processed as
/lib/amd64/libelf.so.1
18403: 1:
18403: 1: file=libc.so.1;  needed by /usr/lib/64/libldstab.so.1
18403: 1:
18403: 1: rescanning for lazy dependencies for symbol: ld_version
18403: 1:
18403: 1:
18403: 1: ld.so.1: ld: fatal: ld_version: can't find symbol
18403: 1:
18403: 1:
18403: 1: rescanning for lazy dependencies for symbol: ld_input_done
18403: 1:
18403: 1:
18403: 1: ld.so.1: ld: fatal: ld_input_done: can't find symbol
18403: 1:
18403: 1:
18403: 1: rescanning for lazy dependencies for symbol: ld_open64
18403: 1:
18403: 1:
18403: 1: ld.so.1: ld: fatal: ld_open64: can't find symbol
18403: 1:
18403: 1:
18403: 1: rescanning for lazy dependencies for symbol: ld_input_section64
18403: 1:
18403: 1:
18403: 1: ld.so.1: ld: fatal: ld_input_section64: can't find symbol
18403: 1:
18403: 1:
18402: 1:
18399: 1:




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux