Macro compiler error on Itanium - VMS

This is a discussion on Macro compiler error on Itanium - VMS ; Has anybody here ever seen one of these errors from the Macro compiler on Itanium? Code cell integrity check: Operand literal value out of range: COD INSTRUCTION adds : NEXT=02010770, PREV=01F0CA28, LOCATOR={15155:0-22}, SCOPE=SOME_ROUTINE, MUST_WRITE, IS_DEBUG_PROLOG, UDB=?ACCVIO: 00004070?, OPCODE=4, INSTRUCTION_SLOT=2, OP1=pr0, ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Macro compiler error on Itanium

  1. Macro compiler error on Itanium

    Has anybody here ever seen one of these errors from the Macro compiler
    on Itanium?

    Code cell integrity check:
    Operand literal value out of range:
    COD INSTRUCTION adds : NEXT=02010770, PREV=01F0CA28, LOCATOR={15155:0-22},
    SCOPE=SOME_ROUTINE, MUST_WRITE, IS_DEBUG_PROLOG, UDB=?ACCVIO:
    00004070?, OPCODE=4, INSTRUCTION_SLOT=2, OP1=pr0, OP2=r12, OP3=#-8208,
    OP4=r12;
    for operand 2
    Assertion failure: Compiler internal error - please submit problem report
    %GEM-F-ASSERTION, Compiler internal error - please submit problem report
    %MMK-F-ERRUPD, error status %X19DB800C occurred when updating target
    OBJ$:SOME_PROGRAM.OBJ


    I'm sending a report to John Reagan but curious if there's already some
    know fix/workaround for this.
    --
    VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)COM

    .... pejorative statements of opinion are entitled to constitutional protection
    no matter how extreme, vituperous, or vigorously expressed they may be. (NJSC)

    Copr. 2008 Brian Schenkenberger. Publication of _this_ usenet article outside
    of usenet _must_ include its contents in its entirety including this copyright
    notice, disclaimer and quotations.

  2. Re: Macro compiler error on Itanium

    On 8 okt, 02:06, VAXman- @SendSpamHere.ORG wrote:
    > Has anybody here ever seen one of these errors from the Macro compiler
    > on Itanium?
    >
    > Code cell integrity check:
    > Operand literal value out of range:
    > COD INSTRUCTION *adds *: NEXT=02010770, PREV=01F0CA28, LOCATOR={15155:0-22},
    > * * * * *SCOPE=SOME_ROUTINE, MUST_WRITE, IS_DEBUG_PROLOG, UDB=?ACCVIO:
    > * * * * 00004070?, OPCODE=4, INSTRUCTION_SLOT=2, OP1=pr0, OP2=r12, OP3=#-8208,
    > * * * * OP4=r12;
    > for operand 2
    > Assertion failure: *Compiler internal error - please submit problem report
    > %GEM-F-ASSERTION, Compiler internal error - please submit problem report
    > %MMK-F-ERRUPD, error status %X19DB800C occurred when updating target
    > OBJ$:SOME_PROGRAM.OBJ
    >
    > I'm sending a report to John Reagan but curious if there's already some
    > know fix/workaround for this.
    > --
    > VAXman- A Bored Certified VMS Kernel Mode Hacker * * *VAXman(at)TMESIS(dot)COM
    >
    > ... pejorative statements of opinion are entitled to constitutional protection
    > no matter how extreme, vituperous, or vigorously expressed they may be. (NJSC)
    >
    > Copr. 2008 Brian Schenkenberger. *Publication of _this_ usenet article outside
    > of usenet _must_ include its contents in its entirety including this copyright
    > notice, disclaimer and quotations.


    Brian, I'm pretty sure this is going to be a dialogue between you and
    John :-)
    I just hope that the discussion takes place in c.o.v. for our
    education.
    Even though I can't afford an Itanium yet
    Hans

  3. Re: Macro compiler error on Itanium


    wrote in message
    news:00A80C40.9F03122D@SendSpamHere.ORG...
    > Has anybody here ever seen one of these errors from the Macro compiler
    > on Itanium?
    >
    > Code cell integrity check:
    > Operand literal value out of range:
    > COD INSTRUCTION adds : NEXT=02010770, PREV=01F0CA28,
    > LOCATOR={15155:0-22},
    > SCOPE=SOME_ROUTINE, MUST_WRITE, IS_DEBUG_PROLOG, UDB=?ACCVIO:
    > 00004070?, OPCODE=4, INSTRUCTION_SLOT=2, OP1=pr0, OP2=r12,
    > OP3=#-8208,
    > OP4=r12;
    > for operand 2
    > Assertion failure: Compiler internal error - please submit problem report
    > %GEM-F-ASSERTION, Compiler internal error - please submit problem report
    > %MMK-F-ERRUPD, error status %X19DB800C occurred when updating target
    > OBJ$:SOME_PROGRAM.OBJ
    >
    >


    For those of you keeping score at home, what happened is...

    Brian had a cut-n-paste error like we all do. That resulted in references
    to large offsets from the (AP) when he meant large offsets from (SP).

    Macro then decided to home the argument list for whatever reason (somebody
    taking the address of a parameter or getting the value of AP). It then
    needed to decide how many arguments to home. Since it saw the bogus large
    offset, it wanted to allocate 8208 bytes of stack for the homed argument
    list.

    For those of you who've studied the Itanium instruction set :-), you'll know
    that the literal field of the "adds" instruction cannot handle such a large
    value. So after IMACRO asked for the instruction, the GEM backend was kind
    enough to kick me in the pants and remind me to RTFM.

    The solution is for IMACRO (and probably AMACRO as well) to check for large
    values and print some more meaning full error message like "EH?" or perhaps
    "large offset from (AP) exceeds the largest possible homed argument list".
    I'll pick the more useful message and fix the compiler to be more helpful in
    the future to track down invalid programs.

    John



  4. Re: Macro compiler error on Itanium

    In article <74OdnVsVEJqVK3HVnZ2dnUVZ_vadnZ2d@earthlink.com>, "John Reagan" writes:
    >
    > wrote in message
    >news:00A80C40.9F03122D@SendSpamHere.ORG...
    >> Has anybody here ever seen one of these errors from the Macro compiler
    >> on Itanium?
    >>
    >> Code cell integrity check:
    >> Operand literal value out of range:
    >> COD INSTRUCTION adds : NEXT=02010770, PREV=01F0CA28,
    >> LOCATOR={15155:0-22},
    >> SCOPE=SOME_ROUTINE, MUST_WRITE, IS_DEBUG_PROLOG, UDB=?ACCVIO:
    >> 00004070?, OPCODE=4, INSTRUCTION_SLOT=2, OP1=pr0, OP2=r12,
    >> OP3=#-8208,
    >> OP4=r12;
    >> for operand 2
    >> Assertion failure: Compiler internal error - please submit problem report
    >> %GEM-F-ASSERTION, Compiler internal error - please submit problem report
    >> %MMK-F-ERRUPD, error status %X19DB800C occurred when updating target
    >> OBJ$:SOME_PROGRAM.OBJ
    >>
    >>

    >
    >For those of you keeping score at home, what happened is...
    >
    >Brian had a cut-n-paste error like we all do. That resulted in references
    >to large offsets from the (AP) when he meant large offsets from (SP).


    I discovered this late last evening when checking over the code.
    I had rested the new routine in a standalone program and then I
    copied it from one DECterm window (a session on one system) to
    another DECterm window (a session on yet another system). Any-
    one who has done this has probably experienced the problem of a
    buffer overload when copying overzealous amounts in this fashion
    between DECterm windows. I "fixed" the copied code but typed in
    (AP) instead of (SP) -- one of those typical "I've been hacking
    at this code now for 16 hours" faux pas.



    >Macro then decided to home the argument list for whatever reason (somebody
    >taking the address of a parameter or getting the value of AP). It then
    >needed to decide how many arguments to home. Since it saw the bogus large
    >offset, it wanted to allocate 8208 bytes of stack for the homed argument
    >list.


    Which is correct, one page (8192 bytes) and a few overhead bytes.



    >For those of you who've studied the Itanium instruction set :-), you'll know
    >that the literal field of the "adds" instruction cannot handle such a large
    >value. So after IMACRO asked for the instruction, the GEM backend was kind
    >enough to kick me in the pants and remind me to RTFM.


    I've been heavily thumbing Vol. 3. I also downloaded the Vol. 3.
    PDF from the intel site and printed out, in color, several of the
    tables/figures in the initial pages of Ch. 4 and laminated them.

    When I get some time to, I want to write an SDA extension to take
    some of the instructions apart and display them; especially, those
    with embedded addresses which intel splits into small bundles like
    IMM5c, IMM9d, IMM7b, and sign bits. I'm killing trees drawing it
    out on graph paper.



    >The solution is for IMACRO (and probably AMACRO as well) to check for large
    >values and print some more meaning full error message like "EH?" or perhaps
    >"large offset from (AP) exceeds the largest possible homed argument list".
    >I'll pick the more useful message and fix the compiler to be more helpful in
    >the future to track down invalid programs.


    So next time I see "Eh?" I'll have to remember that I'm not in the
    (X)DELTA debugger or Canada, and that it means too many homies.

    --
    VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)COM

    .... pejorative statements of opinion are entitled to constitutional protection
    no matter how extreme, vituperous, or vigorously expressed they may be. (NJSC)

    Copr. 2008 Brian Schenkenberger. Publication of _this_ usenet article outside
    of usenet _must_ include its contents in its entirety including this copyright
    notice, disclaimer and quotations.

+ Reply to Thread