[CMake] FW: cmake newbie questions

Phil Smith phil at voltage.com
Thu Jul 31 16:24:03 EDT 2008


There are executables with z/OS, but they're linkedited and certainly won't run on Windows *at all*.

Since I've never had to understand the format of an object file on Windows, I'm not sure how to answer the second question.  Here's a screenshot of what the CheckTypeSizeC object file looks like after it's been transferred to an EBCDIC system (unprintable characters rendered as blanks):

XSD               ;            @CRT0                                   00000001
XSD                           Ð@CHECKTY                                00000002
XSD                       ^    @checkty                                00000003
XSD                            main                                    00000004
XSD                       ^    info_sizeof                             00000005
TXT               ;main        DCC        î   Ç                        00000006
TXT            °Ö} ì\} ì{}   ì^{  \\Çí\{ å ^ °ó   K õì0{   åØ{  0  å0{ 00000007
TXT   ø           ^ 0  P } } ì}} ì{} ì^{ í{^ ì\} q }  þ&0} & } ì0} ì00 00000008
TXT   y        å00                                                     00000009
TXT   ^        ñ+ã| ËÑ:Á?Ã$     )                                      00000010
RLD                                           ø                        00000011
END                            1DASM01    800508213                    00000012

Note that the "info_sizeof" in this case isn't even followed by a legible length, because the rest of the eyecatcher was still generated in ASCII.  But if I force the -fasciiout flag, I see the "info_sizeof[00008]" in the object.

Hmm, I hacked CheckTypeSize.cmake to force the -fasciiout flag, and verified that it's passing it, but it still fails the same way.  The error is a bit funky:

  file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read.

It isn't at all clear to me where a ".bin" file would come from. I'd expect a .o or something?  What does this error really mean?  I can't seem to find anything on it.

...phsiii
-----Original Message-----
From: Alexander Neundorf [mailto:a.neundorf-work at gmx.net]
Sent: Thursday, July 31, 2008 12:40 PM
To: Phil Smith
Cc: cmake at cmake.org
Subject: Re: [CMake] FW: cmake newbie questions

On Thursday 31 July 2008, Phil Smith wrote:
> When you say "the executable", I assume you mean the object code?  Note
> that this is being compiled for a System z mainframe, so the object won't
> look much like anything you've seen before.  I can send it, but is that
> going to help?

I can't tell without having it seen.
So, are there no "executables" with z/OS ? In which way does the object file
look different than anything I've ever seen ?
Is it easy to detect that the file is EBCDIC ?
Then we could add the detection to cmake, then it would just work (this is
already done e.g. for Intel hex files).

Alex


More information about the CMake mailing list