Topic
2 replies Latest Post - ‏2013-02-13T15:47:57Z by SystemAdmin
SystemAdmin
SystemAdmin
196 Posts
ACCEPTED ANSWER

Pinned topic Questions on Metal C prolog/epilog requirements

‏2013-01-18T22:07:58Z |
Hello,

The default Metal C prolog and epilog do not satisfy all of my requirements. I understand what must be done to use my own prolog and epilog, but I do have a few questions about what Metal C itself requires to be in the prolog and epilog.

1. Does Metal C or any of its run time library functions depend on the prefix data generated by the default prolog/epilog (example below)?


J     @@CCN@1 @@PFD@@  DC    XL8
'00C300C300D50000'   Prefix Data Marker DC    CL8
'20130116'           Compiled Date YYYYMMDD DC    CL6
'171901'             Compiled Time HHMMSS DC    XL4
'410D0000'           Compiler Version DC    XL2
'0000'               Reserved DC    BL1
'00000000'           Flag Set 1 DC    BL1
'00000000'           Flag Set 2 DC    BL1
'00000000'           Flag Set 3 DC    BL1
'00000000'           Flag Set 4 DC    XL4
'00000000'           Reserved DC    XL8
'00C300C300D50100'   Function Entry Point Marker DC    A(@@FPB@1-*+8)          Signed offset to FPB DC    XL4
'00000000'           Reserved @@CCN@1  DS    0F


2. Does Metal C or any of its run time library functions depend on the function property block generated by the default prolog/epilog (example below)?


@@FPB@1  DS    0F                      Function Property Block DC    XL2
'CCD5'               Eyecatcher DC    BL2
'0000000000000011'   Saved GPR Mask DC    A(@@PFD@@-@@FPB@1)      Signed Offset to Prefix Data DC    BL1
'00000000'           Flag Set 1 DC    BL1
'10000000'           Flag Set 2 DC    BL1
'00000000'           Flag Set 3 DC    BL1
'00000001'           Flag Set 4 DC    XL4
'00000000'           Reserved DC    XL4
'00000000'           Reserved DC    AL2(8) DC    C
'redacted'


3. I have not been able to locate the macro source for the default prolog and epilog. Whether this is important depends on the answers to the first two questions above. Our own code has no need for the above two data areas, and if Metal C does not need them, I would certainly not generate them. However, if they are need by Metal C or its run time, access to the default prolog and epilog would avoid reinventing the wheel when writing macro code to generate these areas. Are the default prolog and epilog available anywhere?

Thanks!

Regards, Gord Tomlin
Updated on 2013-02-13T15:47:57Z at 2013-02-13T15:47:57Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    196 Posts
    ACCEPTED ANSWER

    Re: Questions on Metal C prolog/epilog requirements

    ‏2013-02-13T15:47:20Z  in response to SystemAdmin
    I was able to find the answers to these questions via other avenues within IBM. For anyone looking here for an answer, here is what I learned.

    The Prefix Data Area and the Function Property Blocks are not generated by the default prolog and epilog macros. They are generated by the compiler and there is no way to turn off the generation of these data areas. I am told that these data areas are not required by the Metal C compiler or the Metal C run time library; however, they may already be in use by external tools.

    Regards, Gord Tomlin
  • SystemAdmin
    SystemAdmin
    196 Posts
    ACCEPTED ANSWER

    Re: Questions on Metal C prolog/epilog requirements

    ‏2013-02-13T15:47:57Z  in response to SystemAdmin
    I was able to find the answers to these questions via other avenues within IBM. For anyone looking here for an answer, here is what I learned.

    The Prefix Data Area and the Function Property Blocks are not generated by the default prolog and epilog macros. They are generated by the compiler and there is no way to turn off the generation of these data areas. I am told that these data areas are not required by the Metal C compiler or the Metal C run time library; however, they may already be in use by external tools.

    Regards, Gord Tomlin