News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

bug?

Started by jimg, May 31, 2017, 03:47:34 PM

Previous topic - Next topic

jimg

Assembling the following seems to make uasm and hjwasm crash.
.686
.model Flat, Stdcall
option Casemap :None   ; case sensitive

.data
db 1
LastBit  equ $

.code
Program:
ret
end Program


It works ok in jwasm and ml615.

jj2007

Interesting, but:*** Assemble using \masm32\bin\Hasm32 /c /coff  tmp_file.asm ***
Hasm v2.32, May 16 2017, Masm-compatible assembler.
Portions Copyright (c) 1992-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.

Tmp_File.asm: 12 lines, 2 passes, 0 ms, 0 warnings, 0 errors


Which version did you use? What kind of errors?

aw27

Quote from: jimg on May 31, 2017, 03:47:34 PM
Assembling the following seems to make uasm and hjwasm crash.
.686
.model Flat, Stdcall
option Casemap :None   ; case sensitive

.data
db 1
LastBit  equ $

.code
Program:
ret
end Program


It works ok in jwasm and ml615.

Builds fine with uasm 2.34 but triggers antivirus. Runs fine after setting an exception.

jimg

crashes using version 2.34 of uasm32, test also failed with v2.16 of hjwasm, doesn't crash with uasm64-
Through process of elimination, I've narrowed it down to the -Fl option.
Compile like this:

uasm32 -c -Fl test.asm

jj2007

Confirmed: It's /Fl, and only the 32-bit version crashes.

johnsa

Hi,

This has been fixed in 2.35 and will be available shortly.

Cheers
John

johnsa

The problem is the following piece of code in listing.c

  sprintf( &ll.buffer[idx+2], "%-" PREFFMTSTR I32_SPEC "X", sym->value );

idx = 10 in the case of LastBit  equ $ and PREFMTSTR = 25 in Jwasm up.. which causes a stack over-write as the buffer is only 32 in size. I've fixed this by reducing the size from 25 to 20.
I can see why this doesn't work, but I cannot figure why it would have ever worked in jwasm! it must have been blind luck :)

Nidud you may want to check this on your side as well?

John

jimg

Probably not the last snafu.   I just had to update an app that's been running properly for ten years, up until the last windows 10 update.  (I neglected to clear the carry flag in one place.  Apparently the windows api preceding it always returned with the carry clear until the last update.)

Any idea when it will be updated on the uasm site?  It's still showing 2.34

johnsa

I've put a pre - release out for final testing, you can grab it here so-long if you like :
http://www.terraspace.co.uk/uasm.zip

Just want to make sure that we've covered as many possible testing angles as possible before release as the changes were quite massive.

jimg

Thanks :biggrin:

I have another bug I'll post as a separate thread.