On 10/09/2015 02:45 PM, H.J. Lu wrote:
What kind of diagnostic message? The ELF linker seems to have managed to do
without for a long time. Is there some discussion of this on the binutils
list that you can point to?

https://groups.google.com/forum/#!topic/generic-abi/_ZPPq_c8FSQ

Hmm, near the end we have this message from Cary:

So I assume that it is incorrect for gcc(1) to mark an undefined function

reference as STT_NOTYPE. I think that is the bug HJ pointed out.

No, I don't think it's incorrect at all. It's merely a
quality-of-implementation issue: setting the undef to STT_FUNC or
STT_OBJECT allows the linker to diagnose a mismatch between reference
and definition, but, traditionally, Unix linkers have always been
happy to bind symbols without checking types, and I'll bet there's
still plenty of code that depends on that.

So there does not appear to be consensus quite yet. Cc'ing Cary in case he has additional input.


Bernd

Reply via email to