Menu

#71 Changes from 1.95 to 2.02

open
nobody
None
1
2011-03-08
2010-03-01
Peter Flass
No

I've just upgraded from 1.95 to 2.02 to install "jwitmann"s patch for weak externs. I'm getting some new errors/warnings.

1. Message A4112 (multiple model directives). I have "-mf" in the command line and .model flat,syscall in the code. Wasn't this fixed previously to ignore the duplicates if they were the same model?
2. Message A2153 (wrong CPU type for 32-bit segment). I have the directive .486P in the code and nothing on the command line. With 2.02 I have to specify the CPU ( "-3", "-4", etc.) on the command line to eliminate this.
3. Message A2090 (segment definition changed: _DATA, alignment). I didn't get this with 1.95. I have a .data directive in the code with no specific alignment. Using "-6" on the command-line eliminates this message. I get para alignment in any case. This is probably related to #2, has the default CPU type assumption changed?

None of these are major problems, but I just thought I'd mention them

Discussion

  • Nobody/Anonymous

    1. no
    2. this is a bug introduced in v1.96. to fix it, change in assemble.c:

    //if (Options.cpu < 3) /* ensure that a 386 cpu is set */
    // Options.cpu = 3;
    if ( ( Options.cpu & P_CPU_MASK ) < P_386 ) /* ensure that a 386 cpu is set */
    Options.cpu = P_386;

    3. alignment of .data segment differs for cpu == .386 (DWORD) and cpu >= .486 (PARA)

    japheth

     
  • japheth

    japheth - 2011-03-08
    • priority: 5 --> 1
     

Log in to post a comment.