| Title: | Alpha Migration Tools - Digital Confidential |
| Notice: | Kits: VEST v1.1A: Note 15.60, mx v1.2-4: Notes 4.23 & 4.24 |
| Moderator: | TALLIS::GORTON |
| Created: | Wed Jun 13 1990 |
| Last Modified: | Mon May 26 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 970 |
| Total number of notes: | 4239 |
Attached is the VAX COBOL source of a program I used to try out using
VEST to translate the VAX image, say P1.EXE and is running fine on
VAX. My VAX system is V6.1.
I run VEST on Alpha (V6.2), after that I got P1_TV.EXE;1 and P1_TV.LIS;1
I try to run P1_TV.EXE;1 on Alpha but I'm getting these run errors,
please explain why the translation fails to produce a runnable Alpha
image.
Behaviour of P1.EXE on VAX :
$ run P1.EXE;1
ENTER WORD
123
321
03 CHARACTERS
Behaviour of P1_TV.EXE;1 on Alpha :
$ run P1_TV.EXE;1
ENTER WORD
123
%COB-F-CANFAIL, CANCEL failed on routine (TESTB)
-SYSTEM-F-PAGOWNVIO, page owner violation
%TRACE-F-TRACEBACK, symbolic stack dump follows
Image Name Module Name Routine Name Line Number rel PC
abs PC
0 93FC5550
93FC5550
TIE$SHARE 0 000592B4
0008B2B4
----- Begin Translated VAX Frames
LIBRTL_D56_T 0 000E7C04
000E7C04
P1_TV 0 00010CC0
00010CC0
P1_TV 0 000103D0
000103D0
P1_TV 0 00010148
00010148
P1_TV 0 00011C08
00011C08
TIE$SHARE 0 00058F04
0008AF04
----- End Translated VAX Frames
0 93FC533C
93FC533C
TIE$SHARE 0 00058E30
0008AE30
0 93FC6170
93FC6170
------------------------VAX COBOL SOURCE-------------------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. TESTA.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 TESTA-DATA GLOBAL.
02 LET-CNT PIC 9(2)V9(2).
02 IN-WORD PIC X(20).
02 DISP-COUNT PIC 9(2).
PROCEDURE DIVISION.
GETIT SECTION.
BEGINIT.
DISPLAY "ENTER WORD".
MOVE SPACES TO IN-WORD.
ACCEPT IN-WORD.
CALL "TESTB" USING IN-WORD LET-CNT.
PERFORM DISPLAYIT.
STOP RUN.
DISPLAYIT SECTION.
SHOW-IT.
DISPLAY IN-WORD.
MOVE LET-CNT TO DISP-COUNT.
DISPLAY DISP-COUNT " CHARACTERS".
IDENTIFICATION DIVISION.
PROGRAM-ID. TESTB INITIAL.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 SUB-1 PIC 9(2) COMP.
01 SUB-2 PIC S9(2) COMP-3.
01 HOLD-WORD.
03 HOLD-CHAR PIC X OCCURS 20 TIMES.
LINKAGE SECTION.
01 TEMP-WORD.
03 TEMP-CHAR PIC X OCCURS 20 TIMES.
01 CHARCT PIC 99V99.
PROCEDURE DIVISION USING TEMP-WORD, CHARCT.
CONVERT-IT SECTION.
STARTUP.
IF TEMP-WORD=SPACES
MOVE 0 TO CHARCT
GO TO GET-OUT.
PERFORM LOOK-BACK
VARYING SUB-1 FROM 20 BY -1
UNTIL TEMP-CHAR (SUB-1) NOT = SPACE.
MOVE SUB-1 TO CHARCT.
MOVE SPACES TO HOLD-WORD.
PERFORM MOVE-IT
VARYING SUB-2 FROM 1 BY 1
UNTIL SUB-1 = 0.
MOVE HOLD-WORD TO TEMP-WORD.
GET-OUT.
EXIT PROGRAM.
MOVE-IT.
MOVE TEMP-CHAR (SUB-1)
TO HOLD-CHAR (SUB-2).
SUBTRACT 1 FROM SUB-1.
LOOK-BACK.
EXIT.
END PROGRAM TESTB.
END PROGRAM TESTA.
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 952.1 | need help on VEST | HANDVC::STEVELIU | Thu Feb 20 1997 05:24 | 11 | |
I forgot to mention that I have tried VEST with
/float=d56_float
/optimize
and without these options and the same failure occurs.
please help.
| |||||
| 952.2 | Please read AT LEAST the release notes | TALLIS::NELSON | It's not the years it's the mileage! | Thu Feb 20 1997 10:28 | 15 |
If you read the release notes, page 6, section 3.14.3, you'll see
that for certain cobol programs (notably those that exhibit this
problem), you need to link your cobol programs with
SYS$LIBRARY:COBRESTVA.OBJ
This will fix the problem. Note that this is true for any cobol
program which uses the IS INITIAL or CANCEL verbs.
Brian
| |||||
| 952.3 | CSC32::BLAYLOCK | If at first you doubt,doubt again. | Thu Feb 20 1997 18:15 | 6 | |
Do you realize that there is a native COBOL compiler for Alpha systems? CLT::COBOL is the notes file for more information. Presuming of course you have access to sources ... | |||||
| 952.4 | fails after vesting | HANDVC::STEVELIU | Thu Feb 20 1997 21:52 | 24 | |
Re: .2
My VAX version runs fine without linking SYS$LIBRARY:COBRESTVA.OBJ.
The COBOL RTL version I used is :
image name: "COBRTL"
image file identification: "COBRTL V5.1-005"
link date/time: 9-MAR-1994 01:49:05.77
linker identification: "05-13"
It is the translated version of the program to Alpha that gives run error.
This program is taken from the VAX COBOL user manual chapter 3.
can someone try out the program and see why it fails after VEST
translation ? thanks.
-sl
| |||||
| 952.5 | OBJ file for proper translation only. | CPEEDY::FLEURY | Fri Feb 21 1997 08:34 | 12 | |
re: .-1
Linking in the .OBJ mentioned earlier will have NO effect on the VAX
version. The inclusion of the obj is REQUIRED for proper translation
of these programs. Without the obj, the message you are getting will
always occur.
Again, the inclusion of the COBRESTVA.OBJ module is for the
translation to work properly.
Dan
| |||||
| 952.6 | Puzzle on INITIAL clause | HANDVC::STEVELIU | Thu Feb 27 1997 23:03 | 9 | |
Later I find out removing INITIAL from here, and recompile the VAX
image, the resulting translated image for Alpha will work :
>> PROGRAM-ID. TESTB INITIAL.
But why ? will there be any side effect with this change ?
sl.
| |||||
| 952.7 | TALLIS::wlfgng.amt.tay1.dec.com::nelson | It's not the years it's the mileage! | Fri Feb 28 1997 09:13 | 24 | |
> Later I find out removing INITIAL from here, and recompile the VAX
> image, the resulting translated image for Alpha will work :
> >> PROGRAM-ID. TESTB INITIAL.
> But why ? will there be any side effect with this change ?
I don't know COBOL (I did once, but that was eons ago), but as I stated in
my earlier note you needed the COBRESTVA object in your vax image when translating
COBOL programs that use certain phrases. We state that IS INITIAL is one of them,
is INITIAL a variant of this? I don't know. But if it is, and you take it out, then
you don't need to link in COBRESTVA anymore.
Sounds to me like what you really need to do is spend some quality time with
the VEST reference guide.
Brian
| |||||
| 952.8 | TALLIS::HERDEG | Mark Herdeg | Fri Feb 28 1997 14:41 | 4 | |
This is all an interesting exercise, I guess, but why not just use the Alpha Cobol compiler? -Mark | |||||