svn commit: r1199 - in trunk/yasm: frontends/yasm libyasm modules/objfmts/coff modules/objfmts/win32/tests modules/preprocs/nasm modules/preprocs/raw

peter at tortall.net peter at tortall.net
Sat Jan 29 02:24:24 PST 2005


Author: peter
Date: Sat Jan 29 02:24:23 2005
New Revision: 1199

Added:
   trunk/yasm/modules/objfmts/win32/tests/export.asm
   trunk/yasm/modules/objfmts/win32/tests/export.errwarn
   trunk/yasm/modules/objfmts/win32/tests/export.hex
Modified:
   trunk/yasm/frontends/yasm/yasm.c
   trunk/yasm/libyasm/preproc.h
   trunk/yasm/modules/objfmts/coff/coff-objfmt.c
   trunk/yasm/modules/objfmts/win32/tests/Makefile.inc
   trunk/yasm/modules/preprocs/nasm/nasm-pp.c
   trunk/yasm/modules/preprocs/nasm/nasm-pp.h
   trunk/yasm/modules/preprocs/nasm/nasm-preproc.c
   trunk/yasm/modules/preprocs/nasm/standard.mac
   trunk/yasm/modules/preprocs/raw/raw-preproc.c
Changeset:
   http://www.tortall.net/projects/yasm/changeset/1199
Log:
* coff-objfmt.c (win32_objfmt_directive): New function that implements the
undocumented (in NASM) win32 object format "export" directive.
(yasm_win32_LTX_objfmt): Reference above instead of coff_objfmt_directive.
(coff_objfmt_section_switch): Add support for ".drectve" section.
(coff_objfmt_init_new_section): Refactored from coff_objfmt_section_switch.

* preproc.h (yasm_preproc_module): Add define_builtin for defining macros
before standard.mac macros are processed.
(yasm_preproc_builtin_define): Add prototype and macro to call above.
* raw-preproc.c (raw_preproc_define_builtin): Add (empty).
(yasm_raw_LTX_preproc): Use.
* nasm-preproc.c (nasm_preproc_define_builtin): Add wrapper around new
pp_builtin_define.
(yasm_nasm_LTX_preproc): Use.
* nasm-pp.h (pp_builtin_define): Add prototype.
* nasm-pp.c (builtindef): New list of builtin definitions.
(read_line): Iterate through builtindef.
(pp_builtin_define): Add to builtindef.

* standard.mac: Add wrapper around definition of ORG (only for bin objfmt),
add wrappered EXPORT definition.
* yasm.c (apply_preproc_builtins): Define __YASM_OBJFMT__ to selected objfmt.
(main): Call above in correct places.

* export.asm, export.hex, export.errwarn: New test for use of "export" macro
and directive.





More information about the yasm-cvs mailing list