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

Conference clusta::acms

Title:ACMS comments and questions
Notice:This is not an official software support channel. Kits 5.*
Moderator:CLUSTA::HALLAN
Created:Mon Feb 17 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:4179
Total number of notes:15091

4174.0. "ACms$k_proc_procedure_id link nofixsym??" by KERNEL::PULLEY (Come! while living waters flow) Wed May 28 1997 08:10

Hi,

I've a customer using Alpha VMS v?, ACMS v4.?, Cobol v?.
He's moving code over from VAX on which it's built & running OK.

On Alpha compiled OK, but during link he gets:-
link-e-nofixsym, ... word in psect $local$.
The link complains about his definition which is something like:-
03 filler pic s9(4) comp value extern acms$k_proc_procedure_id.
He's tryed pic s9(9) & s9(18) both of which compile & link but fail during
runtime.

Should that acms$k_proc_procedure_id be defined as part of a structure, or
should be not part of a group (like a level 01)?
The runtime errors when the symbol is Cobol defined like a long or quadword,
feel a bit like he's overwriting memory.

Thanks for any comments or suggestions,
Steve.
T.RTitleUserPersonal
Name
DateLines
4174.1CLUSTA::HALLBill Hall - ACMS Engineering - ZKO2-2Wed May 28 1997 09:054
    
    See note 3910.
    
    Bill
4174.2KERNEL::PULLEYCome! while living waters flowTue Jun 03 1997 06:4011
    I checked note 3910 particularly .2 before & just now.
    I can't see a Cobol header file with the definiton in so I'm assuming
    I need to move it in as in the Macro example.
    I don't really know how to make Cobol understand about that external
    constant.
    
    Is it defined in acmshr as a longword?
    Do I just need to define a pic s9(9) comp value external
    ACMS$K_PROC_PROCEDURE_ID, and move that into the s9(4) field?
    The arguments sizes aren't different on the Alpha are they?
    
4174.3OHMARY::HALLBill Hall - ACMS Engineering - ZKO2-2Tue Jun 03 1997 10:067
    
    From a previous example just posted by UTRTSC::WDEBAKKER,
    
    01  acms$k_proc_procedure_id    PIC S9(09) COMP VALUE EXTERNAL acms$k_proc_procedure_id.
    
    
    	Bill
4174.4KERNEL::PULLEYCome! while living waters flowTue Jun 03 1997 10:4941
    Thanks,
    
    Got it going with defining that long word & moving it into the word.
    E.g.:-
IDENTIFICATION DIVISION.
PROGRAM-ID.	SDM005.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77  RET_STATUS                  PIC S9(09)  COMP.
01  TASK_NAME                   PIC X(30)   VALUE "SDT15_SOD_GROUP_WORKSPACE_TASK".
01  APPL_NAME                   PIC X(09).
01  PROCEDURE_ID                PIC S9(18)  COMP.
01  eakppi                  PIC S9(09)  COMP VALUE EXTERNAL 
                                                 ACMS$K_PROC_PROCEDURE_ID.
01  GPI_ITEM_LIST.
    03  FILLER                  PIC S9(04)  COMP VALUE 8.
    03  akppi                  PIC S9(04)  COMP.
    03  POINTER VALUE REFERENCE PROCEDURE_ID.
    03  FILLER                  PIC S9(09)  COMP VALUE 0.
    03  FILLER                  PIC S9(09)  COMP VALUE 0.
01 WS-CREATION-TIME             PIC X(56)   VALUE SPACES.
01  CALL_ARGUMENTS.
    03  ARG_COUNT               PIC S9(09)  COMP VALUE 3.
    03  FILLER                  PIC S9(09)  COMP VALUE 0.
    03  FILLER                  PIC S9(09)  COMP VALUE 0.
    03  FILLER                  PIC S9(09)  COMP VALUE 0.
PROCEDURE DIVISION.
R-01-SDM005-ROOT SECTION.
P01-10-BEGIN-SDM005-ROOT.
    move eakppi to akppi.
    CALL "ACMS$GET_PROCEDURE_INFO" USING OMITTED,
					 BY DESCRIPTOR TASK_NAME,
					 BY DESCRIPTOR APPL_NAME,
					 BY REFERENCE GPI_ITEM_LIST
				   GIVING RET_STATUS.
    STOP RUN.
P01-99-END-SDM005-ROOT.
    EXIT.
    
    That works on the VAX as well so they are even happier.