Valid on Alpha and Integrity server systems only.
Modifies the current attributes for the specified image file.
This command can be used to modify the initial values set by the
OpenVMS Integrity servers Linker for certain image attributes.
NOTE
This command can be executed on an Alpha or Integrity
servers system, but it operates only on Integrity servers
images.
Format
SET IMAGE image-filespec
1 – Parameters
image-filespec
Specifies the name of an OpenVMS Integrity servers 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.
2 – Qualifier
2.1 /FLAGS
/FLAGS=(keyword[,...])
Specifies which image attribute flags to turn on or off. The
original flags are set by the OpenVMS Integrity servers 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 VSI 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.
2.2 /LOG
Displays a message to the output device indicating whether the
command successfully modified the image.
2.3 /RESTORE
Restores the original image attributes of the file-that is, the
initial attributes that were set by the OpenVMS Integrity servers
Linker. You cannot specify the /FLAGS or /SUCCESS qualifier when
/RESTORE is used.
2.4 /SUCCESS
Modifies the image link completion code value to SUCCESS. The
run-time behavior of the image remains the same as the original
link.
3 – 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 Integrity servers 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.