[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference tallis::alpha_migration_tools

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

952.0. "Need help to understand VEST" by HANDVC::STEVELIU () Thu Feb 20 1997 05:11

    
    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.RTitleUserPersonal
Name
DateLines
952.1need help on VESTHANDVC::STEVELIUThu Feb 20 1997 05:2411
    
    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.2Please read AT LEAST the release notesTALLIS::NELSONIt's not the years it's the mileage!Thu Feb 20 1997 10:2815
    	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.3CSC32::BLAYLOCKIf at first you doubt,doubt again.Thu Feb 20 1997 18:156

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.4fails after vestingHANDVC::STEVELIUThu Feb 20 1997 21:5224
    
    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.5OBJ file for proper translation only.CPEEDY::FLEURYFri Feb 21 1997 08:3412
    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.6Puzzle on INITIAL clauseHANDVC::STEVELIUThu Feb 27 1997 23:039
    
    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.7TALLIS::wlfgng.amt.tay1.dec.com::nelsonIt's not the years it's the mileage!Fri Feb 28 1997 09:1324
>    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.8TALLIS::HERDEGMark HerdegFri Feb 28 1997 14:414
This is all an interesting exercise, I guess, but why not just use the Alpha
Cobol compiler?

-Mark