Compiling my own 'yasm' executable
Peter Johnson
peter at tortall.net
Wed May 31 23:41:33 PDT 2006
On Wed, 31 May 2006, Robert Riebisch wrote:
> I found another small 'nasm'-thing, that 'yasm' doesn't support:
> .hd: Db '1' - 80h, ':', ' ' + 80h
> or
> badtext: Db 'Bad partition table!', ' ' + 80h
> This will result in error message "label or instruction expected at
> start of line".
>
> Seems like '' constants mathematics are not allowed so far.
Good catch! The reason for this is that it's hard in the parser to avoid
a conflict between charconst+arith and strings. As the "true" fix is
somewhat hard (to handle multi-char constants), I've commited an initially
easier fix (in r1548) that fixes the single-character case, as this seems
to be the most likely use.
> Another problem:
> I cannot build our http://www.bttr-software.de/products/bootmgr/#down
> :-(
>
> I get "Exiting due to signal SIGABRT" with my minimized
> yasm-r1546.tar.gz DJGPP build or with yasm-r1546-dos.exe/yasm-r1546.exe
> it is:
>
> ***
> c:\tmp\2\yasm.exe -o..\..\bootmgr.com bootmgr.asm
> INTERNAL ERROR at libyasm/bytecode.c, line 284: written length does not
> match op
> timized length
> Abort!
> ***
Unfortunately this one is rather more difficult to fix :(. It's an
optimizer bug exhibiting itself in a nasty way. I'm working on a new
optimizer but it's going to be a little while until it's finished. While
it's possible to work around this by making all of your short jumps near
jumps, I doubt that's a palatable solution for you.
Thanks,
Peter
More information about the yasm-devel
mailing list