In GCC 3.4.6, in order to create a single executable called "gcc" that
takes C code and produces assembler, I needed to put this code into gcc.c:
int cnt = 0;
while (commands[i].argv[cnt] != NULL)
if (strcmp(string, "cc1") == 0)
ret_code = toplev_main(cnt, commands[i].argv);
if (ret_code != 0) break;
I've been looking at the only surviving document (see below)
I have from my previous (1998) failed effort to get GCC 2.8.1
to run on MVS (EBCDIC).
It seems to me that in addition to doing a strcmp to cc1, I would
also have needed to do a strcmp to cccp. Can someone confirm
that GCC 2.8.1 and GCC 3.4.6 differ in that respect - ie there
was an extra executable (cccp) in GCC 2.8.1 when doing that
task of converting from C to assember (ie compile only, no
It's unfortunate I don't have a copy of the patches I submitted,
as assuming there was an extra step of going through a ".i"
file or whatever, I'd like to know how I solved that on MVS.
Not sure if GCC has an option to name that temporary file
so that I can change it to dd:work or whatever. Ideally I
could eliminate that temporary file.