New #XDCLOC8 Macro for Finding XDC Without Using the LOAD Macro

Until now, if your program needed to find a copy of the XDC load module, it had to use z/OS’s LOAD macro. However, if your logic was in an SRB, a space switched PC routine, locked code or other constrained environment where the use of SVCs are disallowed, then you could not use LOAD. Instead, you would have to pre-LOAD XDC at an earlier, non-constrained point in your logic and then squirrel away XDC’s address under a rock somewhere for use later, in your constrained code.

Well, if the XDC load module were located in common storage (on the DLPA queue or in the PLPA), having to use LOAD just to find it was a bit like having to use a sledgehammer to kill a gnat.

Well, no longer! With update DBC-2004A, we are publishing a new macro named #XDCLOC8 which finds XDC simply by running a short control block chain. The only requirement is that the XDC load module must be located in common storage. So…

  • #XDCLOC8 can be used in SRBs, PC routines, FRRs and other SVC-unfriendly environments because it does not use an SVC.
  • #XDCLOC8 can also be used in LOCK’d code since all the cblocks it touches are located in page fixed storage.

For more information, see HELP MACROS #XDCLOC8.