Ok, that clarifies a bunch. Let me ask the hard question, then: what is this for, other than a very interesting exercise?
-----Original Message----- From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Paul Edwards Sent: Friday, October 24, 2025 8:32 PM To: [email protected] Subject: Re: Win64 x64 EBCDIC mini-clone Oh sure - this is a brand new environment. No software currently exists for it in binary form. But depending on what already exists out there in source form, a simple recompile with the appropriate toolchain, or a simple reassembly, will create the appropriate executables. On the reassembly part - if you have an x64 application written in assembler, thus has embedded strings, which need to be translated to EBCDIC as part of the cross-compilation effort, the assembler, pdas, will need to be rebuilt with the appropriate compile options documented in makefile.std for it. I didn't need to do that for my code, because the C compiler had already translated all strings. BTW - note that I didn't write any of the tools used in the toolchain myself. And even the C library is not embedded in the executable, so I don't have anything much to do with that either. I "only" wrote the OS and its C library that the executables make use of. And I don't own any of that - it's all public domain. And other than gcc, all the tools in the toolchain are public domain too. So they are all welcome to have a life of their own, independent of me. And it's not that difficult to write a complete replacement from scratch either, now that the technique has been proven. Existing binutils could be modified. There are other FAT implementations. Or you don't even need to use FAT. This was just meant to be a starting point, not an ending point. Oh - there's another factor. In order for you to migrate your binary EBCDIC data from the mainframe to Win64-EBCDIC, it needs to be in a form where C can actually handle it on both environments. PDPCLIB on the mainframe has differed from the IBM implementation in two ways in preparation for such migration. 1. RECFM=V binary has the RDWs come through to the C application so that the C application needs to have logic to cope with record lengths. 2. RECFM=U text files have x'15' output to the dataset, and record (block) boundaries are irrelevant. Some people complained about me diverging from IBM's implementation in that respect. Those people are welcome to run their software 50 or 70 or whatever times slower than mine as they are forced to use emulation to process that data on non-IBM hardware. Note that normal RECFM=F binary is the same between PDPCLIB and IBM. And also note that it is trivial to convert between the different formats using the "copyfile" utility I provide, or IDCAMS REPRO, depending on what you're trying to do. The thing that's not trivial is changing non-C90 code that relies on RECFM=V binary to magically provide an unusual value from fread because you are depending on records to be maintained by someone other than your own application. You could change the C library to mimic that behavior though, if that's the route you wish to go. You don't need my permission to do that - I don't own one line of code in that process. Nor does anyone else. (there were other contributors - like Gerhard especially - but they all made their code explicitly public domain). BFN. Paul. On Fri, 24 Oct 2025 19:39:25 -0400, Phil Smith III <[email protected]> wrote: >I mean third-party software. Most people use, ya know, programs they buy? > >-----Original Message----- >From: IBM Mainframe Discussion List <[email protected]> On >Behalf Of Paul Edwards >Sent: Friday, October 24, 2025 2:40 PM >To: [email protected] >Subject: Re: Win64 x64 EBCDIC mini-clone > >I still don't understand. You don't need me. The instructions and tools to >build yourself are already available. > >Start with a "hello, world". That's C90-compliant. I didn't write the first >one of those. > >Work your way up from there. > >BFN. Paul. > > > > >On Fri, 24 Oct 2025 14:31:30 -0400, Phil Smith III <[email protected]> wrote: > >>I mean anything YOU don't (and can't) build. >> >>-----Original Message----- >>From: IBM Mainframe Discussion List <[email protected]> On >>Behalf Of Paul Edwards >>Sent: Friday, October 24, 2025 12:37 PM >>To: [email protected] >>Subject: Re: Win64 x64 EBCDIC mini-clone >> >>On Fri, 24 Oct 2025 12:25:28 -0400, Phil Smith III <[email protected]> wrote: >> >>>I'm fascinated by this effort. I guess what confuses me is what >>>you're going to be able to run on it--surely most/all non-local >>>programs won't be happy? >> >>What is "non-local"? >> >>So long as you conform to the C90 standard, the tools are expected to be put >>in place. And if you're happy to cross-compile, the tools are already there. >> >>If you point me to some C90 source - the sort of thing that can be compiled >>on e.g. both MSDOS and z/OS - I'll see if I can build a Win64 x64 EBCDIC >>executable for you. >> >>BFN. Paul. >> >>---------------------------------------------------------------------- >>For IBM-MAIN subscribe / signoff / archive access instructions, send >>email to [email protected] with the message: INFO IBM-MAIN >> >>---------------------------------------------------------------------- >>For IBM-MAIN subscribe / signoff / archive access instructions, send >>email to [email protected] with the message: INFO IBM-MAIN > >---------------------------------------------------------------------- >For IBM-MAIN subscribe / signoff / archive access instructions, send >email to [email protected] with the message: INFO IBM-MAIN > >---------------------------------------------------------------------- >For IBM-MAIN subscribe / signoff / archive access instructions, send >email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
