Mike Emmel wrote:
Hi all I'm having a strange problem with the linux port and maybe
someone can help.
The problem is that the macros in
khtml/html/htmlnames.cpp fail under linux
I dumped the cpp code and I'm getting generated code like the following.
new ((void*)&abbrTag) QualifiedName(nullAtom, "abbr", xhtmlNS);
Now when I looked at the constructor for QualifiedName it takes as args
QualifiedName::QualifiedName(const AtomicString& p, const
AtomicString& l, const AtomicString& n)
I've experienced this. I think it's g++-4.0 inlining bug.. It happened
for me also, exactly at "abbr" tag..
In dom_qname.cpp (I don't know if this has been renamed) there's a hash
function
inline unsigned hashComponents(const QualifiedNameComponents& buf)
which I believe will get optimized somehow wrong, and it always hashes
to zero. I got it working by adding printf("%x", hash); before the zero
comparison :)
Doesn't make sense unless the printf disables some optimization. In my
old code there seems also to be 0x80000000u instead of 0x80000000,
which I believe was some sort of hazard at trying to make sure that
signedness+bigendian/little endian differences don't matter..
I know this sounds rediculous, but try it if you don't have any other
clues. My compiler was (GCC) 4.0.2 20050728 (prerelease) [FreeBSD]..
Kimmo
_______________________________________________
webkit-dev mailing list
[email protected]
http://www.opendarwin.org/mailman/listinfo/webkit-dev