HP OpenVMS DCL Dictionary


Previous Contents Index


SET IMAGE (Alpha/I64 Only)

Modifies the current attributes for the specified image file. This command can be used to modify the initial values set by the OpenVMS I64 Linker for certain image attributes.

Note

This command can be executed on an Alpha or I64 system, but it operates only on I64 images.

Format

SET IMAGE image-filespec


Parameters

image-filespec

Specifies the name of an OpenVMS I64 image file to modify. The command overlays the current image file; it does not create a new version of the image file.

The asterisk (*) and percent sign (%) wildcard characters are allowed in the file specification if the /RESTORE qualifier is used. If you omit the file type extension, the default file type .EXE is applied.


Qualifier

/FLAGS=(keyword[,...])

Specifies which image attribute flags to turn on or off. The original flags are set by the OpenVMS I64 Linker at image link time. The possible keywords are listed below with a brief description. For more information about the image link flags, see the HP OpenVMS Version 8.2 Release Notes.

Warning

Beware of modifying the flag values unless you are very knowledgeable about the internals of the image.
Keyword Description
[NO]CALL_DEBUG Call Debugger at startup.
[NO]DBG_IN_DSF Debug records in debug symbol file.
[NO]DBG_IN_IMG Debug records in image file.
[NO]EXE_INIT Image has a pointer to EXE$INITIALIZE.
[NO]IMGSTA Call SYS$IMGSTA.
[NO]INITIALIZE Image has a pointer to LIB$INITIALIZE.
[NO]MAIN Image has a main transfer address.
[NO]MKTHREADS Enable multiple kernel thread use.
[NO]NOP0BUFS No P0 buffers for RMS image I/O.
[NO]P0IMAGE Image is loaded only to P0 space.
[NO]SIGNATURES TIE Signatures are present.
[NO]TBK_IN_DSF Traceback records in debug symbol file.
[NO]TBK_IN_IMG Traceback records in image file.
[NO]UPCALLS User thread upcalls are enabled.

/LOG

Displays a message to the output device indicating whether the command successfully modified the image.

/RESTORE

Restores the original image attributes of the file---that is, the initial attributes that were set by the OpenVMS I64 Linker. You cannot specify the /FLAGS or /SUCCESS qualifier when /RESTORE is used.

/SUCCESS

Modifies the image link completion code value to SUCCESS. The run-time behavior of the image remains the same as the original link.

Examples

#1

$ SHOW IMAGE WARNING
Show Image Version 1.2                   29-SEP-2004 10:15:52.61
WORK1:[SWEENEY.CLIUTL]WARNING.EXE;1
This is an OpenVMS IA64 (Elf format) executable image file
Image Identification Information
                  Image name: WARNING
    Global Symbol Table name: WARNING
   Image file identification: X-6
  Image build identification: <unavailable>
         Link identification: Linker T02-14
              Link Date/Time: 12-JUN-2004 10:15:16.46
             Patch Date/Time: Never
      Manipulation Date/Time: Never
  Image Dynamic Data Version: 1.2
Image Completion Code Value: WARNING  State: Original
Image Link Flags state: Original
               Image Link Flags
     --------------------------------------------
     CALL_DEBUG      : Call debugger
     IMGSTA          : Call SYS$IMGSTA
     MAIN            : Image has main transfer
     TBK_IN_IMG      : Traceback records in image file
     DBG_IN_IMG      : Debug records in image file
$!
$ SET IMAGE/SUCCESS WARNING.EXE
$ SHOW IMAGE WARNING.EXE
Show Image Version 1.2                       29-SEP-2004 11:41:54.93
WORK1:[SWEENEY.CLIUTL]WARNING.EXE;1
This is an OpenVMS IA64 (Elf format) executable image file
Image Identification Information
                  Image name: WARNING
    Global Symbol Table name: WARNING
   Image file identification: X-6
  Image build identification: <unavailable>
         Link identification: Linker T02-14
              Link Date/Time: 12-JUN-2004 10:02:53.51
             Patch Date/Time: Never
      Manipulation Date/Time: 29-SEP-2004 11:26:31.57
  Image Dynamic Data Version: 1.2
