I was trying to upgrade my compiler from Forte 6.0 (yikes) to Studio 11. In
the midst of this we installed various patches including 109147-40. We haven't
completed the switch to Studio 11, but now applications built with the Forte
6.0 compiler crash. For example, the tcl-8.4.2 "load" command crashes in a
function where it's calling dlopen. The stack shows a crash in strlen, but the
code seems right, has been working for years, and as soon as I revert the patch
to 109147-34 and rebuild one .o file and the .so, the application works.
I can provide a short script that recompiles just the one file and crashes.
Here is what it looks like when it works on machine guaraldi:
guaraldi:~/build/rel50/src/vendor/tcl/tcl8.4.2/unix $ ./doit
SunOS guaraldi 5.8 Generic_117350-24 sun4u sparc
cc: Sun WorkShop 6 2000/06/19 C 5.1 Patch 109491-02
usage: cc [ options] files. Use 'cc -flags' for details
Patch: 109147-34 Obsoletes: 110791-01 Requires: Incompatibles: Packages:
SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWtoo, SUNWtoox, SUNWcsxu, SUNWmdb,
SUNWmdbx, SUNWhea, SUNWbtool, SUNWarc, SUNWbtoox, SUNWosdem
+ make -s
+ ./tclsh doit.tcl
LD_LIBRARY_PATH=.
doit.tcl begin
couldn't load file "xxx": ld.so.1: ./tclsh: fatal: xxx: open failed: No such
file or directory
while executing
"load xxx"
(file "doit.tcl" line 2)
And here is the same script failing on desprez:
desprez:~/build/rel50/src/vendor/tcl/tcl8.4.2/unix $ ./doit
SunOS desprez 5.8 Generic_117350-24 sun4u sparc
cc: Sun WorkShop 6 2000/06/19 C 5.1 Patch 109491-02
usage: cc [ options] files. Use 'cc -flags' for details
Patch: 109147-39 Obsoletes: 110791-01 Requires: Incompatibles: Packages:
SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWcsxu, SUNWtoo, SUNWtoox, SUNWarc,
SUNWbtool, SUNWbtoox, SUNWhea, SUNWmdb, SUNWmdbx, SUNWosdem
+ make -s
+ ./tclsh doit.tcl
LD_LIBRARY_PATH=.
doit.tcl begin
Segmentation Fault - core dumped
desprez:~/build/rel50/src/vendor/tcl/tcl8.4.2/unix $ pstack core
core 'core' of 29002: ./tclsh doit.tcl
ff0331b4 strlen (ffbee678, 14, 4, ffbee768, 1, 10) + 1c
ff30ec98 Tcl_AppendResult (22c08, ff357dd8, 1, ff357df0, ff3df8f8, 0) + 1c
ff3268fc TclpDlopen (22c08, 2ca38, ffbee93c, ffbeeca4, ff326830, 2b198) + cc
This message posted from opensolaris.org