Menu

#111 Phase Error?????

closed
nobody
None
1
2008-02-16
2006-05-16
catlover
No

Please get rid of this nondescript error message and
replace it with something understandable or just omit
it altogether.
It may mean something to you developers but it means
nothing to many of us down here in the trenches.

Discussion

  • nasm64developer

    nasm64developer - 2006-05-16
    • priority: 5 --> 1
     
  • nasm64developer

    nasm64developer - 2006-05-16

    Logged In: YES
    user_id=804543

    Traditionally NASM required two passes over the the
    input source code: one to figure out how big all the
    code and data is, and one to actually emit it.

    However, input source code which makes forward re-
    ferences -- e.g. "emit X bytes" where X isn't known
    until afterwards -- requires more than two passes.
    (To be precise: multiple first passes.)

    Hence NASM was updated to support multiple passes.
    Take a look at the -O option for details.

    Now, if you specify more passes than are actually
    needed, then NASM can skip the unnecessary ones.

    By contrast, it will tell you when you didn't give
    it enough passes, and it cannot perform more passes
    than you told it to. That's what a phase error is:
    in essence NASM knows that it needs at least another
    pass, but it won't just go out and perform it.

    That said, the error message could be re-phrased to
    say "phase error: try using -On with a larger n".

     
  • H. Peter Anvin

    H. Peter Anvin - 2008-02-16

    Logged In: YES
    user_id=58697
    Originator: NO

    Phase error between passes can be caused by a number of things, including some odd uses of the preprocessor. It's not likely to get replaced any time soon.

     
  • H. Peter Anvin

    H. Peter Anvin - 2008-02-16
    • status: open --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB