I'm not sure, but when I look at the -fascii-ized version of CheckTypeSizeC.o
using my text editor on Windows, I find:
INFO:sizeof[00008]
as I'd expect.
Well, actually I know one answer: the square brackets are a problematic
character, and depend on the codepage. I haven't really looked at the code
otherwise; since -fascii exists, it would seem to me to be the simpler fix. To
get it to work, I added:
IF(ZOS)
SET(MACRO_CHECK_TYPE_SIZE_FLAGS
"${MACRO_CHECK_TYPE_SIZE_FLAGS} -fasciiout")
ENDIF(ZOS)
around line 60 of CheckTypeSize.cmake. Admittedly this is only going to work
with Dignus; OTOH, any *other* z/OS cross-compiler will need some other magic,
plus it's Really Unlikely that anyone else is going to create such a
cross-compiler, so it "feels" safe(ish). Or I suppose a z/OS-specific variable
containing special options could exist, defaulting to -fascii.
...phsiii
-----Original Message-----
From: Alexander Neundorf [mailto:[EMAIL PROTECTED]
Sent: Monday, August 04, 2008 5:50 PM
To: [email protected]
Cc: Phil Smith
Subject: Re: [CMake] FW: cmake newbie questions
On Friday 01 August 2008, Phil Smith wrote:
> Sure, here are two files:
> ctsc.fascii -- CheckTypeSizeC.c compiled with the Dignus -fascii option
> ctsc.nofascii -- CheckTypeSizeC.c compiled without the Dignus -fascii
> option
The file indeed looks different than all object files I have ever seen.
I tried to "translate" it using the encoding given here:
http://en.wikipedia.org/wiki/EBCDIC but that doesn't seem to work. I
get "info_sizeof" instead of "INFO:sizeof" (note the casing the colon which
became an underscore). Why does that happen ?
And according to that table '0' is 0xF0, and the other digits follow. So why
doesn't
'0' + (SIZE % 10)
work to get the correct digit ?
And why are the square brackets missing completely ?
Alex
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake