Re: compiler bug turning up in cmake package? | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
John Fine wrote:
Ulrich Drepper wrote:It is very simple and not a compiler bug, and you are correct that the error is in GetRPath.It's most certainly not that simple. I haven't looked at the sources. But the asm code does not really correspond to the code above. The function above is most certainly inlined. The problem might very well (and most likely is) in the use of this function. Look at the cmELF::GetRPath() function and where it directly or indirectly uses the Valid function.The code is if(this->Valid() && this->Internal->GetFileType() == cmELF::FileTypeExecutable || this->Internal->GetFileType() == cmELF::FileTypeSharedLibrary) Notice the lack of () around the || lines So that if Valid returns false it then tries this->Internal->GetFileType() == and crashes.
Oops! Ok, that looks consistent with the disassembly, thanks for the analysis! Hehe, someone isn't listening to the 'suggest parentheses' warning I bet ;-). CC'ing gcc-help one last time so those folk know it's resolved, but I imagine we can drop them from any future correspondence.
Obviously this should be fixed upstream, but will we be able to do a patched fedora build before this goes into F10-stable? (And, er, incidentally, so I can install a fixed rpm? Guess I have good timing catching it now, eh? ;-) )
-- Matthew Person A: It's an ISO standard. Person B: ...And that means what? --mal (http://theangryadmin.blogspot.com/2008/04/future.html)
[Linux C Programming] [C Programming] [Kernel List] [eCos] [Fedora Development] [Fedora Announce] [Autoconf] [The DWARVES Debugging Tools] [Yosemite Campsites] [Yosemite News] [Linux GCC] [C++ How to Program]