We recently ran into a problem here with our SunOS 4.1.x machines. We
rebuilt our shared libc.so to include the DNS resolver routines, and
we neglected to create the matching libc.sa file. A bunch of executables
were linked against the new library, and although the SunOS AnswerBook
says this may cause a performance degradation, it actually appears to
tickle a kernel bug which causes the machine to hang after running for
a week to a month.
Since discovering this, I've gotten rather paranoid about breaking any of
the shared library rules, so I tried building perl with lddlflags set to
"-assert nodefinitions -assert pure-text". This caused the ODBM_File and
POSIX extension libraries to fail to build, because the libdbm.a and
libposix.a libraries that are linked into these extensions are not position
independent. I can get around this by making these two extensions static
(and I also built a PIC version of libdb.a). I have not yet come up with
a fix for the Tk extension, which is linked against the non-PIC libm.a.
There is also a potential problem with exported initialized data in
these extension libraries.
--- Truck
rebuilt our shared libc.so to include the DNS resolver routines, and
we neglected to create the matching libc.sa file. A bunch of executables
were linked against the new library, and although the SunOS AnswerBook
says this may cause a performance degradation, it actually appears to
tickle a kernel bug which causes the machine to hang after running for
a week to a month.
Since discovering this, I've gotten rather paranoid about breaking any of
the shared library rules, so I tried building perl with lddlflags set to
"-assert nodefinitions -assert pure-text". This caused the ODBM_File and
POSIX extension libraries to fail to build, because the libdbm.a and
libposix.a libraries that are linked into these extensions are not position
independent. I can get around this by making these two extensions static
(and I also built a PIC version of libdb.a). I have not yet come up with
a fix for the Tk extension, which is linked against the non-PIC libm.a.
There is also a potential problem with exported initialized data in
these extension libraries.
--- Truck