Peter Johnson [Fri, 21 Sep 2007 19:18:15 +0000 (19:18 -0000)]
Revert accidental add of lc3b files to VC Mkfiles on this branch.
svn path=/branches/yasm-0.6.x/; revision=1990
Peter Johnson [Fri, 21 Sep 2007 19:16:38 +0000 (19:16 -0000)]
Merge [1988] from trunk: Mkfiles fixes.
svn path=/branches/yasm-0.6.x/; revision=1989
Peter Johnson [Fri, 21 Sep 2007 18:39:43 +0000 (18:39 -0000)]
Bump 0.6.x branch version to 0.6.3.
svn path=/branches/yasm-0.6.x/; revision=1987
Peter Johnson [Fri, 21 Sep 2007 18:16:28 +0000 (18:16 -0000)]
Merge [1962], [1963], [1971], and [1983] from trunk: NASM2 compatibility
additions.
[1962]: Support oword, do, and reso as aliases for dqword, ddq, and resdq.
[1963], [1971]: Support NASM2 RIP-relative syntax.
The primary difference from NASM2 will be the handling of immediate values
in the "mov reg64, imm" where immediate is unsized; yasm has always
auto-sized this to 32-bit by default, and upsized to 64-bit if necessary
for non-relocated values. NASM2 will default this to 64-bit for all values.
Code expecting to target both with consistent results should explicitly
specify the immediate size.
svn path=/branches/yasm-0.6.x/; revision=1984
Peter Johnson [Fri, 21 Sep 2007 18:06:47 +0000 (18:06 -0000)]
Add some imm64 tests.
svn path=/trunk/yasm/; revision=1983
Peter Johnson [Fri, 21 Sep 2007 18:05:25 +0000 (18:05 -0000)]
Merge [1981] from trunk: missed tests from [1980] commit.
svn path=/branches/yasm-0.6.x/; revision=1982
Peter Johnson [Fri, 21 Sep 2007 18:04:47 +0000 (18:04 -0000)]
Commit tests missed in [1979] commit.
svn path=/trunk/yasm/; revision=1981
Peter Johnson [Fri, 21 Sep 2007 17:56:05 +0000 (17:56 -0000)]
Merge [1979] from trunk: Fix #115 (1<<0 resulted in 0 instead of 1).
svn path=/branches/yasm-0.6.x/; revision=1980
Peter Johnson [Fri, 21 Sep 2007 17:48:17 +0000 (17:48 -0000)]
Fix #115: 1<<0 resulted in 0 instead of 1 (broken in [1900]).
svn path=/trunk/yasm/; revision=1979
Peter Johnson [Fri, 21 Sep 2007 16:59:14 +0000 (16:59 -0000)]
Merge [1966] - [1970] (inclusive) and [1972] from trunk.
These commits add the cpp preproc module, written by Paul Barker.
svn path=/branches/yasm-0.6.x/; revision=1978
Peter Johnson [Fri, 21 Sep 2007 16:48:25 +0000 (16:48 -0000)]
Merge [1937] - [1960] (inclusive) from trunk.
Notable user-visible changes:
- Fixes in CPU features
[1952] Fix #114: Incorrect ELF32 ..gotpc address calculation
[1953] SSE5 support
[1954] IEEE-754r "half precision" (16-bit) float support
svn path=/branches/yasm-0.6.x/; revision=1976
Peter Johnson [Fri, 21 Sep 2007 16:39:24 +0000 (16:39 -0000)]
Merge [1929], [1930], [1931], and [1932] from trunk.
These break apart perfect hash generation from x86 specifics.
svn path=/branches/yasm-0.6.x/; revision=1975
Peter Johnson [Fri, 21 Sep 2007 16:37:01 +0000 (16:37 -0000)]
Merge [1883] - [1913] (inclusive) from trunk.
Notable user-visible changes:
[1898] Support for GAS local labels
[1899] Support for second parameter (fill value) to .org in GAS
[1902] Add command-line option aliases for -d (to -D) and -u (to -U)
[1903], [1905] Bugfixes in HAMT (symbol table handling)
[1909] Add support for LZCNT, POPCNT, EXTRQ, INSERTQ, MOVNTSD, MOVNTSS
svn path=/branches/yasm-0.6.x/; revision=1974
Peter Johnson [Fri, 21 Sep 2007 16:10:16 +0000 (16:10 -0000)]
Expand tabs to spaces ([1825] and [1826] from trunk).
Combined with the past commits, this brings this branch up to match
the trunk at [1878].
svn path=/branches/yasm-0.6.x/; revision=1973
Peter Johnson [Fri, 21 Sep 2007 06:56:02 +0000 (06:56 -0000)]
Remove yapp-preproc.c from list of files to scan for gettext.
svn path=/trunk/yasm/; revision=1972
Peter Johnson [Thu, 20 Sep 2007 05:15:29 +0000 (05:15 -0000)]
Follow NASM after all in only turning off default RIP-rel for FS and GS,
not all segment registers. FS and GS are the only ones which can have
a segment base != 0.
svn path=/trunk/yasm/; revision=1971
Peter Johnson [Thu, 20 Sep 2007 04:24:46 +0000 (04:24 -0000)]
Autoconfize cpp program name and popen. This commit inactivates cpp in the
VC build files, as there's no popen.
svn path=/trunk/yasm/; revision=1970
Peter Johnson [Thu, 20 Sep 2007 04:23:48 +0000 (04:23 -0000)]
Finish cleanups made in [1967].
svn path=/trunk/yasm/; revision=1969
Peter Johnson [Thu, 20 Sep 2007 03:58:31 +0000 (03:58 -0000)]
Update Mkfiles to add new cpp module.
svn path=/trunk/yasm/; revision=1968
Peter Johnson [Thu, 20 Sep 2007 03:55:17 +0000 (03:55 -0000)]
Fix a couple of warnings (non-prototype functions).
svn path=/trunk/yasm/; revision=1967
Peter Johnson [Thu, 20 Sep 2007 03:54:36 +0000 (03:54 -0000)]
Merge r1916-r1961 (cpp preproc module) from multiarch into trunk.
Contributed by: Paul Barker
svn path=/trunk/yasm/; revision=1966
Peter Johnson [Wed, 19 Sep 2007 07:47:10 +0000 (07:47 -0000)]
Support NASM's upcoming RIP-relative syntax, with a few differences.
This adds a "default" directive that takes either "rel" or "abs". This
sets whether the default mode for simple displacements is RIP-relative (rel)
or not (abs). The default without a directive is "abs".
Also added is corresponding "rel" and "abs" effective address modifiers
to override whatever default is set:
[rel label] is RIP-relative
[abs label] is not.
In default rel mode, [label] defaults to the former, in default abs mode,
the latter. Also, segment overrides (note difference from NASM below) are
abs regardless of mode, unless explicitly overridden with rel:
[fs:label] is always abs
[rel fs:label] is always rel
However, we have a number of differences from NASM in this handling due to
what I feel to be yasm's more sane handling of [dword ...] and [qword ...].
In yasm, these set the displacement size, rather than the address size; the
latter is set using a a32/a64 prefix. I feel this is more sane as in 64-bit
mode the two can be different in the MovOffs (A0/A1 mov *ax) case.
Also, yasm disables default-rel mode if any segment register is used, not
just FS or GS as NASM currently does.
See modules/arch/x86/tests/riprel1.asm and
modules/arch/x86/tests/riprel2.asm for examples, as well as my recent
posting to the nasm-devel mailing list on SF.
svn path=/trunk/yasm/; revision=1963
Peter Johnson [Wed, 19 Sep 2007 02:52:33 +0000 (02:52 -0000)]
Support "oword", "do", and "reso" as aliases for "dqword", "ddq", and
"resdq" respectively, for compatibility with NASM (sigh).
svn path=/trunk/yasm/; revision=1962
paulbarker [Tue, 18 Sep 2007 12:41:57 +0000 (12:41 -0000)]
* Added code to the cpp module to pass include directories to the cpp program.
* Marked a string for gettext.
* Fixed a comment error.
svn path=/branches/multiarch/; revision=1961
Peter Johnson [Tue, 18 Sep 2007 08:34:57 +0000 (08:34 -0000)]
Make Python messages a little less threatening.
Suggested by: Brian Gladman
svn path=/trunk/yasm/; revision=1960
Peter Johnson [Tue, 18 Sep 2007 05:38:06 +0000 (05:38 -0000)]
Remove unused variable.
svn path=/trunk/yasm/; revision=1959
Peter Johnson [Tue, 18 Sep 2007 05:22:07 +0000 (05:22 -0000)]
Fix VC++ build order dependencies.
Patch by: mu@
svn path=/trunk/yasm/; revision=1958
Peter Johnson [Tue, 18 Sep 2007 02:33:31 +0000 (02:33 -0000)]
Ensure Python is available before trying to run gen_x86_insn.py.
Use registry key search to avoid version/location dependency.
Noticed by: Brian Gladman <brg@gladman.plus.com>
svn path=/trunk/yasm/; revision=1957
Peter Johnson [Mon, 17 Sep 2007 03:42:01 +0000 (03:42 -0000)]
Include ctype.h into files that now use tolower().
svn path=/trunk/yasm/; revision=1956
Peter Johnson [Mon, 17 Sep 2007 02:58:05 +0000 (02:58 -0000)]
Make CPU feature flags and registers case insensitive again.
This was accidentally removed in [1929].
Add test case for these so it doesn't happen again.
svn path=/trunk/yasm/; revision=1955
Peter Johnson [Sun, 16 Sep 2007 20:41:16 +0000 (20:41 -0000)]
Add support for IEEE-754r "half precision" (16-bit) float format.
This format is used by SSE5.
Update minor tests; more extensive tests will be added soon.
svn path=/trunk/yasm/; revision=1954
Peter Johnson [Sun, 16 Sep 2007 20:29:59 +0000 (20:29 -0000)]
Add SSE5 (new AMD SSE) instructions support.
svn path=/trunk/yasm/; revision=1953
Peter Johnson [Sat, 15 Sep 2007 06:40:27 +0000 (06:40 -0000)]
Fix #114: Incorrect ELF32 ..gotpc address calculation.
Reported by: Loren Merritt
Fix by: mu@
We already had a testcase for this, but it had an incorrect "golden" result.
svn path=/trunk/yasm/; revision=1952
Peter Johnson [Fri, 14 Sep 2007 05:19:10 +0000 (05:19 -0000)]
Finish cleanup made in [1948].
svn path=/trunk/yasm/; revision=1951
Peter Johnson [Thu, 13 Sep 2007 07:26:17 +0000 (07:26 -0000)]
Switch x86 operand storage from manual bitfields to C structure bitfields.
svn path=/trunk/yasm/; revision=1950
Peter Johnson [Thu, 13 Sep 2007 06:35:24 +0000 (06:35 -0000)]
Change modifiers from a prioritized shifted sequence into an ordered array.
Move GAS suffixes to a separate field in x86_insn_info rather than
having them embedded in the modifier field.
svn path=/trunk/yasm/; revision=1949
Peter Johnson [Thu, 13 Sep 2007 02:53:30 +0000 (02:53 -0000)]
Now that part of the build uses just Python, break apart the Python
and Pyrex (only required for bindings) checks.
svn path=/trunk/yasm/; revision=1948
Peter Johnson [Wed, 12 Sep 2007 07:11:42 +0000 (07:11 -0000)]
Add Id tag.
svn path=/trunk/yasm/; revision=1947
Peter Johnson [Wed, 12 Sep 2007 07:10:26 +0000 (07:10 -0000)]
Now that we have more cpu feature bits, properly document SSE4a as such.
Also correct name of k8 chip (clawhammer) and add venice, k10 processors.
svn path=/trunk/yasm/; revision=1946
Peter Johnson [Wed, 12 Sep 2007 06:55:51 +0000 (06:55 -0000)]
Restructure x86 CPU handling to allow for more than 30 CPU feature flags.
svn path=/trunk/yasm/; revision=1945
Peter Johnson [Wed, 12 Sep 2007 04:15:33 +0000 (04:15 -0000)]
Run gen_x86_insn.py from vc and vc8 builds.
Users who build out of SVN will need to install Python, but this is painless even for
Windows users
(go to http://www.python.org/download/ and download and install the appropriate MSI)
Delete generated files from SVN; these are massive and annoying to keep updated
(massive diffs).
svn path=/trunk/yasm/; revision=1944
Peter Johnson [Tue, 11 Sep 2007 04:49:53 +0000 (04:49 -0000)]
Shrink the size of the x86_insn_info structure, particularly on 64-bit
systems, by combining operand lists into a single array (and trying to find
overlaps where possible). This saves about 4K even on a 32-bit system.
Also shrink the generated gperf code by outputting the number of info
structures directly rather than using NELEMS().
svn path=/trunk/yasm/; revision=1943
Peter Johnson [Tue, 11 Sep 2007 02:11:19 +0000 (02:11 -0000)]
Now that genperf takes an output filename, change informational outputs
to stdout instead of stderr.
svn path=/trunk/yasm/; revision=1942
paulbarker [Mon, 10 Sep 2007 10:46:31 +0000 (10:46 -0000)]
Added dependency generation to cpp module.
svn path=/branches/multiarch/; revision=1941
paulbarker [Mon, 10 Sep 2007 10:17:19 +0000 (10:17 -0000)]
Delayed destruction of arguments list until cpp_preproc_destroy() in cpp module.
svn path=/branches/multiarch/; revision=1940
Peter Johnson [Mon, 10 Sep 2007 07:15:50 +0000 (07:15 -0000)]
Change genperf to take input and output filenames rather than outputting to
standard output. This makes for better error handling behavior with make
(redirecting the standard output could leave empty files behind on error).
svn path=/trunk/yasm/; revision=1939
Peter Johnson [Mon, 10 Sep 2007 07:03:53 +0000 (07:03 -0000)]
Check in generated files from the Python script added in [1937].
While I prefer not to have generated files in the source repository,
do this for now in the interest of sanity on the Windows side (to allow
building directly from a SVN checkout).
An alternative might be to require Python on Windows when building from
SVN. If at some point we decide to go that route, it will be easy enough
to remove these files and add the necessary bits to Mkfiles/vc and
Mkfiles/vc8.
svn path=/trunk/yasm/; revision=1938
Peter Johnson [Mon, 10 Sep 2007 06:59:47 +0000 (06:59 -0000)]
Change x86 instruction tables to be automatically generated.
This combines the C and perfect hash tables into a single source file,
and allows for easier future changes to the source-level structures.
The Python-built files are included in the distribution so that Python
is not added as a dependency.
The generated code has been verified equal against the old tables,
excepting a number of bugfixes.
Most of the bugs fixed are in the CPU field, plus a few GAS suffix fixes.
svn path=/trunk/yasm/; revision=1937
paulbarker [Sun, 9 Sep 2007 17:09:38 +0000 (17:09 -0000)]
Fixed missing semicolon in file.h due to mistake when committing r1935.
svn path=/branches/multiarch/; revision=1936
paulbarker [Sun, 9 Sep 2007 11:51:08 +0000 (11:51 -0000)]
Changed gas parser to only pass the first cpp line marker onto the debugging module.
svn path=/branches/multiarch/; revision=1935
paulbarker [Sun, 9 Sep 2007 11:49:25 +0000 (11:49 -0000)]
Added yasm_get_include_dir() function.
svn path=/branches/multiarch/; revision=1934
Peter Johnson [Sat, 8 Sep 2007 02:19:33 +0000 (02:19 -0000)]
Re-enable lc3b in flat Mkfiles.
svn path=/trunk/yasm/; revision=1933
Peter Johnson [Sat, 8 Sep 2007 02:13:25 +0000 (02:13 -0000)]
Windows build fixes:
* modules.vcproj: Add x86cpu.c, x86regtmod.c, and lc3b arch files to fix build.
* x85geninsn.c: Clean up a couple of unused variables.
* genperf.c: Use sprintf instead of snprintf; convert filename backslashes to slashes.
svn path=/trunk/yasm/; revision=1932
Peter Johnson [Sat, 8 Sep 2007 01:34:51 +0000 (01:34 -0000)]
Fix a couple of Doxygen nits.
svn path=/trunk/yasm/; revision=1931
Peter Johnson [Sat, 8 Sep 2007 00:04:08 +0000 (00:04 -0000)]
Bring Mkfiles up to date with [1929].
svn path=/trunk/yasm/; revision=1930
Peter Johnson [Fri, 7 Sep 2007 22:05:33 +0000 (22:05 -0000)]
Break apart perfect hash lookup generation and x86 arch-specific
instruction handling.
Use the GNU gperf file format, but continue to use our custom minimal
perfect hash generator.
svn path=/trunk/yasm/; revision=1929
Peter Johnson [Fri, 7 Sep 2007 22:03:34 +0000 (22:03 -0000)]
Unbreak distcheck in lc3b tests.
svn path=/trunk/yasm/; revision=1928
Peter Johnson [Fri, 7 Sep 2007 21:49:35 +0000 (21:49 -0000)]
Unbreak distcheck when Python is available by pulling in bitvect.h.
svn path=/trunk/yasm/; revision=1927
paulbarker [Mon, 3 Sep 2007 20:20:40 +0000 (20:20 -0000)]
Added code to gas parser to handle line markers produced by cpp.
svn path=/branches/multiarch/; revision=1926
paulbarker [Sat, 1 Sep 2007 20:11:11 +0000 (20:11 -0000)]
* Marked message strings so gettext can find them.
* Updated POTFILES.in
svn path=/branches/multiarch/; revision=1925
paulbarker [Thu, 30 Aug 2007 21:27:10 +0000 (21:27 -0000)]
Tiny documentation fix for recent changes in the preprocessor create() inteface.
svn path=/branches/multiarch/; revision=1924
paulbarker [Thu, 30 Aug 2007 21:08:33 +0000 (21:08 -0000)]
Removed FILE* argument from preprocessor create() interface. The preprocessor now opens the input file itself.
svn path=/branches/multiarch/; revision=1923
paulbarker [Thu, 30 Aug 2007 21:00:38 +0000 (21:00 -0000)]
Removed FILE* argument from parser interface. The FILE* given was simply stored and never used.
svn path=/branches/multiarch/; revision=1922
paulbarker [Thu, 30 Aug 2007 19:36:57 +0000 (19:36 -0000)]
Changed cpp module to destroy the argument list and free the memory it uses.
svn path=/branches/multiarch/; revision=1921
paulbarker [Thu, 30 Aug 2007 11:39:15 +0000 (11:39 -0000)]
Modified cpp module to read directly from the preprocessor using a pipe, rather than storing the output in a temporary file.
svn path=/branches/multiarch/; revision=1920
paulbarker [Wed, 29 Aug 2007 15:40:09 +0000 (15:40 -0000)]
Simplified cpp module, re-structuring much of the code and improving comments.
svn path=/branches/multiarch/; revision=1919
paulbarker [Wed, 29 Aug 2007 14:08:19 +0000 (14:08 -0000)]
Fixed yasm frontend to call the correct wrappers (yasm_preproc_create and yasm_arch_create) rather than directly calling members of the preproc and arch modules.
svn path=/branches/multiarch/; revision=1918
paulbarker [Wed, 29 Aug 2007 12:23:39 +0000 (12:23 -0000)]
Cleaned up cpp_invoke() function and removed call to asprintf().
svn path=/branches/multiarch/; revision=1917
paulbarker [Wed, 29 Aug 2007 11:33:05 +0000 (11:33 -0000)]
Initial version of cpp module (on multiarch branch).
svn path=/branches/multiarch/; revision=1916
Peter Johnson [Mon, 20 Aug 2007 05:16:33 +0000 (05:16 -0000)]
Merge [1912], [1913], [1914] into multiarch branch.
svn path=/branches/multiarch/; revision=1915
Peter Johnson [Mon, 20 Aug 2007 05:13:35 +0000 (05:13 -0000)]
Unbitrot lc3b architecture.
Requested by: Paul Barker <paulbarker@mailsnare.net>
svn path=/trunk/yasm/; revision=1914
Peter Johnson [Mon, 20 Aug 2007 05:11:11 +0000 (05:11 -0000)]
Set value->sign appropriately instead of ineffective passing of -1 to
output_value().
svn path=/trunk/yasm/; revision=1913
Peter Johnson [Mon, 20 Aug 2007 05:10:26 +0000 (05:10 -0000)]
Fix warning documentation to match behavior of yasm_value_output_basic().
svn path=/trunk/yasm/; revision=1912
Peter Johnson [Sun, 19 Aug 2007 23:59:08 +0000 (23:59 -0000)]
GAS parser: Push down directive lookup to parser to simplify tokenizer.
svn path=/trunk/yasm/; revision=1910
Peter Johnson [Thu, 16 Aug 2007 05:50:59 +0000 (05:50 -0000)]
Add support for the following AMD instructions added in their July 2007
documentation update:
- LZCNT
- POPCNT
- EXTRQ
- INSERTQ
- MOVNTSD
- MOVNTSS
This required some new tricks in the x86 code, as EXTRQ and INSERTQ have
two imm8 parameters (the first one of which goes into the EA field), and
INSERTQ has a *4* parameter version (xmm1, xmm2, imm8, imm8). Instead of
globally making the structures 4 wide, we just special-case INSERTQ.
svn path=/trunk/yasm/; revision=1909
Peter Johnson [Fri, 10 Aug 2007 16:56:13 +0000 (16:56 -0000)]
Update yasm.rules so that it's compatible with the Intel compiler.
Contributed by: Brian Gladman <brg@gladman.plus.com>
svn path=/trunk/yasm/; revision=1908
Peter Johnson [Sun, 5 Aug 2007 16:44:07 +0000 (16:44 -0000)]
Fix #112: Use yasm__strcasecmp instead of strcasecmp.
svn path=/trunk/yasm/; revision=1907
Peter Johnson [Thu, 2 Aug 2007 02:55:13 +0000 (02:55 -0000)]
Fix typo in VC7 modules.vcproj.
Reported by: Stefan Sellmer <stefansel@hotmail.de>
svn path=/trunk/yasm/; revision=1906
Peter Johnson [Wed, 1 Aug 2007 05:14:53 +0000 (05:14 -0000)]
HAMT: Update stored key when building tree downwards from identical keys.
Not doing this could cause us to lose an entry if the tree is deep enough
that we need to rehash the keys as we're moving downward.
Reported by: Stefan Sellmer <stefansel@hotmail.de>
svn path=/trunk/yasm/; revision=1905
Peter Johnson [Wed, 1 Aug 2007 04:08:04 +0000 (04:08 -0000)]
Fix #111: Correctly #define HAVE__STRICMP for vc and vc8.
Reported by: Brian Gladman
svn path=/trunk/yasm/; revision=1904
Peter Johnson [Tue, 31 Jul 2007 04:53:22 +0000 (04:53 -0000)]
Fix two bugs in HAMT:
- HAMT_search() wasn't doing a full string comparison on the key before
returning success.
- HAMT_insert()'s check for the above was always doing a case-sensitive
check; fixed to use case-insensitive when the HAMT is supposed to be
case-insensitive (and likewise for HAMT_search).
svn path=/trunk/yasm/; revision=1903
Peter Johnson [Sun, 29 Jul 2007 06:11:47 +0000 (06:11 -0000)]
Add command line option aliases for -d (to -D) and -u (to -U) for
compatibility with NASM command line.
Requested by: Mike Frysinger <vapier@gentoo.org>
svn path=/trunk/yasm/; revision=1902
Peter Johnson [Thu, 26 Jul 2007 07:36:05 +0000 (07:36 -0000)]
Use intnum_tobv() in a couple more places.
svn path=/trunk/yasm/; revision=1901
Peter Johnson [Thu, 26 Jul 2007 06:55:27 +0000 (06:55 -0000)]
Change intnum so it stores long instead of unsigned long; this allows
intnum to not allocate bitvectors for "most" negative numbers.
We pay a bit more in conversion, but save big in terms of memory and
malloc/free calls
(e.g. ~10,000 allocations and ~250K bytes for elf-x86id.asm test).
svn path=/trunk/yasm/; revision=1900
Peter Johnson [Fri, 20 Jul 2007 03:40:59 +0000 (03:40 -0000)]
Add support for second parameter (fill value) to .org directive in GAS
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
Peter Johnson [Fri, 20 Jul 2007 03:28:24 +0000 (03:28 -0000)]
Add support for GAS local labels (1:, 1f, 1b).
Noticed by: Jung Lee <moorang@gmail.com>
svn path=/trunk/yasm/; revision=1898
Peter Johnson [Mon, 16 Jul 2007 04:42:02 +0000 (04:42 -0000)]
Doxygen documentation fixes.
svn path=/trunk/yasm/; revision=1897
Peter Johnson [Sun, 15 Jul 2007 21:54:11 +0000 (21:54 -0000)]
Don't use an inner structure for line mappings.
Fix a nit in yasm_linemap_poke() for the case when set() has not been
called before calling this function; the prior behavior could result
in incorrect line numbers due to not properly adjusting the new line
number.
svn path=/trunk/yasm/; revision=1896
Peter Johnson [Sat, 14 Jul 2007 05:31:08 +0000 (05:31 -0000)]
Merge expr-int.h into expr.h, removing YASM_EXPR_INTERNAL in the process.
svn path=/trunk/yasm/; revision=1895
Peter Johnson [Sat, 14 Jul 2007 04:34:41 +0000 (04:34 -0000)]
Merge bc-int.h into bytecode.h, removing YASM_BC_INTERNAL in the process.
svn path=/trunk/yasm/; revision=1894
Peter Johnson [Sat, 14 Jul 2007 03:11:32 +0000 (03:11 -0000)]
Remove YASM_LIB_INTERNAL. It never really gained us that much in terms of
visibility savings, as basically everything defined it.
svn path=/trunk/yasm/; revision=1893
Peter Johnson [Fri, 13 Jul 2007 20:56:28 +0000 (20:56 -0000)]
Clean up a number of obsolete autoconf-detected standard C things.
svn path=/trunk/yasm/; revision=1892
Peter Johnson [Fri, 13 Jul 2007 17:34:21 +0000 (17:34 -0000)]
Bring Mkfiles up-to-date with [1889].
svn path=/trunk/yasm/; revision=1891
Peter Johnson [Fri, 13 Jul 2007 17:29:59 +0000 (17:29 -0000)]
Bring POTFILES.in up to date.
svn path=/trunk/yasm/; revision=1890
Peter Johnson [Sun, 8 Jul 2007 05:31:59 +0000 (05:31 -0000)]
Change handling of frontend (mnenomic) instructions to make it easier to
customize on the arch side of things. Instead of passing around an
arch_data[4] for instructions, now the arch can extend the structure itself
to add additional information in any format it likes.
svn path=/trunk/yasm/; revision=1889
Peter Johnson [Sat, 30 Jun 2007 20:19:20 +0000 (20:19 -0000)]
Properly mark yasm_arch->create() error parameter as an output param.
svn path=/trunk/yasm/; revision=1888
Peter Johnson [Sat, 30 Jun 2007 20:18:50 +0000 (20:18 -0000)]
Update splint script.
svn path=/trunk/yasm/; revision=1887
Peter Johnson [Sat, 30 Jun 2007 19:46:36 +0000 (19:46 -0000)]
Optimize negating a simple intnum.
svn path=/trunk/yasm/; revision=1886
Peter Johnson [Mon, 25 Jun 2007 01:05:04 +0000 (01:05 -0000)]
Fix buglet in handling of SEG of SEG:OFF. We were deleting the term at
the wrong level. As we weren't changing numterms before either, this
really could have no effect other than not freeing the memory immediately
(it would be freed later).
svn path=/trunk/yasm/; revision=1885
Peter Johnson [Sat, 23 Jun 2007 00:19:57 +0000 (00:19 -0000)]
Fix default filename buffer overflow.
Note: this is not a security issue.
Noticed by: Mike Frysinger <vapier@gentoo.org>
svn path=/trunk/yasm/; revision=1884