From: adirtymindisajoyforever on
hi all,

trying to explain this program exit:

ld.so.1: ./testprog: fatal: relocation error: R_SPARC_JMP_SLOT:
unidentifiable procedure
reference: link-map 0xff3f0cd4, offset 0x8e, called from 0x11dd0
Killed

I found that in the mean time a new version of the executable testprog
was created.
It's quit a while I programmed but I remember that such operation (
same as removing
a running process executable) used to fail with: "text file busy".
Why and when the change in this behaviour? System is solaris 9.
Is there a parameter to change the behaviour?

From: Casper H.S. Dik on
"adirtymindisajoyforever" <getridofthespam(a)yahoo.com> writes:

>I found that in the mean time a new version of the executable testprog
>was created.

The binary was overwritten in place so you so the consequences of
memory corruption.

>It's quit a while I programmed but I remember that such operation (
>same as removing
>a running process executable) used to fail with: "text file busy".

Not since SunOS 4.0 with the unified memory and file cache.

>Why and when the change in this behaviour? System is solaris 9.
>Is there a parameter to change the behaviour?

No; but in the next Solaris release we fix "ld" to remove rather than
overwrite the executable; but that won't help if you copy in place.

In the mean time, you can rewrite your build process to remove the
executable before it is overwritten.

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.