http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
--- Comment #84 from Mike Hommey <mh+gcc at glandium dot org> 2011-04-12 10:53:44 UTC --- (In reply to comment #83) > > I am not sure if this is GCC bug or elfhack, but I would guess for > elfhack actually. > > I guess you're right, because when I move the swap definitions: > > template <class endian, typename R, typename T> > inline void Elf_Ehdr_Traits::swap(T &t, R &r) > ... > > from elf.cpp to elfxx.h (where they actually belong) the > link error vanishes. I'm not convinced they belong there. But wouldn't removing the "inline" keyword work equally well?