| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
These are useless now that we're using git.
|
|
|
|
| |
[#216 state:resolved]
|
|
|
|
| |
svn path=/trunk/yasm/; revision=2264
|
|
|
|
| |
svn path=/trunk/yasm/; revision=2256
|
|
|
|
|
|
|
| |
- Don't return self in IntNum.__abs__ (return a copy instead).
- yasm_sym_status enum values have YASM_ prefixes.
svn path=/trunk/yasm/; revision=2255
|
|
|
|
| |
svn path=/trunk/yasm/; revision=2254
|
|
|
|
| |
svn path=/trunk/yasm/; revision=2252
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1951
|
|
|
|
|
|
| |
and Pyrex (only required for bindings) checks.
svn path=/trunk/yasm/; revision=1948
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1927
|
|
|
|
|
|
|
|
|
|
|
| |
parser.
Add testcase for both local labels and .org fill.
Noticed by: Jung Lee <moorang@gmail.com>
Testcase from: Xiaoming Mo <xiaoming.mo@skelix.org>
svn path=/trunk/yasm/; revision=1899
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1747
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1746
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the C function and data structure wrappers for Pyrex. We now require
Pyrex 0.9.5 to build the Python wrappers, as only >=0.9.5 has working
weakref support. We actually need 0.9.5.1, but it's not yet released
(0.9.5 has a crash bug in enum wrapping that we trigger).
Pyxelator works a lot better with non-anonymous enums/structs, so libyasm
has been scrubbed for this.
Next step: full Yasm data structure inspection.
svn path=/trunk/yasm/; revision=1745
|
|
|
|
|
|
| |
enabled.
svn path=/trunk/yasm/; revision=1741
|
|
|
|
|
|
| |
yasm_value.
svn path=/trunk/yasm/; revision=1740
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1739
|
|
|
|
|
|
| |
systems can have important include directories that aren't in INCLUDES.
svn path=/trunk/yasm/; revision=1726
|
|
|
|
|
|
|
| |
generator script. Still needs additional tweaks before it can be tied
into the build.
svn path=/trunk/yasm/; revision=1711
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1710
|
|
|
|
|
|
|
|
|
|
|
|
| |
(sym in other section)-(sym in this section) rather than just
(sym in other section)-(curpos) (e.g. sym-$). Unfortunately supporting
this required precbc to be flowed down to the value_finalize functions,
but it's relatively reasonable to do so, as all of the _finalize() routines
have access to precbc.
Reported by: Peter Tanski <peter_tanski@cox.net>
svn path=/trunk/yasm/; revision=1705
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1703
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1673
|
|
|
|
|
|
|
|
|
| |
with certain combinations.
(2nd half of #83)
This also hides some internals of yasm_expr_level_tree.
svn path=/trunk/yasm/; revision=1655
|
|
|
|
|
|
| |
called out by the python test framework.
svn path=/trunk/yasm/; revision=1601
|
|
|
|
|
|
|
|
| |
from bytecode.len into bytecode.mult_int. Add new function
yasm_bc_next_offset() to handle the most common use case of bytecode.len,
figuring out the following bytecode's offset.
svn path=/branches/new-optimizer/; revision=1586
|
|
|
|
| |
svn path=/branches/new-optimizer/; revision=1567
|
|
|
|
|
|
|
|
|
| |
of PC-relative values.
Add new yasm_value_get_intnum(); this is a simplified variant of
yasm_value_output_basic().
svn path=/branches/new-optimizer/; revision=1560
|
|
|
|
|
|
|
|
|
| |
yasm_common_calc_bc_dist was used. Rename yasm_common_calc_bc_dist to
yasm_calc_bc_dist, call it directly from the expr functions, and change
higher-level callers to boolean flags of whether to calculate bc distance
or not.
svn path=/branches/new-optimizer/; revision=1550
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bytecode multiple output significantly, but this way handles generating
relocations correctly (otherwise extern foo; times 5 dd foo doesn't work!).
* bytecode.h (yasm_bc_tobytes): Remove multiple output parameter.
(yasm_bc_get_multiple): New.
* bytecode.c (yasm_bc_tobytes): Update to iterate through multiple here.
(yasm_bc_get_multiple): New.
* xdf-objfmt.c, elf-objfmt.c, bin-objfmt.c, coff-objfmt.c: Don't iterate
through multiple here.
* nasm-listfmt.c: Use yasm_bc_get_multiple() to get multiple instead of
yasm_bc_tobytes().
* bytecode.pxi: Update.
* tests/win32-relocovfl.asm: Tests both this and [1534] but generates too
huge of a file (3MB) to be put into the automated tests.
svn path=/trunk/yasm/; revision=1536
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(yasm_value_output_func): Remove valsize and shift parameters.
* bytecode.h (yasm_effaddr): Remove disp_len, replacing with
need_nonzero_len.
(yasm_immval): Remove len.
* value.h (yasm_value_initialize): Add size parameter.
(yasm_value_finalize_expr): Likewise.
(yasm_value_output_basic): Remove valsize and shift parameters.
Update all implementations and users for the above.
* intnum.c (yasm_intnum_calc): Fix bug in shift right (was doing a logical
instead of arithmetic shift).
* lc3b-basic.asm, lc3b-basic.errwarn, lc3b-basic.hex: Update based on
fixed warnings.
svn path=/trunk/yasm/; revision=1534
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bytecode outputs just space and not data.
* bytecode.pxi: Update to match.
* bytecode.c (yasm_bc_tobytes): Use reserve flag instead of checking
against bytecode_reserve as special case.
* dwarf2-info.c, dwarf2-line.c, dwarf2-dbgfmt.c, cv-symline.c, cv-type.c,
* stabs-dbgfmt.c, lc3bbc.c, x86bc.c: Update to set reserve=0.
* bc-align.c, bc-insn.c, bc-reserve.c, bc-org.c, bc-incbin.c, bc-data.c,
* bytecode.c: Split out bytecodes into separate files. While we're here,
merge LEB128 into general data bytecode.
svn path=/trunk/yasm/; revision=1532
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1528
|
|
|
|
|
|
| |
Add tests for yasm.Expression and new yasm.ImmVal.
svn path=/trunk/yasm/; revision=1527
|
|
|
|
|
|
|
| |
Fix a double-free problem encountered during this testing.
Redefine symtab.define_special() vis parameter to match symrec.visibility.
svn path=/trunk/yasm/; revision=1526
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1524
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
exception handling. There are now two layers an error or warning goes
through before it hits the user: first an error is logged via
yasm_error_set() (or yasm_warn_set() for a warning). Only one error may
be set, whereas multiple warnings can be set (yasm_warn_set maintains a
linked list). Then, calling yasm_errwarn_propagate() propagates any error
and/or warning(s) to an errwarns structure and associates the
errors/warnings with a line number at that time; this call also clears the
pending errors/warnings and allows new ones to be set. The propagate
function can safely be called when there are no pending error/warnings.
In addition, there are some helper errwarn functions that allow clearing of
an error/warning without propagating, getting it separately, etc.
Still yet to be done: changing most/all uses of yasm_internal_error() into
yasm_error_set(YASM_ERROR_ASSERTION).
The main advantage this change has is making libyasm functions feel much
more library like, and separating the user code line numbers from the inner
function error handling (e.g. intnum create functions only needed the line
number to trigger errors; this is no longer required).
The set/propagate/etc functions use global data structures to avoid passing
around a pointer to every function. This would need to be made thread-local
data in a threaded app. Errwarns containers (that keep associated line
numbers) are no longer global, so multiple source streams can be processed
separately with no conflict (at least if there's only a single thread of
execution).
svn path=/trunk/yasm/; revision=1521
|
|
|
|
|
|
|
| |
Visibility is handled via set of strings.
* test_symrec.py: Test.
svn path=/trunk/yasm/; revision=1503
|
|
|
|
|
|
| |
set, this allows easy manual execution of this script outside of make check.
svn path=/trunk/yasm/; revision=1502
|
|
|
|
|
|
|
|
| |
* python-yasm/tests/Makefile.inc: Pass PYTHON setting down through
TESTS_ENVIRONMENT.
* Makefile.am: Initialize TESTS_ENVIRONMENT to empty.
svn path=/trunk/yasm/; revision=1501
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1499
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1498
|
|
|
|
|
|
| |
framework.
svn path=/trunk/yasm/; revision=1497
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1496
|
|
|
|
|
|
|
|
|
|
|
| |
* symrec.h (yasm_symtab_first, yasm_symtab_next, yasm_symtab_iter_value):
Supporting functions.
* symrec.c (yasm_symtab_first, yasm_symtab_next, yasm_symtab_iter_value):
Implement by passing through to...
* hamt.h (HAMT_first, HAMT_next, HAMTEntry_get_data): New.
* hamt.c (HAMT_first, HAMT_next, HAMTEntry_get_data): Implement.
svn path=/trunk/yasm/; revision=1495
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1494
|
|
|
|
|
|
| |
other cleanups along the lines of intnum.
svn path=/trunk/yasm/; revision=1492
|
|
|
|
|
|
|
|
|
| |
most dictionary functions (but not yet iterator protocol).
* yasm.pyx: Add Py_INCREF, Py_DECREF, malloc, free externals.
* coretype.pxi: Rename c_print to print_, add some missing yasm_expr_op
enum values.
svn path=/trunk/yasm/; revision=1491
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1490
|
|
|
|
| |
svn path=/trunk/yasm/; revision=1489
|