This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCC 2.8.1 for i370


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:

#ifdef SINGLE_EXECUTABLE
    {
        int cnt = 0;

        while (commands[i].argv[cnt] != NULL)
        {
            cnt++;
        }
        if (strcmp(string, "cc1") == 0)
        {
            ret_code = toplev_main(cnt, commands[i].argv);
            if (ret_code != 0) break;
        }
     }
#else

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
assembly)?

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.

Thanks. Paul.





rem compile under Watcom for i370
rem goto bypass
wcl386 -I. -Iconfig bi-opcode.c bi-parser.c bi-lexer.c bi-reverse.c
bi-opcode <bytecode.def >bi-opcode.h
bi-opcode <bytecode.def >bc-opcode.h
wcl386 -I. -Iconfig bi-arity.c bi-parser.c bi-lexer.c bi-reverse.c
bi-arity <bytecode.def >bi-arity.h
bi-arity <bytecode.def >bc-arity.h
wcl386 -I. -Iconfig genflags.c rtl.c obstack.c alloca.c
genflags config/i370/i370.md >insn-flags.h
wcl386 -I. -Iconfig gencodes.c rtl.c obstack.c alloca.c
gencodes config/i370/i370.md >insn-codes.h
wcl386 -I. -Iconfig genconfig.c rtl.c obstack.c alloca.c
genconfig config/i370/i370.md >insn-config.h
wcl386 -I. -Iconfig genattr.c rtl.c obstack.c alloca.c
genattr config/i370/i370.md >insn-attr.h
wcl386 -I. -Iconfig genattrtab.c rtl.c obstack.c rtlanal.c alloca.c
genattrtab config/i370/i370.md >insn-attrtab.c
wcl386 -I. -Iconfig genpeep.c rtl.c obstack.c alloca.c
genpeep config/i370/i370.md >insn-peep.c
wcl386 -I. -Iconfig genemit.c rtl.c obstack.c alloca.c
genemit config/i370/i370.md >insn-emit.c
wcl386 -I. -Iconfig genoutput.c rtl.c obstack.c alloca.c
genoutput config/i370/i370.md >insn-output.c
wcl386 -I. -Iconfig genextract.c rtl.c obstack.c alloca.c
genextract config/i370/i370.md >insn-extract.c
wcl386 -I. -Iconfig genopinit.c rtl.c obstack.c alloca.c
genopinit config/i370/i370.md >insn-opinit.c
wcl386 -I. -Iconfig genrecog.c rtl.c obstack.c alloca.c
genrecog config/i370/i370.md >insn-recog.c

del *.obj
rem make gcc
wcl386 -d2 -c -D__GO32__ -DIN_GCC -Dmktemp=atoi -I. -Iconfig gcc.c obstack.c version.c prefix.c choose-t.c alloca.c
wcl386 -d2 -c -D__GO32__ -DIN_GCC -D__MSDOS__ -I. -Iconfig pexecute.c
rem wcl386 -Fe=xgcc.exe gcc.obj obstack.obj version.obj prefix.obj pexecute.obj choose-t.obj alloca.obj


:bypass
rem make cpp
wcl386 -c -I. -Iconfig -D__MSDOS__ -Dmy_strerror=z2 -Dpedantic=z3 -Dfancy_abort=ze -Dpedwarn=zf -Dxmalloc=zg -Dmain=cccp cccp.c
rem goto end
wcl386 -d2 -c -I. -Iconfig -Dyylex=z1 -Dyylval=za -Dyychar=zb -Dyynerrs=zc -Dyyparse=zd -Dpedantic=z3 -Dpedwarn=zf cexp.c
wcl386 -d2 -c -I. -Iconfig prefix.c alloca.c version.c
rem wcl386 -Fe=xcpp.exe cccp.obj version.obj cexp.obj prefix.obj alloca.obj


rem make cc1
wcl386 -d2 -c -D_WIN32 -I. -Iconfig -Dwarning=z6 -Dfancy_abort=z8 -Dxrealloc=z9 -Dxmalloc=z4 -Derror=z5 -Dmain=toplev toplev.c
wcl386 -d2 -c -I. -Iconfig version.c tree.c print-tree.c
wcl386 -d2 -c -I. -Iconfig c-common.c c-iterate.c bc-emit.c bc-optab.c
wcl386 -d2 -c -I. -Derror=z5 -Dwarning=z6 -Iconfig c-parse.c c-lang.c c-lex.c c-pragma.c
wcl386 -d2 -c -I. -Iconfig c-decl.c c-typeck.c c-convert.c c-aux-info.c
wcl386 -d2 -c -I. -Iconfig stor-layout.c fold-const.c function.c stmt.c
wcl386 -d2 -c -I. -Iconfig expr.c expmed.c explow.c optabs.c varasm.c
rem Watcom 10.0 stuffs up the stack in emit_call_1 unless -d2 is used
wcl386 -d2 -c -I. -Iconfig calls.c
wcl386 -d2 -c -I. -Iconfig rtl.c print-rtl.c rtlanal.c emit-rtl.c real.c
wcl386 -d2 -c -I. -Iconfig dbxout.c sdbout.c dwarfout.c xcoffout.c
wcl386 -d2 -c -I. -Iconfig integrate.c jump.c cse.c loop.c
wcl386 -d2 -c -I. -Iconfig unroll.c flow.c stupid.c combine.c
wcl386 -d2 -c -I. -Iconfig regclass.c local-alloc.c global.c
wcl386 -d2 -c -I. -Iconfig reload.c reload1.c caller-save.c
:bypass
wcl386 -d2 -c -I. -Iconfig insn-peep.c reorg.c sched.c final.c
rem goto end
wcl386 -d2 -c -I. -Iconfig recog.c reg-stack.c alloca.c
wcl386 -d2 -c -I. -Iconfig obstack.c insn-opinit.c insn-recog.c
wcl386 -d2 -c -I. -Iconfig insn-extract.c profile.c except.c bitmap.c
wcl386 -d2 -c -I. -Iconfig insn-output.c insn-emit.c
wcl386 -d2 -c -I. -Iconfig insn-attrtab.c convert.c
wcl386 -d2 -c -I. -Iconfig dwarf2out.c
wcl386 -d2 -c -I. -Iconfig getpwd.c


:bypass
wcl386 -d2 -c -I. -Iconfig config\i370\i370.c

:end
wcl386 -d2 -Fe=xgcc.exe -k32768 *.obj


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]