Re: [CMake] problem building CMake with clang's -fcatch-undefined-behavior

2012-09-27 Thread Sean McBride
On Tue, 25 Sep 2012 08:34:57 -0400, David Cole said:

>If there really is a problem here, it looks like it comes from the
>structure returned by a call to the "readdir" function which is implemented
>by the system libraries. So if there's a problem here, I don't think it's
>CMake's fault.

You were quite right.  It wasn't a false positive from 
-fcatch-undefined-behavior, but it was an OS X 10.7 bug (fixed in 10.8), not a 
CMake bug.

Sorry for the noise.

Cheers,

-- 

Sean McBride, B. Eng s...@rogue-research.com
Rogue Researchwww.rogue-research.com 
Mac Software Developer  Montréal, Québec, Canada


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] problem building CMake with clang's -fcatch-undefined-behavior

2012-09-25 Thread David Cole
If there really is a problem here, it looks like it comes from the
structure returned by a call to the "readdir" function which is implemented
by the system libraries. So if there's a problem here, I don't think it's
CMake's fault.


On Sat, Sep 22, 2012 at 9:57 PM, Sean McBride wrote:

> Hi all,
>
> My dashboards used to build CMake with clang's -fcatch-undefined-behavior,
> but now they've given it more smarts (to catch more bugs) and now one can't
> build CMake with this flag.
>
> Here's the build failure:
>
> 
>
> It seems, near the end of the build, that the just-built cpack is run to
> do something or other.  This process dies:
>
> $ gdb --args ../bin/cpack --help-full
> /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.txt --help-full
> /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.html --help-full
> /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.1 --help-full
> /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.docbook
>
> (gdb) r
> Starting program: /Users/builder/external/CMake-clang-dbg-x86_64/bin/cpack
> --help-full /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.txt
> --help-full /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.html
> --help-full /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.1
> --help-full
> /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.docbook
> Reading symbols for shared libraries
> ++ done
>
> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand.
> 0x000100fac2e9 in cmsys::Directory::Load (this=0x7fff5fbfba90,
> name=0x101f51c28 "/Users/builder/external/CMake/Modules/") at
> /Users/builder/external/CMake/Source/kwsys/Directory.cxx:223
> 223 this->Internal->Files.push_back(d->d_name);
>
> (gdb) bt
> #0  0x000100fac2e9 in cmsys::Directory::Load (this=0x7fff5fbfba90,
> name=0x101f51c28 "/Users/builder/external/CMake/Modules/") at
> /Users/builder/external/CMake/Source/kwsys/Directory.cxx:223
> #1  0x000100fb158e in cmsys::Glob::ProcessDirectory
> (this=0x7fff5fbfc170, start=0, dir=@0x7fff5fbfbbf0) at
> /Users/builder/external/CMake/Source/kwsys/Glob.cxx:302
> #2  0x000100fb451a in cmsys::Glob::FindFiles (this=0x7fff5fbfc170,
> inexpr=@0x7fff5fbfc168) at
> /Users/builder/external/CMake/Source/kwsys/Glob.cxx:464
> #3  0x000100653545 in cmDocumentation::getDocumentedModulesListInDir
> (this=0x7fff5fbfe8f8, path=@0x7fff5fbfcab8, globExpr=@0x7fff5fbfcab0,
> docedModuleList=@0x7fff5fbfcae8) at
> /Users/builder/external/CMake/Source/cmDocumentation.cxx:771
> #4  0x0001fc9e in main (argc=9, argv=0x7fff5fbff920) at
> /Users/builder/external/CMake/Source/CPack/cpack.cxx:554
>
> (gdb) p name
> $1 = 0x101f51c28 "/Users/builder/external/CMake/Modules/"
>
> (gdb) p *this
> $2 = {
>   Internal = 0x101f51a80
> }
>
> (gdb) p d
> $3 = (struct dirent *) 0x102010664
>
> (gdb) p *d
> $4 = {
>   d_ino = 387485515,
>   d_seekoff = 1769662337112866820,
>   d_reclen = 48,
>   d_namlen = 20,
>   d_type = 8 '\b',
>   d_name = "AutomocInfo.cmake.in
> \000\000\000\000\000\000\000?\032?\030\000\000\000\000\005\000\000\000?\032?\030D\000+\000\
> bBasicConfigVersion-AnyNewerVersion.cmake.in
> \000\000\000\000?\032?\030\000\000\000\000\006\000\000\000?\032?\030D\000(\000\
> bBasicConfigVersion-ExactVersion.cmake.in
> \000\000\000\000\000\000\000?\032?\030\000\000\000\000\a\000\000\000???\032H\000,\000\bBasicConfigVersi"...
> }
>
> It might be a false positive, though I have yet to see any from this tool.
>
> I'm hoping someone that knows the code can see the problem.
>
> Cheers,
>
> --
> 
> Sean McBride, B. Eng s...@rogue-research.com
> Rogue Researchwww.rogue-research.com
> Mac Software Developer  Montréal, Québec, Canada
>
>
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

[CMake] problem building CMake with clang's -fcatch-undefined-behavior

2012-09-22 Thread Sean McBride
Hi all,

My dashboards used to build CMake with clang's -fcatch-undefined-behavior, but 
now they've given it more smarts (to catch more bugs) and now one can't build 
CMake with this flag.

Here's the build failure:



It seems, near the end of the build, that the just-built cpack is run to do 
something or other.  This process dies:

$ gdb --args ../bin/cpack --help-full 
/Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.txt --help-full 
/Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.html --help-full 
/Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.1 --help-full 
/Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.docbook

(gdb) r
Starting program: /Users/builder/external/CMake-clang-dbg-x86_64/bin/cpack 
--help-full /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.txt 
--help-full /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.html 
--help-full /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.1 
--help-full /Users/builder/external/CMake-clang-dbg-x86_64/Docs/cpack.docbook
Reading symbols for shared libraries 
++ done

Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand.
0x000100fac2e9 in cmsys::Directory::Load (this=0x7fff5fbfba90, 
name=0x101f51c28 "/Users/builder/external/CMake/Modules/") at 
/Users/builder/external/CMake/Source/kwsys/Directory.cxx:223
223 this->Internal->Files.push_back(d->d_name);

(gdb) bt
#0  0x000100fac2e9 in cmsys::Directory::Load (this=0x7fff5fbfba90, 
name=0x101f51c28 "/Users/builder/external/CMake/Modules/") at 
/Users/builder/external/CMake/Source/kwsys/Directory.cxx:223
#1  0x000100fb158e in cmsys::Glob::ProcessDirectory (this=0x7fff5fbfc170, 
start=0, dir=@0x7fff5fbfbbf0) at 
/Users/builder/external/CMake/Source/kwsys/Glob.cxx:302
#2  0x000100fb451a in cmsys::Glob::FindFiles (this=0x7fff5fbfc170, 
inexpr=@0x7fff5fbfc168) at 
/Users/builder/external/CMake/Source/kwsys/Glob.cxx:464
#3  0x000100653545 in cmDocumentation::getDocumentedModulesListInDir 
(this=0x7fff5fbfe8f8, path=@0x7fff5fbfcab8, globExpr=@0x7fff5fbfcab0, 
docedModuleList=@0x7fff5fbfcae8) at 
/Users/builder/external/CMake/Source/cmDocumentation.cxx:771
#4  0x0001fc9e in main (argc=9, argv=0x7fff5fbff920) at 
/Users/builder/external/CMake/Source/CPack/cpack.cxx:554

