On Sun, 22 Aug 2021 17:04:20 -0700, Charles Mills wrote:

>Not what you asked, but can one MVCL a load module from one address to
>another and rely on its executing correctly? What about relocatable address
>constants? (Less necessary today than once upon a time due to LARL, but
>still lots of them around.) Of course in some case one might know that the
>load module in question was a table e.g. that had no RLDs.
>
https://en.wikipedia.org/wiki/Position-independent_code

I was once modifying a Pascal compiler to generate code to run embedded,
on bare metal on 370-like processor.  I added the capability to generate
position-independent_code (PIC).  I generated all pointers self-relative,
used by the sequence:
         USING *,R15
             ...
         LA    Rx,POINTER
         AL    Rx,POINTER

Pascal has the limitation, useful in this case, of having no syntax to
statically initialize pointers in data areas.

The MVCL test worked.

For other reasons the product never made GA.

I believed the 360 base-displacement hardware design facilitated PIC,
making RLDs unnecessary; OS designers ignored the capability.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to