18a366f3a0
file works with libpthread, but when built into libc_r which has a non-weak symbol of the same name, the linker behaves unpredicatably and sometimes links the wrong symbol. The linker behaviour is a byproduct of what the program calls from object to object so it is like winning a lottery if the program actually works. The odds are quite good - 95:1, I think. We need a sure thing, though, so weak symbols can't be used instead of renaming things.