GCC on 370 porting questions

eyal@echo.canberra.edu.au (Eyal Lebedinsky)
Sun, 7 Jul 91 18:12:20 EST

          From comp.compilers

Related articles
GCC on 370 porting questions eyal@echo.canberra.edu.au (1991-07-07)
| List of all articles for this month |

Newsgroups: comp.compilers
From: eyal@echo.canberra.edu.au (Eyal Lebedinsky)
Keywords: GCC, question
Organization: Info Sci & Eng, University of Canberra, AUSTRALIA
Date: Sun, 7 Jul 91 18:12:20 EST

[These arrived as separate messages, but since they're closely related I
have combined them. -John]

-- How to tell GCC to output EBCDIC?
Hello everybody,

I just picked the gcc370 machine description. I wish to cross compile on
an ascii machine with output on ebcdic. The lexer needs to interpret chars
in the target character-set (say 'a' is not 65 but 129 etc.). Is there an
option to tell gcc in config.h (or elsewhere) or must I modify c-parse.y
to convert chars when reading them? If so, is there a version of c-parse
that already has this properly #ifdefed in?

-- How to name asm statics for GCC?

Targeting GCC for the 370 I want to ensure that all static symbols are
names artficialy, say $L1234. This feature is supported for private
(function scope) statics only. I need to do it for ALL static symbols.

Is there a way (short of building my own dictionary whenever gcc emits
a atatic symbol)? The 370 assembly is limited to 8 chars and I want to
avoid the name-shortning approach; there is no debugger who needs to see
the real names anyway.

-- Can GCC be set to target an EBCDIC machine?

I picked the gcc370 stuff and am adjusting it for my environment:
compile on a pc. Run on a 370 (MVS).
I could not see where GCC is told that the target is EBCDIC. It needs
to know that 'a' is NOT 65 but 129, etc.

One way is to zap the chars as they are read in c-parse.y but I am not sure
if the strings read are not later used locally (say 'asm' statements or
pragmas etc.) where they are expected to still be in the local code-set.

-- Static local names

I need the static names to be emited as something like L$123, but GCC
only handles that for private (function scope) statics. My assembler
frowns at long names and I prefer only to handle the essencial ones
(externals and globals). I don't mind for the debugger as the target
does not have one.

Eyal Lebedinsky eyal@ise.canberra.edu.au

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.