same compiler image / multiple os versions

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

 



We are trying to build a single gcc/g++ 3.4.5 kit to be
installed on three different Red Hat platforms: RH 7.1,
LAS 2.1 and LAS 4.0.  For various reasons our kit build
run on RH 7.1 boxes:

  < download .../pub/gcc/releases/gcc-3.4.5/gcc-3.4.5.tar.bz2 >
  $ tar -zxf gcc-3.4.5.tar.bz2
  $ mkdir objdir
  $ cd objdir
  $ ../gcc-3.4.5/configure --prefix=/usr/local/GCC3.4.5 --enable-languages=c,c++
  $ make bootstrap
  $ make install

A simple test case runs fine on both RH 7.1 and LAS 2.1.
I note that the libraries are all 2.2.x: 2.2.2 for RH 7.1
and 2.2.4 for LAS 2.1.

When we move the gcc/g++ kit and its libraries (libgcc and
libstdc++) to an LAS 4.0 environment we get a crash at the
end of the test case (traceback at end of message).  Here I
note that the system libraries are now 2.3.x (specifically
2.3.4).

OTOH, if we bootstrap a 3.4.5 compiler on LAS 4.0 using the
very same kit and procedure then our test case runs and exits
cleanly.

So... Do we have any right to expect this to work?

If yes then how is it that compilers bootstrapped from exactly
the same sources generate different output reflecting the site
of their original build?

>From my own investigations I have the following:

Two functions in the traceback (__deregister_frame_info_bases
and __do_global_dtors_aux) come from crtstuff.c.  There I found
the following "intriguing" conditional:

# if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
     || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))

It evaluates differently for 2.2.x (RH 7.1 and LAS 2.1) versus
2.3.x (LAS 4.0) unless DT_CONFIG is defined.  What is DT_CONFIG
and is it relevant?

/john

John S. Yates, Jr.   508 665-6897 (voice)
Netezza Inc          508 665-6811 (fax)
200 Crossing Blvd.   Framingham, MA 01701


 
Core was generated by `dbos'.
Program terminated with signal 6, Aborted.
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /nz/new_nps4port_sim_gcc345/debug/sbin/gcc/lib/libstdc++.so.6...done.
Loaded symbols for /nz/new_nps4port_sim_gcc345/debug/sbin/gcc/lib/libstdc++.so.6
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /nz/new_nps4port_sim_gcc345/debug/sbin/gcc/lib/libgcc_s.so.1...done.
Loaded symbols for /nz/new_nps4port_sim_gcc345/debug/sbin/gcc/lib/libgcc_s.so.1
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /nz/new_nps4port_sim_gcc345/simdata/plans/1_500.o...done.
Loaded symbols for /nz/new_nps4port_sim_gcc345/simdata/plans/1_500.o
#0  0x0037b7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) bt
#0  0x0037b7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x003bf955 in raise () from /lib/tls/libc.so.6
#2  0x003c1319 in abort () from /lib/tls/libc.so.6
#3  0x009df8d7 in __deregister_frame_info_bases (begin=0x26ceb4) at unwind-dw2-fde.c:215
#4  0x0026c856 in __do_global_dtors_aux () from /nz/new_nps4port_sim_gcc345/simdata/plans/1_500.o
#5  0x0026ce76 in _fini () from /nz/new_nps4port_sim_gcc345/simdata/plans/1_500.o
#6  0x004938db in _dl_close () from /lib/tls/libc.so.6
#7  0x004e8d5a in dlclose_doit () from /lib/libdl.so.2
#8  0x00386fde in _dl_catch_error () from /lib/ld-linux.so.2
#9  0x004e92bb in _dlerror_run () from /lib/libdl.so.2
#10 0x004e8d8a in dlclose () from /lib/libdl.so.2
#11 0x08266300 in CPlan::unloadGenCode (this=0x1162e8c0)
    at /nz/new_nps4port_sim_gcc345/src/nde/spu/spubind.cpp:4958
#12 0x08154a9e in CPlan::DbosProcessDone (this=0x1162e8c0, pInteraction=0x0)
    at /nz/new_nps4port_sim_gcc345/src/nde/os/dbosplan.cpp:2147


[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