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'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.
It is very simple and not a compiler bug, and you are correct that the error is in GetRPath.

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)


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux