]> granicus.if.org Git - yasm/log
yasm
14 years agoNASM preproc: Add basic support for %{x:y} parameter list expansion.
Peter Johnson [Thu, 8 Apr 2010 03:46:43 +0000 (03:46 -0000)]
NASM preproc: Add basic support for %{x:y} parameter list expansion.

Contributed by: Mathieu Monnier

nasm64developer has a more advanced 3-parameter version that will take
some time to integrate, so for now just provide the simpler version.

svn path=/trunk/yasm/; revision=2312

14 years agoNASM preprocessor: Add %scope and %endscope.
Peter Johnson [Thu, 8 Apr 2010 03:32:04 +0000 (03:32 -0000)]
NASM preprocessor: Add %scope and %endscope.

Contributed by: Mathieu Monnier

svn path=/trunk/yasm/; revision=2311

14 years agoInstead of initializing unknown sections en-masse during objfmt_output(),
Peter Johnson [Sun, 28 Mar 2010 19:28:54 +0000 (19:28 -0000)]
Instead of initializing unknown sections en-masse during objfmt_output(),
add new objfmt interface function init_new_section() to initialize as we
go.

This fixes several issues, primarily with debug formats that create sections.

Reported by: Brian Gladman

svn path=/trunk/yasm/; revision=2310

14 years agovsyasm: Allow override of object, list, and map file extensions.
Peter Johnson [Fri, 19 Mar 2010 23:00:36 +0000 (23:00 -0000)]
vsyasm: Allow override of object, list, and map file extensions.

svn path=/trunk/yasm/; revision=2309

14 years agovsyasm: Fix map extension.
Peter Johnson [Fri, 19 Mar 2010 22:46:16 +0000 (22:46 -0000)]
vsyasm: Fix map extension.

svn path=/trunk/yasm/; revision=2308

14 years agoImprove VSYASM integration into Visual Studio 2010
Brian Gladman [Wed, 10 Mar 2010 11:33:55 +0000 (11:33 -0000)]
Improve VSYASM integration into Visual Studio 2010

svn path=/trunk/yasm/; revision=2307

14 years agovsyasm: if -E is used, print command line as first line in error file.
Peter Johnson [Thu, 4 Mar 2010 05:13:48 +0000 (05:13 -0000)]
vsyasm: if -E is used, print command line as first line in error file.

Requested by: Brian Gladman

svn path=/trunk/yasm/; revision=2300

14 years agoMakefile.am: Update for [2297] changes.
Peter Johnson [Thu, 4 Mar 2010 05:08:00 +0000 (05:08 -0000)]
Makefile.am: Update for [2297] changes.

svn path=/trunk/yasm/; revision=2299

14 years agoAdjust YASM integration into Visual Studio 2010 slightly
Brian Gladman [Wed, 3 Mar 2010 10:31:37 +0000 (10:31 -0000)]
Adjust YASM integration into Visual Studio 2010 slightly

svn path=/trunk/yasm/; revision=2298

14 years agoAdd VSYASM integration files for Visual Studio 2010 (and remove incorrect YASM ones)
Brian Gladman [Wed, 3 Mar 2010 09:41:12 +0000 (09:41 -0000)]
Add VSYASM integration files for Visual Studio 2010 (and remove incorrect YASM ones)

svn path=/trunk/yasm/; revision=2297

14 years agoCorrection to Python detection on Windows
Brian Gladman [Thu, 25 Feb 2010 11:47:02 +0000 (11:47 -0000)]
Correction to Python detection on Windows

svn path=/trunk/yasm/; revision=2296

14 years agoYet one more attempt to find Python in Windows
Brian Gladman [Thu, 25 Feb 2010 10:57:07 +0000 (10:57 -0000)]
Yet one more attempt to find Python in Windows

svn path=/trunk/yasm/; revision=2295

14 years agoMake a further attempt to use the Windows registry to find Python
Brian Gladman [Wed, 24 Feb 2010 11:26:40 +0000 (11:26 -0000)]
Make a further attempt to use the Windows registry to find Python

svn path=/trunk/yasm/; revision=2294

14 years agocorrect error in python detection batch file
Brian Gladman [Tue, 23 Feb 2010 08:56:20 +0000 (08:56 -0000)]
correct error in python detection batch file

svn path=/trunk/yasm/; revision=2293

14 years agoHopefully remove python discovery issue in Windows build
Brian Gladman [Tue, 23 Feb 2010 08:15:43 +0000 (08:15 -0000)]
Hopefully remove python discovery issue in Windows build

svn path=/trunk/yasm/; revision=2292

14 years agovsyasm: More gracefully handle single input file by using output name as-is.
Peter Johnson [Fri, 19 Feb 2010 07:07:51 +0000 (07:07 -0000)]
vsyasm: More gracefully handle single input file by using output name as-is.

Patch by: Brian Gladman

svn path=/trunk/yasm/; revision=2291

14 years agoAdd vc10 and vsyasm build files to EXTRA_DIST.
Peter Johnson [Wed, 17 Feb 2010 06:33:26 +0000 (06:33 -0000)]
Add vc10 and vsyasm build files to EXTRA_DIST.

svn path=/trunk/yasm/; revision=2290

14 years agoUpdate Visual Studio 2010 build files
Brian Gladman [Mon, 15 Feb 2010 10:45:22 +0000 (10:45 -0000)]
Update Visual Studio 2010 build files

svn path=/trunk/yasm/; revision=2289

14 years ago1. Add vsyasm build to VC9 and vc10 builds
Brian Gladman [Sat, 13 Feb 2010 19:26:44 +0000 (19:26 -0000)]
1. Add vsyasm build to VC9 and vc10 builds
2. Improve search for Python interpreter

svn path=/trunk/yasm/; revision=2288

14 years agovsyasm: create intermediate output directories if necessary.
Peter Johnson [Sat, 13 Feb 2010 08:42:27 +0000 (08:42 -0000)]
vsyasm: create intermediate output directories if necessary.

This feature is apparently assumed by MSBUILD.

Contributed (with minor modifications) by: Brian Gladman

svn path=/trunk/yasm/; revision=2287

14 years agoUpdate yasm_parsers(7) now that GAS preprocessor support is fairly mature.
Peter Johnson [Sat, 13 Feb 2010 07:25:23 +0000 (07:25 -0000)]
Update yasm_parsers(7) now that GAS preprocessor support is fairly mature.

svn path=/trunk/yasm/; revision=2286

14 years agoAdd support for gas preprocessor macro directives.
Peter Johnson [Sat, 13 Feb 2010 07:22:23 +0000 (07:22 -0000)]
Add support for gas preprocessor macro directives.

It doesn't yet support the full set of macro types gas supports, but
can handle a lot of common cases.

Contributed by: Alexei Svitkine

svn path=/trunk/yasm/; revision=2285

14 years agoAdd "vsyasm", a batch version of yasm primarily useful for VS2010.
Peter Johnson [Sat, 6 Feb 2010 09:27:32 +0000 (09:27 -0000)]
Add "vsyasm", a batch version of yasm primarily useful for VS2010.

Basically the objfile, listfile, and mapfile options specify output
directories instead of files.  Multiple files are accepted and each one
is independently assembled in command line order.  All options (such
as include directories and predefined macros) apply to all input files.
Any error terminates the process early.

Suggested by: Brian Gladman

svn path=/trunk/yasm/; revision=2284

14 years agonasm_pp_cleanup(): Do a better job of cleaning up.
Peter Johnson [Sat, 6 Feb 2010 09:13:56 +0000 (09:13 -0000)]
nasm_pp_cleanup(): Do a better job of cleaning up.

svn path=/trunk/yasm/; revision=2283

14 years agoUpdate flat and DJGPP Makefiles for GAS preproc and parser changes.
Peter Johnson [Wed, 20 Jan 2010 03:58:15 +0000 (03:58 -0000)]
Update flat and DJGPP Makefiles for GAS preproc and parser changes.

svn path=/trunk/yasm/; revision=2282

14 years agoUpdate VC++ v10 build
Brian Gladman [Tue, 19 Jan 2010 11:11:35 +0000 (11:11 -0000)]
Update VC++ v10 build

svn path=/trunk/yasm/; revision=2281

14 years agoUpdate VC++ v9 build
Brian Gladman [Tue, 19 Jan 2010 11:09:21 +0000 (11:09 -0000)]
Update VC++ v9 build

svn path=/trunk/yasm/; revision=2280

14 years agoAdd .intel_syntax and .gas_syntax support to GAS parser.
Peter Johnson [Tue, 19 Jan 2010 07:57:43 +0000 (07:57 -0000)]
Add .intel_syntax and .gas_syntax support to GAS parser.

Uses the NASM parser for the .intel_syntax parsing heavy lifting.

Contributed by: Alexei Svitkine

svn path=/trunk/yasm/; revision=2279

14 years agoAdd nasm-parser-struct.h to SOURCES.
Peter Johnson [Tue, 19 Jan 2010 07:28:08 +0000 (07:28 -0000)]
Add nasm-parser-struct.h to SOURCES.

svn path=/trunk/yasm/; revision=2278

14 years agoNasm parser: Add some very basic MASM-ish syntax handling, along the lines
Peter Johnson [Tue, 19 Jan 2010 07:03:15 +0000 (07:03 -0000)]
Nasm parser: Add some very basic MASM-ish syntax handling, along the lines
of the TASM "mode".

These code paths aren't used yet; they will be used for GAS .intel_syntax
handling.

Contributed by: Alexei Svitkine

svn path=/trunk/yasm/; revision=2277

14 years agoSplit yasm_parser_nasm structure out to separate header.
Peter Johnson [Tue, 19 Jan 2010 06:56:08 +0000 (06:56 -0000)]
Split yasm_parser_nasm structure out to separate header.

This is needed so that other parsers can get access to this structure without
naming conflicts.

Contributed by: Alexei Svitkine

svn path=/trunk/yasm/; revision=2276

14 years agoAllow gas flags input to bin objfmt (ignored and not used).
Peter Johnson [Thu, 14 Jan 2010 08:24:13 +0000 (08:24 -0000)]
Allow gas flags input to bin objfmt (ignored and not used).

Contributed by: Alexei Svitkine

svn path=/trunk/yasm/; revision=2275

14 years agosubstitute_values(): Allocate sufficient space for null terminator.
Peter Johnson [Thu, 14 Jan 2010 08:10:35 +0000 (08:10 -0000)]
substitute_values(): Allocate sufficient space for null terminator.

Noticed by: Alexei Svitkine

svn path=/trunk/yasm/; revision=2274

14 years agogas-preproc.c: Use sprintf instead of snprintf.
Peter Johnson [Wed, 13 Jan 2010 04:44:28 +0000 (04:44 -0000)]
gas-preproc.c: Use sprintf instead of snprintf.

It's impossible for a decimal long string to be longer than 64 chars.

Also remove workaround for MSVC added in r2267.

svn path=/trunk/yasm/; revision=2273

14 years agoAllow older automake version (1.9.6).
Peter Johnson [Tue, 12 Jan 2010 05:59:37 +0000 (05:59 -0000)]
Allow older automake version (1.9.6).

svn path=/trunk/yasm/; revision=2272

14 years agoFix #200 - yasm.rules double quote issue
Brian Gladman [Fri, 8 Jan 2010 09:50:52 +0000 (09:50 -0000)]
Fix #200 - yasm.rules double quote issue

svn path=/trunk/yasm/; revision=2271

14 years ago"Fix #200" - yasm.rules double quote issue
Brian Gladman [Fri, 8 Jan 2010 09:47:46 +0000 (09:47 -0000)]
"Fix #200" - yasm.rules double quote issue

svn path=/trunk/yasm/; revision=2270

14 years agoUpdate autoconf/automake scripts.
Peter Johnson [Thu, 7 Jan 2010 07:00:05 +0000 (07:00 -0000)]
Update autoconf/automake scripts.

Also remove ltmain.sh as we no longer use libtool.

Patch submitted by: Roumen Petrov <bugtrack@roumenpetrov.info>

svn path=/trunk/yasm/; revision=2269

14 years agoUnbreak make distcheck.
Peter Johnson [Thu, 7 Jan 2010 06:55:03 +0000 (06:55 -0000)]
Unbreak make distcheck.

svn path=/trunk/yasm/; revision=2268

14 years ago1. Add gas preprocessor build on Windows
Brian Gladman [Tue, 5 Jan 2010 16:01:53 +0000 (16:01 -0000)]
1. Add gas preprocessor build on Windows
2. Add snprintf -> _snprintf define for VC++ build

svn path=/trunk/yasm/; revision=2267

14 years agoNow that the gas preproc supports .rept, remove it from the gas parser.
Peter Johnson [Sun, 3 Jan 2010 22:02:30 +0000 (22:02 -0000)]
Now that the gas preproc supports .rept, remove it from the gas parser.

svn path=/trunk/yasm/; revision=2266

14 years agoGAS preproc: Fix line number for .rept without matching .endr error.
Peter Johnson [Sun, 3 Jan 2010 21:59:28 +0000 (21:59 -0000)]
GAS preproc: Fix line number for .rept without matching .endr error.

The line number reported for the error is that of the .rept directive.

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

svn path=/trunk/yasm/; revision=2265

14 years agoUpdate Pyxelator to avoid deprecation warnings on recent Python versions.
Peter Johnson [Sun, 3 Jan 2010 03:47:16 +0000 (03:47 -0000)]
Update Pyxelator to avoid deprecation warnings on recent Python versions.

svn path=/trunk/yasm/; revision=2264

14 years agobin-objfmt.c: Comment out unused function (kept in the code for debugging).
Peter Johnson [Sun, 3 Jan 2010 02:47:28 +0000 (02:47 -0000)]
bin-objfmt.c: Comment out unused function (kept in the code for debugging).

svn path=/trunk/yasm/; revision=2263

14 years agoFix two more instances of queue.h HEAD macros for portability.
Peter Johnson [Sun, 3 Jan 2010 02:46:11 +0000 (02:46 -0000)]
Fix two more instances of queue.h HEAD macros for portability.

svn path=/trunk/yasm/; revision=2262

14 years agogas-preproc.c: Avoid warning on unused variable.
Peter Johnson [Sun, 3 Jan 2010 02:41:50 +0000 (02:41 -0000)]
gas-preproc.c: Avoid warning on unused variable.

svn path=/trunk/yasm/; revision=2261

14 years agoImprove the gas preprocessor and re-add it as default for gas parser.
Peter Johnson [Sun, 3 Jan 2010 02:04:13 +0000 (02:04 -0000)]
Improve the gas preprocessor and re-add it as default for gas parser.

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

Summary of changes:
- Correct line numbers will now be reported for warnings and errors
  when using the GAS preprocessor
- GAS preprocessor will now replace defined (e.g. via .set) variables
  by their values in lines returned to the parser
- GAS preprocessor will now handle multi-line comments correctly
- GAS preprocessor will now handle nested .rept directives correctly

svn path=/trunk/yasm/; revision=2260

14 years agoImplement some linemap changes required for the GAS preprocessor.
Peter Johnson [Sun, 3 Jan 2010 01:58:23 +0000 (01:58 -0000)]
Implement some linemap changes required for the GAS preprocessor.

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

14 years agoUse queue.h HEAD macros more portably (also avoiding compiler warning).
Peter Johnson [Sun, 3 Jan 2010 01:04:18 +0000 (01:04 -0000)]
Use queue.h HEAD macros more portably (also avoiding compiler warning).

svn path=/trunk/yasm/; revision=2258

14 years agoFix additional cases of duplicate 66h prefix generation for AVX instructions.
Peter Johnson [Sat, 2 Jan 2010 17:56:16 +0000 (17:56 -0000)]
Fix additional cases of duplicate 66h prefix generation for AVX instructions.

Reported by: Gil Dabah

svn path=/trunk/yasm/; revision=2257

14 years agoUse Cython instead of Pyrex.
Peter Johnson [Fri, 1 Jan 2010 20:55:07 +0000 (20:55 -0000)]
Use Cython instead of Pyrex.

svn path=/trunk/yasm/; revision=2256

14 years agoSome minor Pyrex fixes:
Peter Johnson [Fri, 1 Jan 2010 20:54:15 +0000 (20:54 -0000)]
Some minor Pyrex fixes:
- 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

14 years agoAll Pyrex files: Use __cinit__ instead of __new__ in extension classes.
Peter Johnson [Fri, 1 Jan 2010 20:52:25 +0000 (20:52 -0000)]
All Pyrex files: Use __cinit__ instead of __new__ in extension classes.

svn path=/trunk/yasm/; revision=2254

14 years agoyasm_intnum_create_sized(): Fix off-by-one error in sign extension check.
Peter Johnson [Fri, 1 Jan 2010 20:47:58 +0000 (20:47 -0000)]
yasm_intnum_create_sized(): Fix off-by-one error in sign extension check.

svn path=/trunk/yasm/; revision=2253

14 years agoUnbreak python bindings on 64-bit Linux.
Peter Johnson [Wed, 30 Dec 2009 06:21:24 +0000 (06:21 -0000)]
Unbreak python bindings on 64-bit Linux.

svn path=/trunk/yasm/; revision=2252

14 years agoAvoid generating duplicate 66h prefix on PINSRB in 16-bit mode.
Peter Johnson [Tue, 29 Dec 2009 06:18:25 +0000 (06:18 -0000)]
Avoid generating duplicate 66h prefix on PINSRB in 16-bit mode.

Reported by: Gil Dabah <arkon@ragestorm.net>

svn path=/trunk/yasm/; revision=2251

14 years agoRevert gas parser default to raw preproc until gas tests pass with the gas
Peter Johnson [Mon, 28 Dec 2009 05:23:46 +0000 (05:23 -0000)]
Revert gas parser default to raw preproc until gas tests pass with the gas
preproc.

svn path=/trunk/yasm/; revision=2250

14 years agoFix incorrect vaesimc encoding (need to set VEX.vvvv=1111).
Peter Johnson [Mon, 28 Dec 2009 04:40:30 +0000 (04:40 -0000)]
Fix incorrect vaesimc encoding (need to set VEX.vvvv=1111).

Reported by: Gil Dabah <arkon@ragestorm.net>

svn path=/trunk/yasm/; revision=2249

15 years agoFix --preproc-only (and possibly other long options) by avoiding false
Peter Johnson [Sat, 26 Dec 2009 04:41:21 +0000 (04:41 -0000)]
Fix --preproc-only (and possibly other long options) by avoiding false
matches on shorter long argument names.

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

svn path=/trunk/yasm/; revision=2248

15 years agogas-preproc.c: Avoid casting away of const.
Peter Johnson [Sat, 26 Dec 2009 04:38:27 +0000 (04:38 -0000)]
gas-preproc.c: Avoid casting away of const.

svn path=/trunk/yasm/; revision=2247

15 years agoUpdate gas preproc a bit:
Peter Johnson [Sat, 26 Dec 2009 04:30:39 +0000 (04:30 -0000)]
Update gas preproc a bit:
- Handle removal of comments during preprocessing
- Fix a bug with evaluation of nested .if/.else statements.

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

svn path=/trunk/yasm/; revision=2246

15 years agonasm-pp.c: Use vsnprintf if available.
Peter Johnson [Sat, 26 Dec 2009 04:28:40 +0000 (04:28 -0000)]
nasm-pp.c: Use vsnprintf if available.

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

svn path=/trunk/yasm/; revision=2245

15 years agoDefault to gas preproc for gas parser.
Peter Johnson [Sat, 26 Dec 2009 04:26:46 +0000 (04:26 -0000)]
Default to gas preproc for gas parser.

svn path=/trunk/yasm/; revision=2244

15 years agoAdd initial gas preprocessor, contributed by Alexei Svitkine.
Peter Johnson [Wed, 23 Dec 2009 06:45:17 +0000 (06:45 -0000)]
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

15 years agoUnbreak gen_x86_insn.py on Python 2.4.
Peter Johnson [Sun, 6 Dec 2009 03:37:43 +0000 (03:37 -0000)]
Unbreak gen_x86_insn.py on Python 2.4.

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

svn path=/trunk/yasm/; revision=2242

15 years agoAdd files for building YASM with Visual Studio 2010 (beta 2)
Brian Gladman [Sat, 5 Dec 2009 16:33:12 +0000 (16:33 -0000)]
Add files for building YASM with Visual Studio 2010 (beta 2)

svn path=/trunk/yasm/; revision=2241

15 years agoUpdate gen_x86_insn.py to work in both Python 2 and 3
Brian Gladman [Sat, 5 Dec 2009 16:13:05 +0000 (16:13 -0000)]
Update gen_x86_insn.py to work in both Python 2 and 3

svn path=/trunk/yasm/; revision=2240

15 years agoFix #198: Previous commit accidentally broke a great many instructions.
Peter Johnson [Tue, 1 Dec 2009 03:33:03 +0000 (03:33 -0000)]
Fix #198: Previous commit accidentally broke a great many instructions.

svn path=/trunk/yasm/; revision=2239

15 years agoFix a bunch of GAS x86 instruction issues.
Peter Johnson [Mon, 30 Nov 2009 03:43:10 +0000 (03:43 -0000)]
Fix a bunch of GAS x86 instruction issues.
- Fix #193: ljmp/lcall not implemented; add 2-operand far jump to jmp/call.
- Add loop{,z,e} instruction suffixes
- Fix a bunch of jmp/call minor issues.
- Vastly improve suffix handling in general to make more consistent and make
  a greater variety of no-suffix instructions work in a way that matches GAS.

svn path=/trunk/yasm/; revision=2238

15 years agoFix #191: Incorrect argument order generated for AMD FMA4 opcodes.
Peter Johnson [Sun, 8 Nov 2009 17:30:34 +0000 (17:30 -0000)]
Fix #191: Incorrect argument order generated for AMD FMA4 opcodes.

svn path=/trunk/yasm/; revision=2237

15 years agoFix #190: Incorrect opcode generated for vphaddudq.
Peter Johnson [Sun, 8 Nov 2009 17:14:01 +0000 (17:14 -0000)]
Fix #190: Incorrect opcode generated for vphaddudq.

svn path=/trunk/yasm/; revision=2236

15 years agoFix #189: Avoid compiler warning in genperf.
Peter Johnson [Tue, 3 Nov 2009 05:15:37 +0000 (05:15 -0000)]
Fix #189: Avoid compiler warning in genperf.

svn path=/trunk/yasm/; revision=2235

15 years agoFix #187: Add new variable CFLAGS_FOR_BUILD for CC_FOR_BUILD compiles.
Peter Johnson [Sat, 31 Oct 2009 21:52:42 +0000 (21:52 -0000)]
Fix #187: Add new variable CFLAGS_FOR_BUILD for CC_FOR_BUILD compiles.

Due to the need to support cross-building, CC_FOR_BUILD is used instead of
CC for tools that will be run as part of the build process.  However, it
is sometimes necessary to add custom CFLAGS for these builds; CFLAGS_FOR_BUILD
supports this cleanly.

svn path=/trunk/yasm/; revision=2234

15 years agoFix #188: Times forward references would result in bad code generation.
Peter Johnson [Sat, 31 Oct 2009 21:45:55 +0000 (21:45 -0000)]
Fix #188: Times forward references would result in bad code generation.

svn path=/trunk/yasm/; revision=2233

15 years agoFix #78 further: Support C++ style // comments.
Peter Johnson [Sat, 12 Sep 2009 02:38:35 +0000 (02:38 -0000)]
Fix #78 further: Support C++ style // comments.

svn path=/trunk/yasm/; revision=2232

15 years agoFurther change to python invocation in genperf
Brian Gladman [Wed, 12 Aug 2009 14:51:57 +0000 (14:51 -0000)]
Further change to python invocation in genperf

svn path=/trunk/yasm/; revision=2231

15 years agoimprove handling of Python batch file for genperf
Brian Gladman [Wed, 12 Aug 2009 14:33:52 +0000 (14:33 -0000)]
improve handling of Python batch file for genperf

svn path=/trunk/yasm/; revision=2230

15 years agoFix #186: Avoid memory runaway in optimizer TIMES circular reference checking.
Peter Johnson [Thu, 6 Aug 2009 07:13:11 +0000 (07:13 -0000)]
Fix #186: Avoid memory runaway in optimizer TIMES circular reference checking.

Check for duplicates in backtrace used when checking for circular references.
This uses a simple N^2 algorithm (as the number of items in the backtrace is
usually small) but avoids memory runaway due to duplicate item storage.

svn path=/trunk/yasm/; revision=2229

15 years agoFix #185: Add mkinstalldirs to svn repo, as autogen.sh doesn't pull it in.
Peter Johnson [Fri, 31 Jul 2009 02:50:19 +0000 (02:50 -0000)]
Fix #185: Add mkinstalldirs to svn repo, as autogen.sh doesn't pull it in.

svn path=/trunk/yasm/; revision=2227

15 years agoFix #184: test -e is not portable (despite being in POSIX); use test -f instead.
Peter Johnson [Thu, 30 Jul 2009 02:19:38 +0000 (02:19 -0000)]
Fix #184: test -e is not portable (despite being in POSIX); use test -f instead.

svn path=/trunk/yasm/; revision=2226

15 years agoUnbreak distcheck.
Peter Johnson [Sat, 25 Jul 2009 05:29:47 +0000 (05:29 -0000)]
Unbreak distcheck.

svn path=/trunk/yasm/; revision=2224

15 years agoFix #178: Don't "distribute" shift right op.
Peter Johnson [Fri, 24 Jul 2009 19:01:35 +0000 (19:01 -0000)]
Fix #178: Don't "distribute" shift right op.

This breaks horribly for things like (sym+511)>>9 in -f bin, as the result is
zero instead of something more useful.

Also don't check RHS for symbols; these will fall out later in the assembly
process if they cannot be simplified.

svn path=/trunk/yasm/; revision=2220

15 years agoUpdate elf special symbols:
Peter Johnson [Wed, 22 Jul 2009 05:51:35 +0000 (05:51 -0000)]
Update elf special symbols:
 - Add tlsdesc and tlscall to both x86 and amd64.
 - Add 64-bit pltoff, gotplt, gotoff to amd64.

svn path=/trunk/yasm/; revision=2210

15 years agoUnbreak make check (broken by [2206]).
Peter Johnson [Wed, 22 Jul 2009 05:49:54 +0000 (05:49 -0000)]
Unbreak make check (broken by [2206]).

svn path=/trunk/yasm/; revision=2209

15 years agoelf: Add latest x86 relocation types.
Peter Johnson [Wed, 22 Jul 2009 05:45:03 +0000 (05:45 -0000)]
elf: Add latest x86 relocation types.

svn path=/trunk/yasm/; revision=2208

15 years agoelf: Add support for 64-bit PC-relative relocation.
Peter Johnson [Tue, 21 Jul 2009 06:49:44 +0000 (06:49 -0000)]
elf: Add support for 64-bit PC-relative relocation.

svn path=/trunk/yasm/; revision=2207

15 years agoSpecial-case _GLOBAL_OFFSET_TABLE_ in elf32/64 to generate appropriate relocs.
Peter Johnson [Tue, 21 Jul 2009 06:48:42 +0000 (06:48 -0000)]
Special-case _GLOBAL_OFFSET_TABLE_ in elf32/64 to generate appropriate relocs.

This was particularly noticable in GAS, but there was also a bug in NASM
output (lack of fixup within instruction in elf32).

Also:
- changed ssym lookup from a linear search to using assocdata
- added more relocation types (most not implemented)

Reported by: Mark Charney

svn path=/trunk/yasm/; revision=2206

15 years agoNASM is now licensed under the 2-clause BSD license.
Peter Johnson [Mon, 20 Jul 2009 06:04:58 +0000 (06:04 -0000)]
NASM is now licensed under the 2-clause BSD license.

svn path=/trunk/yasm/; revision=2205

15 years agoFix #177: Make check fails on CR/LF systems.
Peter Johnson [Sat, 18 Jul 2009 02:33:10 +0000 (02:33 -0000)]
Fix #177: Make check fails on CR/LF systems.

The diff on the hexdump output was not using -w.

svn path=/trunk/yasm/; revision=2204

15 years agoFix #175: Only sanity check final section size if no user errors occurred.
Peter Johnson [Fri, 12 Jun 2009 07:06:16 +0000 (07:06 -0000)]
Fix #175: Only sanity check final section size if no user errors occurred.

svn path=/trunk/yasm/; revision=2203

15 years agoFix #173: Debug full paths were being generated incorrectly.
Peter Johnson [Wed, 3 Jun 2009 05:49:18 +0000 (05:49 -0000)]
Fix #173: Debug full paths were being generated incorrectly.
This was because the path returned by yasm__getcwd() did not have a trailing
slash and thus yasm__combpath() stripped off the last path component.

svn path=/trunk/yasm/; revision=2202

15 years agoFix #171: Broken build in ytasm CMakeLists.txt.
Peter Johnson [Tue, 12 May 2009 01:47:59 +0000 (01:47 -0000)]
Fix #171: Broken build in ytasm CMakeLists.txt.

Reported by: postmodern.mod3

svn path=/trunk/yasm/; revision=2201

15 years agoCMakeLists.txt: Set cmake policy to avoid warning.
Peter Johnson [Tue, 12 May 2009 01:46:42 +0000 (01:46 -0000)]
CMakeLists.txt: Set cmake policy to avoid warning.

svn path=/trunk/yasm/; revision=2200

15 years agoAdd support for AMD XOP, FMA4, and CVT16 instructions (replacing SSE5).
Peter Johnson [Sun, 10 May 2009 05:24:46 +0000 (05:24 -0000)]
Add support for AMD XOP, FMA4, and CVT16 instructions (replacing SSE5).

AMD has obsoleted the SSE5 spec in favor of these instructions.  These
instructions use an AVX-like new opcode structure called XOP instead of
the SSE5 DREX byte.

The AMD FMA4 instructions are a copy of the *old* Intel FMA instructions.
Intel has since updated their spec, and AMD may follow, but for now we've
implemented what AMD's spec contains.

svn path=/trunk/yasm/; revision=2199

15 years agoAdd gencheck.py Python script to make it easier to generate expected results
Peter Johnson [Sun, 10 May 2009 05:21:26 +0000 (05:21 -0000)]
Add gencheck.py Python script to make it easier to generate expected results
from long .asm files that generate simple binary output (e.g. for opcode
testing).

svn path=/trunk/yasm/; revision=2198

15 years agotasm (tweaked nasm) preproc fixes:
Peter Johnson [Fri, 17 Apr 2009 03:25:08 +0000 (03:25 -0000)]
tasm (tweaked nasm) preproc fixes:
 - comments stripped before tokenization caused strings containing ';'
   to generate warnings (unterminated string) and incorrect output.
 - assume directive parsing did not properly handle ';' as end of line

Also add tests for the above.

Reported by: Rugxulo <rugxulo@gmail.com>

svn path=/trunk/yasm/; revision=2197

15 years agotasm parser: Support "not" keyword.
Peter Johnson [Fri, 17 Apr 2009 03:22:25 +0000 (03:22 -0000)]
tasm parser: Support "not" keyword.

Requested by: Rugxulo <rugxulo@gmail.com>

svn path=/trunk/yasm/; revision=2196

15 years agoDefault memory size to "s" for no-suffix FP conversions in GAS syntax.
Peter Johnson [Sun, 29 Mar 2009 23:25:05 +0000 (23:25 -0000)]
Default memory size to "s" for no-suffix FP conversions in GAS syntax.

Reported by: Gregory McGarry <g.mcgarry@ieee.org>

svn path=/trunk/yasm/; revision=2192

15 years agoFix referencing of local label from line that defines nonlocal label.
Peter Johnson [Wed, 25 Mar 2009 03:40:59 +0000 (03:40 -0000)]
Fix referencing of local label from line that defines nonlocal label.

Reported by: Brian Gladman

svn path=/trunk/yasm/; revision=2190

15 years agoUpdate copyright dates.
Peter Johnson [Tue, 24 Mar 2009 06:47:38 +0000 (06:47 -0000)]
Update copyright dates.

svn path=/trunk/yasm/; revision=2188