(gdb) p name
$1 = 0x101f51c28 "/Users/builder/external/CMake/Modules/"

(gdb) p *this
$2 = {
  Internal = 0x101f51a80
}

(gdb) p d
$3 = (struct dirent *) 0x102010664

(gdb) p *d
$4 = {
  d_ino = 387485515, 
  d_seekoff = 1769662337112866820, 
  d_reclen = 48, 
  d_namlen = 20, 
  d_type = 8 '\b', 
  d_name = 
"AutomocInfo.cmake.in\000\000\000\000\000\000\000?\032?\030\000\000\000\000\005\000\000\000?\032?\030D\000+\000\bBasicConfigVersion-AnyNewerVersion.cmake.in\000\000\000\000?\032?\030\000\000\000\000\006\000\000\000?\032?\030D\000(\000\bBasicConfigVersion-ExactVersion.cmake.in\000\000\000\000\000\000\000?\032?\030\000\000\000\000\a\000\000\000???\032H\000,\000\bBasicConfigVersi"...
}

It might be a false positive, though I have yet to see any from this tool.

I'm hoping someone that knows the code can see the problem.

Cheers,

-- 

Sean McBride, B. Eng s...@rogue-research.com
Rogue Researchwww.rogue-research.com 
Mac Software Developer  Montréal, Québec, Canada


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake