Back in December, I was trying to work out why libobjc always compiled differently. Now that I've worked it out, I thought I'd report back (mostly for the archives).
It turns out that the variability is caused by gcc's mechanism for creating a unique name; when a file doesn't contain any programmer defined global names, gcc generates one from the file name and some extra stuff. In gcc 2.95.4, this extra stuff is based on the time and pid; in later versions, it is based on the inode's device, number, and file modification time; and Nathan Sidwell has a patch which simply uses the full path of the file.
Applying his patch (with some minor changes to make it fit 2.95.4), I've now got libobjc consistently building to the same file (apart from the easily handled library index).

Colin Percival


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to