Peter Johnson
3931d43ee0
Add directive() and yasm_objfmt * parameter to initialize().
...
svn path=/trunk/yasm/; revision=878
22 years ago
Peter Johnson
0caa11ff3b
Enable more warnings and perform code cleanups to avoid them.
...
When -Werror is used, disable -Wconversion, because flex-generated code causes
warnings when calling fwrite() and fread().
svn path=/trunk/yasm/; revision=873
22 years ago
Peter Johnson
a8b2d5e2dc
yasm_vp_new() should take a char *, not a const char *.
...
svn path=/trunk/yasm/; revision=872
22 years ago
Peter Johnson
d189020798
Change yasm__conv_unprint to take an int parameter instead of a char (safer).
...
svn path=/trunk/yasm/; revision=871
22 years ago
Peter Johnson
5fcecd3160
Match signedness of loop counters with loop bounds.
...
svn path=/trunk/yasm/; revision=870
22 years ago
Peter Johnson
af39a1017c
Don't redefine NDEBUG if it's already defined.
...
svn path=/trunk/yasm/; revision=862
22 years ago
Peter Johnson
b4e4d080e5
yasm_vp_new() should return its newly created structure!
...
svn path=/trunk/yasm/; revision=861
22 years ago
Peter Johnson
a682e85bd3
Use yasm__mergesort() in expr.c and use correct xmalloc/xfree in mergesort.c.
...
svn path=/trunk/yasm/; revision=852
22 years ago
Peter Johnson
0786a76895
Make libyasm a "real" library, including installing header files.
...
Start separating modules and frontends from libyasm internals.
svn path=/trunk/yasm/; revision=849
22 years ago
Peter Johnson
6e9b9c805c
Minor cleanups (no functional changes) after src split.
...
svn path=/trunk/yasm/; revision=848
22 years ago
Peter Johnson
8b564fbaa4
Split src into frontends, libyasm, and modules (forced commit after repo-copy).
...
svn path=/trunk/yasm/; revision=847
22 years ago
Peter Johnson
84ee559be7
The Great Renaming (prefixing with yasm_), Part 2: allocation functions.
...
svn path=/trunk/yasm/; revision=843
22 years ago
Peter Johnson
d9f68d6d4b
Unmodularize errwarn, while making key errwarn functions replaceable.
...
Also removes dependency of libyasm on libintl (gettext), so it can be linked
-no-undefined now!
svn path=/trunk/yasm/; revision=842
22 years ago
Peter Johnson
9d0fa1135c
The Great Renaming, Part 2: prefix strcasecmp and strncasecmp with yasm__.
...
svn path=/trunk/yasm/; revision=841
22 years ago
Peter Johnson
854ea00a2b
Move yasm_std_errwarn and yasm_std_linemgr into libyasm.
...
svn path=/trunk/yasm/; revision=840
22 years ago
Peter Johnson
288401feff
Refactor list_objfmts() and list_parsers() into module.c.
...
svn path=/trunk/yasm/; revision=839
22 years ago
Peter Johnson
a2e07e1e10
The Great Renaming (prefixing with yasm_), Part 1.
...
svn path=/trunk/yasm/; revision=838
22 years ago
Peter Johnson
d54377029e
bc_new_objfmt_data() was creating a bytecode with the incorrect type.
...
svn path=/trunk/yasm/; revision=837
22 years ago
Peter Johnson
b1faf6329c
Relicense under 2-clause BSD license.
...
svn path=/trunk/yasm/; revision=835
22 years ago
Peter Johnson
49e278893c
Re-license more files under the 3-clause BSD license (mostly header files).
...
svn path=/trunk/yasm/; revision=822
22 years ago
Peter Johnson
d510e21546
Add option for parser to associate input text (after preprocessing) with each
...
line in the linemgr.
svn path=/trunk/yasm/; revision=820
22 years ago
Peter Johnson
49623d5589
Add the "real" NASM preprocessor, and default to it. As NASM is LGPL, no
...
licensing issues with this. All the compiler warnings have been fixed, and
most namespace issues resolved. However, the integration isn't perfect, and
there are probably memory leaks. Note that right now the real NASM preproc
and "compatible" NASM parser share a module. The parser should probably be
renamed to avoid extra loading and code source confusion.
svn path=/trunk/yasm/; revision=800
22 years ago
Peter Johnson
86751029a3
Add va_list versions of error and warning errwarn functions.
...
Required adding stdarg to util.h.
svn path=/trunk/yasm/; revision=798
22 years ago
Peter Johnson
9f6cb6783f
Modularize errwarn. gettext()-ize in errwarn, not in every module, eliminating
...
libintl dependency in modules.
Also standardize initialize() and cleanup() functions.
Move replace_extension() from file.c to main.c.
Clean up some extern variable declarations in various places (particularly
nasm-compatible parser).
svn path=/trunk/yasm/; revision=792
22 years ago
Peter Johnson
f729b9e5d5
initialize() comment fix.
...
svn path=/trunk/yasm/; revision=790
22 years ago
Peter Johnson
2f19ce4ecd
Delete last of global variables by making a line manager and passing around
...
the line index. Fixes some minor line number/error message nits due to
incorrect usage of line_index in old global variable method.
svn path=/trunk/yasm/; revision=787
22 years ago
Peter Johnson
caf89035f8
Remove indent_level global by passing it as a parameter.
...
svn path=/trunk/yasm/; revision=786
22 years ago
Peter Johnson
d6f22c3fce
Dynamically load all modules (preloading some of the default ones).
...
Start reducing global variables for cleaner module separation.
Add rudimentary debug format module interface and "null" debug format.
svn path=/trunk/yasm/; revision=784
22 years ago
Peter Johnson
b59f5507da
Relicense under 3-clause BSD license.
...
svn path=/trunk/yasm/; revision=781
22 years ago
Peter Johnson
4c3bb4a7cc
Get rid of expr_xform_neg_tree(), integrating its functionality into
...
expr_level_tree(). This fixes negative equ's and probably other issues.
This also makes expr_simplify() a macro pointing to expr_level_tree().
svn path=/trunk/yasm/; revision=778
22 years ago
Peter Johnson
e54446905d
Use automake's standard macro for dmalloc instead of rolling our own.
...
svn path=/trunk/yasm/; revision=777
22 years ago
Peter Johnson
326b77c80c
Assume all sys/queue.h implementations are broken, and always use our local
...
one (more implementations are broken than not broken).
svn path=/trunk/yasm/; revision=776
22 years ago
Peter Johnson
2c94e53a91
symrec_data_print() doesn't need to handle a NULL data pointer.
...
svn path=/trunk/yasm/; revision=772
22 years ago
Peter Johnson
fab557b414
Add expr_extract_symrec() to assist in performing relocation output.
...
svn path=/trunk/yasm/; revision=768
22 years ago
Peter Johnson
9d9618eeba
Add offset parameter to output_expr functions (needed for relocation support).
...
svn path=/trunk/yasm/; revision=767
22 years ago
Peter Johnson
8ec46da76c
Combine global/common/extern handling into general of_data in symrec.
...
svn path=/trunk/yasm/; revision=766
22 years ago
Peter Johnson
3714208f36
Change how section of_data is allocated/destroyed, separating it from the
...
sections_switch_general() function.
svn path=/trunk/yasm/; revision=764
22 years ago
Peter Johnson
6707a585b9
Add general objfmt-specific data to symrec.
...
Add delete function for symrec objfmt-specific data to objfmt interface.
Delete declare_data_copy function from objfmt interface (it wasn't being called
from anywhere).
Implement functions missing from dbg objfmt.
svn path=/trunk/yasm/; revision=763
22 years ago
Peter Johnson
d0fa038137
Remove obsolete references to HAVE_GNU_C_LIBRARY which were causing build
...
breakage on some Linux platforms.
svn path=/trunk/yasm/; revision=762
22 years ago
Peter Johnson
c5bfd97db6
Make bytecode and effaddr "data" extensions more portable by including the
...
base structure as the first element in each data structure. Concept taken from
the JPEG library.
svn path=/trunk/yasm/; revision=761
22 years ago
Peter Johnson
88471b0611
bitvect_test doesn't need any sources besides itself and check.
...
svn path=/trunk/yasm/; revision=755
22 years ago
Peter Johnson
4561686fda
Comment spacing fix.
...
svn path=/trunk/yasm/; revision=752
22 years ago
Peter Johnson
920f11a0e5
Add the ability to add an additional transformation function into the execution
...
flow of expr_level_tree(). Feature needed for objfmts/bin upcoming fixes.
svn path=/trunk/yasm/; revision=751
22 years ago
Peter Johnson
79cbfd8a17
Integrate BitVector version 6.3 changes.
...
svn path=/trunk/yasm/; revision=750
22 years ago
Peter Johnson
494ed1738d
Make output endian-tolerant by making intnum and floatnum output functions for
...
arch. This will also simplify other objfmt expr output functions. Change
file functions to use bits instead of byte/short/long, and create both little
and big endian versions. This name change caused changes in several other
files.
svn path=/trunk/yasm/; revision=747
22 years ago
Peter Johnson
878444421b
Use _CFLAGS to eliminate extra CFLAGS (esp. gcov ones) from hitting on the
...
tests.
svn path=/trunk/yasm/; revision=741
22 years ago
Peter Johnson
cefe5613c8
Include src/compat-queue.h as an EXTRA_yasm_SOURCES instead of just EXTRA_DIST.
...
svn path=/trunk/yasm/; revision=740
22 years ago
Peter Johnson
e4411d414d
Make bcs_last() a fully visible function rather than a bc-int macro.
...
svn path=/trunk/yasm/; revision=729
22 years ago
Peter Johnson
de3fb86f35
expr_level_op(): Pull up IDENT-EXPR as well as EXPR-IDENT subtrees.
...
expr_level_tree(): Call recursively after calling expr_xform_bc_dist instead
of just calling expr_level_op, which wasn't simplifying the whole tree
properly.
svn path=/trunk/yasm/; revision=728
22 years ago
Peter Johnson
3466293ed7
bc_tobytes(): Check for multiple of 0 and return with bufsize of 0.
...
svn path=/trunk/yasm/; revision=727
22 years ago