Yasm Assembler mainline development tree (ffmpeg 依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

13 lines
339 B

* expr.c (yasm_expr_extract_symrec): Add "relocate" parameter. Use it to control whether the symbol is replaced with the symbol's value (old behavior), or just replace it with 0 (new optional behavior). The old behavior is enabled by setting relocate=1. * expr.h (yasm_expr_extract_symrec): Likewise (and document new behavior). * elf-objfmt.c (elf_objfmt_output_expr): Use new function (with relocate=1). * coff-objfmt.c (coff_objfmt_output_expr): Likewise. * expr.c (yasm_expr_extract_segment): Renamed to yasm_expr_extract_segoff, a more approprate name given what operator it looks at. * expr.h (yasm_expr_extract_segment): Likewise. * x86bc.c (x86_bc_jmp_tobytes): Use new function name. * expr.c (yasm_expr_extract_seg): New function to remove SEG unary operator. * expr.h (yasm_expr_extract_seg): Likewise. * expr.c (yasm_expr_extract_shr): New function to split SHR operator into left and right halves. * expr.h (yasm_expr_extract_shr): Likewise. * xdf.h: New header file describing the newly added Extended Dynamic Object Format (XDF). Note: GCC-only code. * xdfdump.c: New utility that uses the format described in xdf.h to completely dump an XDF file. Note: non-portable code (runs correctly on little endian machines only). Neither of these files are currently included in the distribution. * xdf-objfmt.c: New YASM objfmt module to output XDF format object files. * modules/objfmts/xdf/Makefile.inc: Add to build. * modules/objfmts/Makefile.inc: Likewise. The XDF object format is a blend between COFF and OMF. It is a very simple object format intended for use by operating system loaders or similar types of targets. It allows shifted relocations (useful for static interrupt or page tables), both flat and segment-relative, and the use of the SEG, WRT, and x86 JMP FAR notations. Test cases will be committed soon. svn path=/trunk/yasm/; revision=1149
20 years ago
# $Id$
pkglib_LTLIBRARIES += objfmt_xdf.la
objfmt_xdf_la_SOURCES = modules/objfmts/xdf/xdf-objfmt.c
objfmt_xdf_la_LDFLAGS = -module -avoid-version -no-undefined
objfmt_xdf_la_LIBADD = libyasm.la
YASM_MODULES += -dlopen objfmt_xdf.la
#EXTRA_DIST += modules/objfmts/xdf/tests/Makefile.inc
#include modules/objfmts/xdf/tests/Makefile.inc