z/OS MVS Program Management: Advanced Facilities
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


ESD conversion notes (and PM1-PM2 differences)

z/OS MVS Program Management: Advanced Facilities
SA23-1392-00

The numbered items in the following list correspond to the numbers in the Ref column in the above table.
  1. ESD_TYPE in PM2 supports only six record types: SD, ED, LD, PD, PR and ER. The PM1 ESD type values have been moved to the ESD_TYPE_QUAL field.
  2. ESD_TYPE_QUAL contains the PM1 ESD type value, and is used to identify special behavioral characteristics. Routines that process all sections in the same way can now refer to ESD_TYPE only; those that must discriminate between the various section types must also look at the type qualifier.
  3. ESD_NAME_SPACE is a new data element in PM2. It replaces some logic in bind processing and, as a result, gives more binding flexibility to the languages. For binder purposes, a name space is a set of symbols consisting of characters from the binder's character set and contains no duplicate definitions. In the case of a PM1 program object, the buffer is set to one of the following values:
    • 0 - SD and ED entries.
    • 1 - LD and ER entries, and PD/PR entries for external data items.
    • 2 - PD/PR entries representing pseudoregisters and other parts
  4. Alignment, Usability, RMODE and AMODE are unchanged from PM1 values, except that some have been moved to lower level ESD structures:
    • Alignment to ED. PR alignment comes from old PR record.
    • AMODE to LD. Each external label can have its own AMODE, but can be overridden by a referencing ALIAS specification.
    • RMODE to ED. This is necessary for multipart loading.

    All remain as valid SD fields for compatibility, although they are copied to the other record types prior to binding.

  5. ESD_RECORD_FMT is a new data element in PM2. It is used only on the ED record type, and indicates the structure and record length of the data contained in the class being described by the ED record. As such it becomes a class attribute, against which the record length field in any PUTD buffers for that class is validated.
  6. ESD_LOAD_FLAGS is a new data element in PM2. Its purpose is to enable multiclass loading by the program management Loader, and together with RMODE contains the various attributes the loader needs for proper placement of the class segment in storage. Load flags are extracted from input of all sources.
  7. The PM1 format defines ESD_STORAGE value X'10' as representing read-only storage. This field is reduced to a single load flag in PM2, RO, where B'1' means read-only.
  8. Loader attribute NL, if set, indicates that the class segment is not to be loaded with the module.
  9. These are new PM2 data elements.
  10. Bind flags ESD_BIND_FLAGS are new PM2 data elements. In a PM2 program object, they represent binding attributes that are derived from other sources during binding. They control the binding and output processes of the binder. Four flags have been defined, GEND, NO_CLASS, VL and DESCR.
  11. GEND indicates that the defined entity has been generated by the binder. It is used with:
    • SD records for SEGTABs and ENTABs and special sections (X'00000001' and X'00000003').
    • ED records for B_IDRB and B_MAP classes.
    • LD records created by the binder for each CSECT.
    • PD summary records created by the binder for parts.
  12. NO_CLASS indicates that there is no initial data in this class. The element is filled with the fill byte, if specified, during bind and/or load.
  13. VL indicates that the byte stream data consists of varying length records, each preceded by a halfword length field.
  14. DESCR indicates whether the class contains text or descriptive data. Text is byte stream data that can contain or be the target of address constants. Descriptive data is everything else. Both text and descriptive data could be either loaded or not.
  15. ESD_BIND_CNTL contains two data elements needed to control the binding process. Unlike ESD_BIND_FLAGS, this data is provided by the language translator. This field consists of two sub-elements, METH and TEXT_TYPE.
    • Binder control field METH identifies the binding method to be used on the class. It is specified only on the ED record, and should be set to B'00' on other record types for PM2 program objects.
    • The field ESD_TEXT has been reduced to a half-byte field under the name TEXT_TYPE. The data is meaningful only for external references, on the ER and LD records, and allows cursory interface matching during binding. The values represent the type of text that is defined by the label (LD) or expected by the reference (ER) and are:
      • 0 - Unspecified. If either the LD and/or ER have this value, the interface is accepted by the binder.
      • 1 - Data. For data references.
      • 2 - Instructions. For calls.
      • 3-15 - Undefined value for special translator usage.
  16. These are new PM2 data elements. ESD_XATTR_CLASS and ESD_XATTR_OFFSET locate extended attributes for a label (LD) or external reference (ER). On SD, ED, PR and PD records, these fields are meaningless and are set to zero.

    IBM® language products are not currently using signatures, extended attributes, or interface matching.

  17. SIGNATURE is a new data element in PM2. It allows quick interface matching between reference and definition during the binding process, avoiding the invocation of a time-consuming interface validation exit if the signatures match or are not specified.

    IBM language products are not currently using signatures, extended attributes or interface matching.

  18. This is a new PM2 data element. For a PM2 program object, CLASS is displayed on all LD, PD and ER records and should be set to zero on SD and ED. For LD, PD and ER records, it is the data class containing the label or part.
  19. Change of field names: "section" becomes "element", "module" becomes "class".
Table 1. ESD element usage
Element Name SD ED LD PR ER
ESD_NAME R R R R R
ESD_RES_SECT O O O O O
ESD_TARGET         C
ESD_RES_CLASS     R R C
ESD_XATTR_CLASS     O   O
ESD_XATTR_OFFSET     O   O
ESD_LENG   R   R  
ESD_ELEM_OFFSET     R   C
ESD_CLASS_OFFSET   C C C C
ESD_REGION C        
ESD_SEGMENT C        
ESD_TYPE R R R R R
ESD_TYPE_QUAL R       O
ESD_SCOPE     R   R
ESD_NAME_SPACE   R C C R
ESD_RECORD_FMT   R      
ESD_LOAD_FLAGS   R      
ESD_BIND_FLAGS C R C    
ESD_BIND_CNTL   R R   R
ESD_ALIGN O R   R  
ESD_USABILITY R        
ESD_RMODE   R      
ESD_AMODE O   R    
ESD_AUTOCALL         C
ESD_STATUS         C
ESD_SIGNATURE         C
Note: R = Required on input, displayed on output; O = Optional on input, displayed on output; C = Recalculated by Bind.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014