Opened 17 months ago

Last modified 3 days ago

#360 accepted defect

ring0_get_ declares Multics status code parameter incorrectly

Reported by: Gary Dixon Owned by: Gary Dixon
Priority: minor Milestone: MR12.9
Component: Administration Version: MR12.6e
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 (4)

comment:1 by Gary Dixon, 17 months ago

Description: modified (diff)

comment:2 by Gary Dixon, 17 months ago

Description: modified (diff)

comment:3 by Gary Dixon, 4 days ago

Milestone: MR12.9
Version: MR12.6e

MCR10167 will repair this problem in ring0_get_.pl1 declaration of code parameter, and in Syntax lines for code parameter in ring0_get_.info.

Last edited 4 days ago by Gary Dixon (previous) (diff)

comment:4 by Gary Dixon, 3 days ago

Owner: changed from Eric Swenson to Gary Dixon
Status: newaccepted
Note: See TracTickets for help on using tickets.