aboutsummaryrefslogtreecommitdiff
path: root/frontends/tasm
AgeCommit message (Collapse)Author
2015-06-26Upgrade to yasm 1.3.0.Elliott Hughes
Bug: http://b/22119375 Change-Id: Ie399365eb447436501d711c32d82fe294f353f75
2011-08-27Generate version number information from git history.Peter Johnson
Due to the svn import structure, a special case is currently implemented to look for the 1.1.0 branchpoint instead of the most recent tag on the master branch. This will be removed after the first release is tagged on the master branch in git. Specific details: autogen.sh: More aggressively clean autoconf cache. This is needed to ensure the version number is actually regenerated. Don't generate PACKAGE_PATCHLEVEL or PACKAGE_BUILD variables. The genversion program now parses PACKAGE_VERSION directly. For Mkfiles builds, YASM-VERSION.h is generated and included by the custom config.h. This avoids the need to edit config.h for versioning.
2011-08-19Remove $Id$ and RCSID() usage.Peter Johnson
These are useless now that we're using git.
2010-04-08Update frontend --version copyright dates.Peter Johnson
svn path=/trunk/yasm/; revision=2317
2010-01-03Implement some linemap changes required for the GAS preprocessor.Peter Johnson
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com> - yasm_linemap_set() now takes virtual_line as a parameter, instead of always using linemap->current. If 0 is passed for the virtual_line, then linemap->current is used, as before. This is because linemap->current was only incremented by the parser (and never decremented), so the preprocessor was not able to set mappings during the preprocessing phase (whereas with these changes, it now does). Additionally, setting a mapping for a line number will now delete any existing mappings for line numbers equal or greater to that line number. This allows the code to correctly handle the case when the preprocessor first sets mappings from pre-pp lines to post-pp lines, and later those mappings getting superseded by .line directives in the original source. This change also required making a change to yasm_linemap_lookup() to set *file_line to 0 when line is 0 (i.e. preventing line 0 - which means "don't display line number in output" - from getting mapped). svn path=/trunk/yasm/; revision=2259
2009-05-12Fix #171: Broken build in ytasm CMakeLists.txt.Peter Johnson
Reported by: postmodern.mod3 svn path=/trunk/yasm/; revision=2201
2009-03-24Rename tasm to ytasm in Unix builds.Peter Johnson
We aren't compatible enough to call ourselves the "real" one. svn path=/trunk/yasm/; revision=2183
2008-10-08tasm.c: Don't include unistd.h.Peter Johnson
svn path=/trunk/yasm/; revision=2138
2008-10-07tasm frontend: Fix handling of options >2 chars long.Peter Johnson
Use yasm__strncasecmp instead of manually lowercasing up to two characters. svn path=/trunk/yasm/; revision=2136
2008-10-07tasm frontend: Fix crash with plain /l option.Peter Johnson
svn path=/trunk/yasm/; revision=2135
2008-10-07Add CMakeLists.txt for tasm frontend.Peter Johnson
svn path=/trunk/yasm/; revision=2132
2008-10-07Add core TASM syntax support.Peter Johnson
Contributed by: Samuel Thibault <samuel.thibault@ens-lyon.org> It is built on top of the NASM parser and preproc, with the following notable extensions for TASM syntax: - case insensitive symbols and filenames, - support for segment and size of labels, which permits to avoid giving them on each memory dereference, - support for data reservation (i.e. e.g. "var dd ?"), - support for multiples (i.e. e.g. "var dd 1 dup 10"), - little endian string integer constants, - additional expression operators: shl, shr, and, or, low, high, - additional offset keyword, - additional fword and df, - support for doubled quotes within quotes, - support for array-like and structure-like notations: t[eax] and [var].field, - support for tasm directives: macro, rept, irp, locals, proc, struc, segment, assume. Notes: - Almost all extensions are only effective when tasm_compatible_mode is set, so we should have very reduced possible breakage. - Because the "and" keyword can be an expression operator and an instruction name, the data pseudo-instructions explicitly switch the lexer state to INSTRUCTION state to fix the ambiguity. - In gen_x86_insn.py, several instructions (namely lds and lea) now take relaxed memory sizes. The reason is that in the case of tasm, the size of the actual pointed data is passed up to there, and thus any type of data should be accepted. With all of this, loadlin can be compiled by yasm with quite reduced modifications. A new TASM-like frontend is also included. svn path=/trunk/yasm/; revision=2130