On Wed, 15 Apr 2009 12:53:11 -0400, Tony Harminc wrote:
>
>> AFAIK, all C compilers from ISVs require a prelinker step which, in turn,
>> is highly hostile to processing performed by SMP/E.
>
>Certainly it is, but I'm not sure why compilers need such a step. Can
>you give an example?
>
A reentrant and refreshable program needs to obtain writeable
storage and may need to move an initializing prototype into
that storage.

C allows the initializing prototype to be defined in a
translation unit other than the one containing the main
entry point, and expects that initialization to have
been performed when the main entry point gets control.

A preprocessor is needed to move the initializing code
(GETMAIN; MVCL) from that other translation unit to the
one containing the main entry point.  I suspect (and Dave
Rivers seems to confirm) that there are undocumented
facilities in Binder to facilitate this; in effect a
built-in preprocessor.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to