mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-19 18:00:23 +08:00
Fix Borland C++ optimization bug; add test for bad DOS binaries.
This commit is contained in:
parent
a607d27eb9
commit
628168c502
@ -27,13 +27,14 @@
|
||||
|
||||
CC = bcc #compiler
|
||||
# opimizations
|
||||
OPTFLAGS = -d -O1 -Ogmpv -k-
|
||||
OPTFLAGS = -d -O1 -Ogmp -k-
|
||||
# -d = merge duplicate strings
|
||||
# -O1 = optimize for size
|
||||
# -Og = enable global common subexpression elimination
|
||||
# -Om = enable loop invariant removal
|
||||
# -Op = enable constant propagation
|
||||
# -Ov = enable strength-reduction optimization
|
||||
# ** WARNING: DO NOT ENABLE -Ov (strength reduction) ON BORLAND C++ 3.1 **
|
||||
# ** NASM IS KNOWN TO MISCOMPILE WITH -Ov **
|
||||
# -k- = omit stack frames where practical
|
||||
#output formats
|
||||
OUTFORMS = -DOF_ONLY -DOF_BIN -DOF_OBJ -DOF_WIN32 -DOF_AS86
|
||||
|
12
test/testdos.asm
Normal file
12
test/testdos.asm
Normal file
@ -0,0 +1,12 @@
|
||||
;
|
||||
; This file was known to miscompile with the 16-bit NASM built
|
||||
; under Borland C++ 3.1, so keep it around for testing...
|
||||
;
|
||||
; The proper output looks like:
|
||||
;
|
||||
; 00000000 A10300
|
||||
; 00000003 EA0000FFFF
|
||||
;
|
||||
org 0100h
|
||||
mov ax,[3]
|
||||
jmp 0FFFFh:0000
|
Loading…
x
Reference in New Issue
Block a user