Opened 15 months ago

Last modified 15 months ago

#360 new defect

ring0_get_ declares Multics status code parameter incorrectly

Reported by: Gary Dixon Owned by: Eric Swenson
Priority: minor Milestone:
Component: Administration Version:
Keywords: Cc:

Description (last modified by Gary Dixon)

The ring0_get_ subroutine was written in 1976 before Multics status code arguments were upgraded from a fixed bin aligned integer to a fixed bin(35) aligned encoding of a packed pointer. ring0_get_'s code parameter has never been upgraded from:

dcl code fixed bin;

to:

dcl code fixed bin(35);

Therefore, display_entrypoint_dcl (depd) and the emacs pl1dcl function return information about its entrypoint calling sequences ending with an incorrect code parameter declaration.

It would be nice if this program's code argument declaration was changed to correct this problem.

Meanwhile, programs declaring these entrypoints can manually change the declaration of the code argument to fixed bin(35). Storage for both fixed bin aligned and fixed bin(35) aligned values is the same size. This saves the programmer from having to declare an old_style_code variable to prevent the PL1 compiler from passing the normal code variable (fixed bin(35)) by value rather than by reference.

Change History (2)

comment:1 by Gary Dixon, 15 months ago

Description: modified (diff)

comment:2 by Gary Dixon, 15 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.