Commit graph

33 commits

Author SHA1 Message Date
Peter Johnson
cd1e6f51de Update gettext. 2014-08-10 11:39:19 -07:00
Peter Johnson
8281be0c25 Add .gitignore files.
These are based on the old svn:ignore properties.
2011-08-27 09:24:07 -07:00
Peter Johnson
94ab1135a3 Remove $Id$ and RCSID() usage.
These are useless now that we're using git.
2011-08-19 10:43:16 -07:00
Peter Johnson
d190d9dfa5 Fix #206: Update gettext bits to gettext 0.17.
svn path=/trunk/yasm/; revision=2333
2010-06-16 05:13:23 +00:00
Peter Johnson
493c5b8861 Add initial gas preprocessor, contributed by Alexei Svitkine.
Support for include directive amongst other major key pieces.
Does not currently support macros.
Fixes #79.

Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>

svn path=/trunk/yasm/; revision=2243
2009-12-23 06:45:17 +00:00
Peter Johnson
1049719c7b Remove yapp-preproc.c from list of files to scan for gettext.
svn path=/trunk/yasm/; revision=1972
2007-09-21 06:56:02 +00:00
paulbarker
d628c6a315 * Marked message strings so gettext can find them.
* Updated POTFILES.in

svn path=/branches/multiarch/; revision=1925
2007-09-01 20:11:11 +00:00
Peter Johnson
bab3f8f48a Bring POTFILES.in up to date.
svn path=/trunk/yasm/; revision=1890
2007-07-13 17:29:59 +00:00
Peter Johnson
4ca492b3d9 Don't distribute re2c-built files or configure-built stdint.h.
svn path=/trunk/yasm/; revision=1783
2007-02-22 03:40:31 +00:00
Peter Johnson
24a600a075 Update to gettext 0.16.1.
Note that due to an m4 bug, you need at least m4 1.4.5, and autoconf built
with the newer version of m4, to run autoconf on the source now (this does
not apply if you're just running ./configure from a tarball).

svn path=/trunk/yasm/; revision=1768
2007-02-13 07:31:11 +00:00
Peter Johnson
ef6fd9c8c0 Add support for Win64 structured exception handling (aka .xdata and .pdata).
Requested by: Myria Chan, Brian Gladman, several others
Helped by: Brian Gladman (format documentation pointers)

This commit adds the necessary directives and some higher-level macros to
make it easier to generate the .xdata and .pdata sections needed for
structured exception handling on Win64.  The overall construction mirrors
MASM very closely, so it should be possible for near-direct translation of
MASM code to Yasm; see for example objfmts/win64/tests/sce3.masm and
objfmts/win64/tests/sce4.asm.  This commit does *not* break generating these
yourself (which you may want to do if you're a compiler).

This commit adds special proc macros so the function layout will look like:

proc_frame <procname>
... (frame setup and unwind directives)
end_prologue (or alternatively [endprolog])
...
endproc_frame

The "raw pseudo operations" (.directives) as described in MSDN
(http://msdn2.microsoft.com/en-us/library/ms235231(VS.80).aspx)
have been exactly mirrored in Yasm, as follows:
[pushreg], [setframe], [allocstack], [savereg], [savexmm128], [pushframe],
[endprolog]

Note the [] are required.

Additionally, the following macros have been implemented that MASM provides
in ksamd64.inc, and as documented in MSDN
(http://msdn2.microsoft.com/en-us/library/ms235217(VS.80).aspx):
push_reg, rex_push_reg, push_eflags, rex_push_eflags, alloc_stack,
save_reg, save_xmm128, push_frame, set_frame, end_prologue

I'll next work on getting all of this documented in the user manual.

svn path=/trunk/yasm/; revision=1762
2007-02-12 03:48:53 +00:00
Peter Johnson
a8ef216fc0 GAS parser: convert to recursive descent.
Remove all Bison supporting struts as we no longer need Bison.

svn path=/trunk/yasm/; revision=1724
2006-12-30 03:19:24 +00:00
Peter Johnson
d5197668d7 POTFILES.in: Bring up to date by adding a couple of missing files.
svn path=/trunk/yasm/; revision=1720
2006-12-24 21:22:54 +00:00
Peter Johnson
42af0d898f Remove remaining references to nasm-bison.c/h.
Noticed by: Sean Darcy <seandarcy2@gmail.com>
Patch by: Charles Bailey <charles@hashpling.org>

Fix automake 1.10 error.
Noticed/fix by: Sean Darcy <seandarcy2@gmail.com>

svn path=/trunk/yasm/; revision=1719
2006-12-24 21:18:01 +00:00
Peter Johnson
8f81970238 * POTFILES.in: Unbreak dist by removing a nonexistent file.
* Makevars: Set MSGID_BUGS_ADDRESS to eliminate a gettext warning.

svn path=/trunk/yasm/; revision=1602
2006-08-10 04:50:48 +00:00
Peter Johnson
f4a5eed306 Update POTFILES for new optimizer; disable lc3b as it's not active yet.
svn path=/branches/new-optimizer/; revision=1587
2006-06-21 04:40:09 +00:00
Peter Johnson
90a38d71b0 Rewrite x86 identifier recognition to use a minimal perfect hash table
instead of re2c-generated code.  This gives identifier recognition a
significant speedup and also drastically shortens compilation time of yasm
itself.  This rewrite encouraged combining instruction and prefix
recognition into one function and register and target modifier
recognition into a second function (rather than having 5 or so separate
functions).

Also created a state in the NASM parser (as was done in the GAS parser),
so instructions/prefixes are only looked for until an instruction is
recognized.  This avoids search time in the instructions hash for operands.

The tool used to generate the new identifier recognition is called GAP.
Someday we might extend this to generate more code than just the perfect
hash lookup.

* tools/gap: New tool to Generate Architecture Parser (aka perfect hashes).
* phash.c, phash.h: Helper functions used by GAP-generated code.

* x86id.re: Delete.  Split into..
* x86parse.gap: Contains all identifier recognition portions.
* x86id.c: Contains instruction operand tables and code and higher-level
entry points into x86parse.gap perfect hash recognizers.  Chose to flow
history of x86id.re into this file.

* arch.h: Combine instruction/prefix entry points and register/target
modifier entry points.
* lc3barch.c, lc3bid.re, lc3barch.h: Update to match.
* x86arch.c, x86arch.h: Update to match.

* Makefile.am, various Makefile.inc: Update.
* POTFILES.in: Update due to numerous file changes (not just this commit).
* Mkfiles: Update.  VC build files untested at the moment.

svn path=/trunk/yasm/; revision=1395
2006-03-04 22:09:26 +00:00
Peter Johnson
1a86c34026 * On most files: re-enable $IdPath$ as $Id$, and enable Id keyword expansion.
svn path=/trunk/yasm/; revision=1137
2004-09-04 01:24:57 +00:00
Peter Johnson
f094f47abb Update auto*, libtool, libltdl, and gettext scripts.
Make cross-building work by changing how re2c and other build tools are
compiled.

svn path=/trunk/yasm/; revision=1127
2004-08-14 23:07:58 +00:00
Peter Johnson
78a7672adb Change from .cvsignore files to svn:ignore directory properties.
svn path=/trunk/yasm/; revision=1125
2004-08-08 20:12:41 +00:00
Peter Johnson
c7840f5b3a Add an architecture to support the LC-3b ISA as used in the ECE 312 course
at the University of Illinois, Urbana-Champaign.
See http://courses.ece.uiuc.edu/ece312/ for more details.

svn path=/trunk/yasm/; revision=960
2003-05-31 22:37:58 +00:00
Peter Johnson
8b0413d87d Remove references to yapp source files now that it's no longer being built.
svn path=/trunk/yasm/; revision=905
2003-04-01 01:21:16 +00:00
Peter Johnson
8b564fbaa4 Split src into frontends, libyasm, and modules (forced commit after repo-copy).
svn path=/trunk/yasm/; revision=847
2003-03-13 06:55:46 +00:00
Peter Johnson
6fd648a146 Add coff-objfmt.c.
svn path=/trunk/yasm/; revision=791
2002-10-31 20:28:21 +00:00
Peter Johnson
bd5d6b2f9d Add missing files: x86id.c, src/section.c, src/arch/x86/x86arch.c.
svn path=/trunk/yasm/; revision=722
2002-10-02 17:06:24 +00:00
Peter Johnson
873a785904 Initial revision
svn path=/trunk/yasm/; revision=635
2002-05-29 05:00:31 +00:00
Peter Johnson
58abdf1cd1 Update with latest files. Add suggestion on how to get an updated list.
svn path=/trunk/yasm/; revision=591
2002-04-15 04:38:59 +00:00
Peter Johnson
7c31b742d5 Add remove-potcdate.sed.
svn path=/trunk/yasm/; revision=590
2002-04-15 04:28:42 +00:00
Peter Johnson
8cd76bac56 Update to gettext 0.11.1.
svn path=/trunk/yasm/; revision=589
2002-04-15 04:20:38 +00:00
Peter Johnson
14da2c24d4 This was significantly out of date. Bring up-to-date with current source.
svn path=/trunk/yasm/; revision=399
2001-12-26 18:42:10 +00:00
Peter Johnson
0b24caa55c Cleanup of local .cvsignore files after addition of global CVSROOT/cvsignore.
svn path=/trunk/yasm/; revision=193
2001-09-18 18:02:23 +00:00
Peter Johnson
b2890b8f9d $Id$ -> $IdPath$.
svn path=/trunk/yasm/; revision=174
2001-09-17 04:12:20 +00:00
Peter Johnson
45df22d110 Convert to using gettext instead of the ugly errwarn constant strings.
NOTE: gettextize now needs to be run before building.

svn path=/trunk/yasm/; revision=153
2001-08-30 03:45:26 +00:00