Image Completion Code Value: SUCCESS  State: Manipulated
Image Link Flags state: Original
               Image Link Flags
     --------------------------------------------
     CALL_DEBUG      : Call debugger
     IMGSTA          : Call SYS$IMGSTA
     MAIN            : Image has main transfer
     TBK_IN_IMG      : Traceback records in image file
     DBG_IN_IMG      : Debug records in image file
 
      

In this example the SET IMAGE/SUCCESS command is used to change the link completion code value in the image to SUCCESS. The output of the second SHOW IMAGE command displays that the image completion code value has been changed.

#2

$ SHOW IMAGE SYS$SYSTEM:DCE$DCED.EXE
Show Image Version 1.2                       29-SEP-2004 12:40:04.32
SYS$COMMON:[SYSEXE]DCE$DCED.EXE;199
This is an OpenVMS IA64 (Elf format) executable image file
Image Identification Information
                  Image name: DCE$DCED
    Global Symbol Table name: DCE$DCED
   Image file identification: DCE T3.2-040610
  Image build identification: <unavailable>
         Link identification: Linker I01-68
              Link Date/Time: 11-JUN-2004 01:50:11.71
             Patch Date/Time: Never
      Manipulation Date/Time: Never
  Image Dynamic Data Version: 1.1
Image Completion Code Value: SUCCESS  State: Original
Image Link Flags state: Original
               Image Link Flags
     --------------------------------------------
     MAIN            : Image has main transfer
$ SET IMAGE/FLAGS=(MKTH,UPCALL) SYS$SYSTEM:DCE$DCED.EXE
$!
$ SHOW IMAGE SYS$SYSTEM:DCE$DCED.EXE
Show Image Version 1.2                       29-SEP-2004 12:43:34.90
SYS$COMMON:[SYSEXE]DCE$DCED.EXE;1
This is an OpenVMS IA64 (Elf format) executable image file
Image Identification Information
                  Image name: DCE$DCED
    Global Symbol Table name: DCE$DCED
   Image file identification: DCE T3.2-040610
  Image build identification: <unavailable>
         Link identification: Linker I01-68
              Link Date/Time: 11-JUN-2004 01:50:11.71
             Patch Date/Time: Never
         Manipulation Date/Time: 29-SEP-2004 12:43:02.14
  Image Dynamic Data Version: 1.1
Image Link Flags state: Manipulated
     Current Image Flags        Original Link Flags
     -------------------        -------------------
     MKTHREADS                  MAIN
     UPCALLS
     MAIN
     Image Link Flag   Description
     ---------------   -------------------------------------
     MKTHREADS       : Multiple kernel threads enabled
     UPCALLS         : Upcalls enabled
     MAIN            : Image has main transfer
      

The SET IMAGE command in this example shows how to enable multiple kernel threads and thread upcalls in the image SYS$SYSTEM:DCE$DCED.EXE.

#3

$ SHOW IMAGE PATCH.EXE;61
Show Image                               30-SEP-2004 09:06:39.57 
WORK1:[SWEENEY.PATCH]PATCH.EXE;61 
This is an OpenVMS IA64 (Elf format) executable image file 
 
                  Image name: PATCH 
    Global Symbol Table name: PATCH 
              Link Date/Time: 23-SEP-2004 10:22:07.04 
      Manipulation Date/Time: Never 
 
            Link flags state: Original 
 
         Link Flags 
     ------------------ 
     CALL_DEBUG 
     IMGSTA 
     MAIN 
     TBK_IN_IMG 
     DBG_IN_IMG 
$ DEFINE PATCH WORK1:[SWEENEY.PATCH]PATCH.EXE;61
$ PATCH X.LIS
         OpenVMS I64 Debug64 Version 8.2 
 
%DEBUG-I-INITIAL, Language: BLISS, Module: PATMAIN 
 
DBG>Exit 
$ SET IMAGE/FLAGS=NOCALL_DEBUG PATCH.EXE 
$ PATCH X.LIS 
 
 
  OpenVMS PATCH Version 8.2 
 
%PATCH-I-NOGBL, some or all global symbols not accessible 
%PATCH-I-NOLCL, image does not contain local symbols 
PATCH> 
      

This example demonstrates how to modify an image to stop the debugger from being called when the image is initiated. The image PATCH.EXE was linked with debugging enabled. The SET IMAGE /FLAGS=NOCALL_DEBUG command allows the debugger to be bypassed when the image is run.


Previous Next Contents Index