Cyrill Gorcunov [Wed, 16 Dec 2009 12:44:58 +0000 (15:44 +0300)]
insns.dat: Restore default size of memory operands
During conversion of size of memory operands into
explicit form the compatibility with 2.07 has been
broken (for a small set of instructions). Lets restore
it. Details below.
This is due to specifics of our "fuzzy logic" algorithm.
For example consider the user wrote an instruction like
VCVTTPD2DQ xmm0,[eax]
the last operand is memory reference. But template contains
the following two items (written in simplified form)
VCVTTPD2DQ xmmreg,mem128
VCVTTPD2DQ xmmreg,mem256
So this is impossible to find out what _exactly_ user meant:
either reference to 128 bit value in memory or 256 bit.
As a solution we've been using IF_Sx modifier written in
template which allows to choose "by-default" template
and break the tie.
Reported-by: Victor van den Elzen <victor.vde@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 13 Dec 2009 11:13:35 +0000 (14:13 +0300)]
doc/changes.src: describe changes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 29 Nov 2009 20:21:16 +0000 (23:21 +0300)]
Elf: bind labels to text section by default
In case if SECTION directive is omitted but the real
code exist we form .text section by default and put compiled
code here. In turn labels are not handled in a same manner.
So lets bind them to text section by default as well.
[ BR: 2835192 ]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 5 Dec 2009 11:04:55 +0000 (14:04 +0300)]
BR2907058: insn_size - close file handle before returning
As example of such behaviour is when fseek fails for
some reason.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 4 Dec 2009 16:44:20 +0000 (19:44 +0300)]
nasm.c: Use copy_filename to set error message file
To prevent errname buffer overwrite we should
use copy_filename instead of strcpy.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 2 Dec 2009 16:03:20 +0000 (19:03 +0300)]
insns.dat: AVX -- no need for IF_ARx in template
We describe the instruction arguments in explicit form
so IF_ARx is just not needed here.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Mon, 30 Nov 2009 21:28:31 +0000 (13:28 -0800)]
Run "make alldeps"
H. Peter Anvin [Mon, 30 Nov 2009 21:27:49 +0000 (13:27 -0800)]
outrdf.c: remove obsolete file
The old RDF format has been unsupported for long time now. Remove it
from the tree.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 30 Nov 2009 21:26:34 +0000 (13:26 -0800)]
outform.h: fix OF_NO_RDF2
OF_NO_RDF2 should turn off OF_RDF2, not OF_RDF
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 30 Nov 2009 20:07:31 +0000 (12:07 -0800)]
AUTHORS: convert to UTF-8
Convert Latin-1 character to UTF-8. This is 2009.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 30 Nov 2009 19:27:47 +0000 (11:27 -0800)]
outmacho32: replace error() -> nasm_error()
Somehow outmacho32.c escaped the global change of error variables to
hard-coded nasm_error().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 28 Nov 2009 23:35:51 +0000 (15:35 -0800)]
NASM 2.08rc5
H. Peter Anvin [Sat, 28 Nov 2009 23:34:32 +0000 (15:34 -0800)]
test/Makefile: make it easier to inject options
Make it easier to inject options into test compiles.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Sat, 21 Nov 2009 08:11:23 +0000 (11:11 +0300)]
preproc.c: expand_smacro -- break endless loop for interminable macro recursion
Frank reported:
|
| From the "expert questions" forum comes this:
|
| ---------------------
| By: jasper_neumann
|
| How can I delegate %undef?
|
| In the example below the assembler (called with "nasm.exe -t -f rdf q.asm")
| bemoans my code, displays
|
| "q.asm:19: error: interminable macro recursion"
|
| and hangs.
|
| q.asm
| -----
| bits 32
| CPU P4
|
| %macro my_def 2
| %xdefine %1 esp+%2
| %endmacro
|
| %macro my_undef 1
| %undef %1
| %endmacro
|
| global check_it
| check_it:
| my_def x,4
| mov eax,[x]
| my_undef x
|
| my_def x,8
| add eax,[x]
| my_undef x
| ret
|
So in case of interminable macro recursion we should break
the expansion procedure that way to not return back and start
expand macro again.
This address a part of the original problem.
Nasm64developer pointed out:
|
| Btw, after you manage to fix this recursion problem, the code
| in question still faces the same fundamental issue -- the arg
| to the my_undef invocations (i.e. x) gets expanded first; thus
| the %undef inside the macro sees esp+4 and esp+8 instead
| of x, and fails. What you'd need is a means to prevent the ex-
| pansion -- look for e.g. %# in 4.1.4 of the manual.txt which is
| attached to SF #1842438; it implements exactly that -- I once
| filed SF #829879 for this feature.
|
In turn Keith Kanios said:
|
| Anon is also correct in that we would need a special directive to instruct
| the delay of macro expansion, although I don't see this as critical or even
| high priority at the moment. The intermediate solution for this is, don't
| use indirection if it is not needed... an inline %undef should be
| sufficient.
|
Reported-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Reviewed-by: Keith Kanios <keith@kanios.net>
Cyrill Gorcunov [Tue, 17 Nov 2009 18:58:08 +0000 (21:58 +0300)]
outcoff: BuildExportTable -- tab/space fix
Due to previous commit an indent by tab (occasionally) brought in.
Fix it as well. No change on binary level.
We're not that far from NASM release so it's a bit unpleasant
manner to push in such trivial change. But since it's the previous
commit dependent -- I dare to push it.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 17 Nov 2009 17:49:58 +0000 (20:49 +0300)]
outcoff: Do not fail on long export identifiers
If an export identifier is greater then 241 symbols
we do fail due to buffer overflow. Fix it.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Fri, 13 Nov 2009 22:12:37 +0000 (14:12 -0800)]
NASM 2.08rc4
Victor van den Elzen [Wed, 11 Nov 2009 07:09:03 +0000 (08:09 +0100)]
Update test files
Remove references to DREX instructions
Victor van den Elzen [Wed, 11 Nov 2009 06:47:39 +0000 (07:47 +0100)]
Add test/bisect.sh for use with "git bisect"
Victor van den Elzen [Wed, 11 Nov 2009 06:39:21 +0000 (07:39 +0100)]
Don't boundcheck 64-bit numbers, it gives problems due to overflows
H. Peter Anvin [Tue, 10 Nov 2009 00:54:48 +0000 (16:54 -0800)]
NASM 2.08rc3
H. Peter Anvin [Tue, 10 Nov 2009 00:53:43 +0000 (16:53 -0800)]
insns.dat: remove non-DREX SSE5 instructions
Even the non-DREX SSE5 instructions appear to have been either
obsoleted or replaced with XOP varieties. The only exception are the
ROUNDxx instructions, which are really SSE4.1 instructions and which
were simply duplicates.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 9 Nov 2009 22:58:45 +0000 (14:58 -0800)]
changes.src: document removal of DREX instructions
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 9 Nov 2009 22:57:19 +0000 (14:57 -0800)]
SSE5: remove all DREX-based instructions
AMD has obsoleted the DREX-based SSE5 proposal, so remove all such
instructions.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 12:48:47 +0000 (15:48 +0300)]
outelf32/64 - various cleanups in a sake of unification
Make a small step forward elf32/64 unification procedure.
Mostly style fixes. Nothing serious.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 08:53:31 +0000 (11:53 +0300)]
dwarfX_output: dont check for "ln" twice
And make dwarf64 version to be more familiar to
32bit version (preparation work for merge).
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 08:42:11 +0000 (11:42 +0300)]
output/outelf64.c: simplify stabs64_cleanup, dwarf64_cleanup
nasm_free is failsafe against NULL passed
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 08:24:54 +0000 (11:24 +0300)]
Document BR 2887108 in changes.src
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 08:15:37 +0000 (11:15 +0300)]
Merge elf header files
Merge elfcommon.h, elf32.h, elf64.h into
single elf.h -- we do support both elf32
and elf64 anyway. Let put them into common
place.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 07:22:49 +0000 (10:22 +0300)]
hash_init: check for size being power of two
It's really a bug if size is not power of
two. We must to be sure all callers are
sane.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 18:58:48 +0000 (21:58 +0300)]
hashtbl.c: Unify common hash ops by macros
Instead of opencoded repeatable computation
use macro helpers.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 6 Nov 2009 06:03:08 +0000 (09:03 +0300)]
Introduce is_power2 helper
We will need it for hash tables
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Fri, 6 Nov 2009 17:36:11 +0000 (09:36 -0800)]
MOVD xmmreg: not valid with REX.W
The xmmreg forms of MOVD are invalid with REX.W, since those are MOVQ
instructions.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Thu, 5 Nov 2009 21:08:38 +0000 (00:08 +0300)]
Comment out matches() operand flags logic
Also space fix
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 5 Nov 2009 20:35:04 +0000 (23:35 +0300)]
nasmlib.h: Introduce nasm_build_assert
It's useful to protect our self from some
errors at build time.
For this sake we should use nasm_build_assert
if needed.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Wed, 4 Nov 2009 00:35:19 +0000 (16:35 -0800)]
test: imul.asm: move warning-generated tests under WARN
Only make the tests under WARN actually issue warnings.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 3 Nov 2009 23:59:47 +0000 (15:59 -0800)]
test: imul.asm: more IMUL pattern tests
Test more IMUL patterns.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 3 Nov 2009 23:59:24 +0000 (15:59 -0800)]
NASM 2.08rc2
Cyrill Gorcunov [Sun, 1 Nov 2009 20:16:01 +0000 (23:16 +0300)]
matches: simplify check operand size actions
We may throw out j variable (since we break anyway)
and don't assign asize for free (since we don't
use it after).
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 3 Nov 2009 18:35:24 +0000 (21:35 +0300)]
IMUL: sbyteX fix -- last one
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Tue, 3 Nov 2009 17:34:09 +0000 (09:34 -0800)]
IMUL: fix an additional incorrect sbyte use
One more incorrect use of sbyte in IMUL.
Overall, the IMUL patterns seem really messy. *Furthermore*, despite
IMUL normally being thought of as signed, the 2- and 3-operand
versions don't produce a high half and are therefore
signedness-agnostic -- we could even add MUL patterns for those forms.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 3 Nov 2009 17:26:58 +0000 (09:26 -0800)]
BR 2887108: fix incorrect sbyte usage in IMUL
Fix a very curious transposition in the instruction patterns for IMUL,
which caused 32-bit IMUL instructions with constants like 0x10001 to
be generated incorrectly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Sun, 1 Nov 2009 07:24:48 +0000 (10:24 +0300)]
Revert "BR 2887108: Use overflow_ helper to catch inappropriate imm optimization"
This reverts commit
41208028ff52d190044ee7532bf14c5aca0f899a.
|
| From: "H. Peter Anvin" <hpa@zytor.com>
|
| The tests for overflow_signed() are wrong too. Those are relevant for if a
| warning should be issued, but not for how the value should be encoded in
| the byte stream.
|
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cyrill Gorcunov [Fri, 30 Oct 2009 08:29:43 +0000 (11:29 +0300)]
stdscan.c: use TOKEN_EOS and string helpers
Also tab/space cleanup
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 31 Oct 2009 17:05:32 +0000 (20:05 +0300)]
Various tab/space/comment cleanup
No change on binary level
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 30 Oct 2009 06:24:05 +0000 (09:24 +0300)]
output/outelf32-64: use string helpers
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 29 Oct 2009 21:23:48 +0000 (00:23 +0300)]
Remove outdated comments
From Frank Kotler:
| ...
| > - stdscan_bufptr = saveme; /* bugfix? fbk 8/10/00 */
| > + stdscan_set(saveme); /* bugfix? fbk 8/10/00 */
|
| While you're at it, you could remove my comment(s - it seems to have
| reproduced). It *is* a bugfix (apparently). "saveme" might have a better
| name, too...
So get rid of the comments.
Reported-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 29 Oct 2009 20:09:18 +0000 (23:09 +0300)]
stdscan: switch to stdscan_get/set routines
Instead of manipulating stdscan buffer pointer directly
we switch to a routine interface.
This allow us to unify stdscan access: ie caller should
"talk" to stdscan via stdscan_get/set routines.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 31 Oct 2009 17:02:14 +0000 (20:02 +0300)]
nasmlib: Introduce idata_bytes helper
This allow us to eliminate code duplication
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 31 Oct 2009 07:34:43 +0000 (10:34 +0300)]
BR 2887108: Use overflow_ helper to catch inappropriate imm optimization
We should use overflow_ helpers before check if an immediate
operand fit a type range, otherwise we may loose high bits.
For example when we assemble the following instruction
imul eax,eax,0x10000
with -Ox passed we optimze it up to imm8 though it must be imm32.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Keith Kanios [Sun, 25 Oct 2009 19:06:24 +0000 (14:06 -0500)]
changes.src: document preprocessor directives added since 2.07
nasmdoc.src: document %exitmacro
Keith Kanios [Sun, 25 Oct 2009 18:28:03 +0000 (13:28 -0500)]
preproc.c: fix exitmacro to account for if/endif blocks
Cyrill Gorcunov [Sun, 18 Oct 2009 08:41:14 +0000 (12:41 +0400)]
continue using is_class helper
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 17 Oct 2009 21:09:40 +0000 (01:09 +0400)]
changes.src: describe changes since version 2.07 up to 2.08rc1
There are already new commits which fix other bugs
but at moment only changes up to 2.08rc1.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Keith Kanios [Sat, 17 Oct 2009 02:53:59 +0000 (21:53 -0500)]
BR 2840300: fix macho symbol alignment bug
Cyrill Gorcunov [Wed, 14 Oct 2009 11:36:45 +0000 (15:36 +0400)]
parser.c: pasrse_line -- fix alignment
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Tue, 13 Oct 2009 19:32:20 +0000 (12:32 -0700)]
assemble: xsizeflags[] is an opflags_t variable
One more case of int32_t instead of opflags_t...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 13 Oct 2009 19:28:14 +0000 (12:28 -0700)]
opflags: more int32_t -> opflags_t conversions
Hopefully this should catch all of them... but please keep an eye out
for any other uses of int32_t for the operand flags.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 13 Oct 2009 19:05:01 +0000 (12:05 -0700)]
NASM 2.08rc1
H. Peter Anvin [Tue, 13 Oct 2009 19:03:37 +0000 (12:03 -0700)]
nasm: rename nasm_zap_spaces() to nasm_zap_spaces_fwd()
By analogy with nasm_zap_spaces_rev() have nasm_zap_spaces_fwd(). The
forward version isn't a super-common operation, and it might be
possible to think the reverse one is the "normal" version... therefore
we might as well be explicit.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Tue, 13 Oct 2009 15:38:52 +0000 (19:38 +0400)]
nasm.c: use string helpers
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 12 Oct 2009 16:41:13 +0000 (20:41 +0400)]
preproc.c: use string helpers
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 18 Sep 2009 15:23:53 +0000 (19:23 +0400)]
nasm.c: getkw -- use string helpers
This allow us to shrink code a bit and
make it easy to read.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 11 Oct 2009 12:51:31 +0000 (16:51 +0400)]
nasmlib: introduce string helpers
To make code more compact we introduce the
following string helpers:
1) nasm_scip_spaces - skip leading spaces
2) nasm_skip_word - skip leading non-spaces
3) nasm_zap_spaces - zap leading spaces with zero
4) nasm_zap_spaces_rev - zap spaces in reverse order
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 20 Sep 2009 20:56:20 +0000 (00:56 +0400)]
assemble.c: check constants for overflow
Lets check if a constant supplied to DB and etc
does not overflow storage size and emit warning
if needed.
[ Bug #2857628 http://sourceforge.net/tracker/?func=detail&aid=2857628&group_id=6208&atid=106208 ]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 11 Oct 2009 11:01:39 +0000 (15:01 +0400)]
introduce "overflow" helpers
Suggested-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 13 Oct 2009 15:05:31 +0000 (19:05 +0400)]
assemble.c: use is_class helper
is_class does not checking flags "strictly". Which means
it may fail if type is specified to REGMEM and you check for
is_class(MEMORY, ...).
Anyway in current patch we check for REGISTER which doesn't
overlap and it is safe to use is_class here.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 13 Oct 2009 15:02:47 +0000 (19:02 +0400)]
nasm.h: introduce is_class macro helper
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 11 Oct 2009 09:40:44 +0000 (13:40 +0400)]
use opflags_t type for operands
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 11 Oct 2009 09:17:52 +0000 (13:17 +0400)]
style cleanup
Convert tabs to spaces.
Eliminate empty comments.
No change on binary level.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Tue, 6 Oct 2009 16:58:40 +0000 (09:58 -0700)]
assemble: when looking for a REGISTER operand, do an exclusive test
Do an "exclusive" test for a REGISTER operand when deciding to treat
sizes as wildcards. "Exclusive" meaning don't just accept any class
that could be REGISTER, but something that is strictly a part of the
REGISTER class.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 5 Oct 2009 21:08:05 +0000 (14:08 -0700)]
assemble: treat register operands without size as wildcards
Register with no size are a bit special: we don't honor extrinsic
register sizes in the first place ("oword xmm1" gives a warning,
even), and they should match any xmmrm size. As such, explicitly
handle sizeless register operands as a hard match, instead of relying
on the fuzzy-matching mechanism to handle them.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Sun, 27 Sep 2009 12:00:06 +0000 (16:00 +0400)]
nasm.nsi: use "delete recursively" specificator
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 26 Sep 2009 07:21:20 +0000 (11:21 +0400)]
nsis.nsi: add VS8 rules file to install
Add "VS8 intergartion" section with appropriate
files to be installed on user request.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 25 Sep 2009 21:06:18 +0000 (01:06 +0400)]
doc/nasmdoc.src: NASMENV -- fixup backslashes
−i option (include file search directories) should
contain trailing slash.
Reported-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Henry Tumblin [Fri, 25 Sep 2009 14:25:57 +0000 (18:25 +0400)]
Visual Studio 2008 NASM integration
Add integration rules in order to use NASM
seamlessly in your VS2k8.
Signed-off-by: Henry Tumblin <htumblin@users.sourceforge.net>
Signed-off-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 23 Sep 2009 19:33:11 +0000 (23:33 +0400)]
nasm.nsi: fixup shortcut target on nasm manual
There is no "manual.pdf" but "nasmdoc.pdf" instead.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 23 Sep 2009 17:29:57 +0000 (21:29 +0400)]
nasm.nsi: fixup output name
Sigh... It should be PACKAGE_SHORT_NAME
rather then PRODUCT_SHORT_NAME.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 23 Sep 2009 17:14:32 +0000 (21:14 +0400)]
nasm.nsi: set compressor before MUI macros
MULTIUSER_MUI may set own compressor so we
need to set it earlies to success.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Wed, 23 Sep 2009 16:54:10 +0000 (09:54 -0700)]
misc/release: *.ico are binary files
Zip needs to know which files to treat as binary, so tell it *.ico are
binary files.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Wed, 23 Sep 2009 16:43:34 +0000 (20:43 +0400)]
nasm.nsi: restore old output name and compressor
Othrewise build robot fails
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 23 Sep 2009 13:45:01 +0000 (17:45 +0400)]
nasm.nsi: do not define VERSION twice
VERSION is already defined in version.nsh
no need to define it araing otherwise nsis
compiler fails.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 21 Sep 2009 19:15:55 +0000 (23:15 +0400)]
substitute nasm.nsi with new nasm2.nsi
We always have "restore point" but such an action will
allow us to test new installer in more wide audience.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 21 Sep 2009 19:13:48 +0000 (23:13 +0400)]
nsis2: prepare for substitution
- We need to change slashes to direct ones
- Installer file should be postfixed with plain "-installer"
- Remove nasm.exe duplication
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 14 Sep 2009 19:17:03 +0000 (23:17 +0400)]
New NSIS script
Lets start using new NSIS features like
Modern UI2, Multiuser install.
The file named nasm2.nsi by purpose -- we should
_not_ break existing functionality.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 14 Sep 2009 18:10:08 +0000 (22:10 +0400)]
elf,stabs: stabs32/64_generate -- append ending token
This represent "end of compilation unit" token.
Since gcc does (almost) the same lets be on the
same side.
Though to be precise gcc puts offset which points
to the first byte right after the last instruction
issued but in fact string index is analyzed only
so we may safely write zero here (without relocation
as well).
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 6 Sep 2009 11:25:35 +0000 (15:25 +0400)]
output/elfcommon.h: tab/space cleanup
No change on binary level
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 3 Sep 2009 16:16:28 +0000 (20:16 +0400)]
output/outelf32.c: code style simplification
1) nasm_free is safe against NULL passed so call
it without test
2) dwarf32_output: check for debug_immcall early
and get out of procedure if success. This allow
us to move code blocks left removing indents.
3) dwarf32_findfile and dwarf32_findsect: no need
for 'else' when 'if' target is plain return.
Move code blocks left removing indents.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 3 Sep 2009 16:02:33 +0000 (20:02 +0400)]
output/outelf32.c: tab-space cleanup
Together with a small style nitpicking.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 3 Sep 2009 15:10:55 +0000 (19:10 +0400)]
output/elf64.h: tab-space cleanup
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 3 Sep 2009 15:06:04 +0000 (19:06 +0400)]
output/elf32.h: tab-space cleanup
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Thu, 3 Sep 2009 15:04:23 +0000 (19:04 +0400)]
output/outelf.h - tab-space cleanup
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 16 Aug 2009 08:00:01 +0000 (12:00 +0400)]
Use I_none opcode instead of hardcoded number
Consolidate I_none opcode to be used everywhere
instead of mix (-1,I_none).
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Victor van den Elzen [Thu, 13 Aug 2009 13:07:59 +0000 (15:07 +0200)]
Use fputs instead of fprintf for plain strings
LLVM's Clang warns about this. outieee.c had a real problem.
Victor van den Elzen [Tue, 11 Aug 2009 00:10:16 +0000 (02:10 +0200)]
Fix some format strings for nasm_error
Added a format attribute to nasm_error (only for GCC) and
used the resulting warnings to fix some format strings.
Cyrill Gorcunov [Mon, 10 Aug 2009 19:56:42 +0000 (23:56 +0400)]
output/dwarf.h: update dwarf constants
There is a hope we'll be supporting dwarf in full form in future. So
I've encoded the standard constants (though binutils uses some
additional codes).
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 22:56:52 +0000 (15:56 -0700)]
Add strlcpy() function
Add strlcpy() function and implementation, and use configure to detect
if strlcpy() is natively available on the system.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 9 Aug 2009 20:02:35 +0000 (13:02 -0700)]
output: change null_debug_routine to null_debug_directive
This is the null implementation of the function debug_directive. For
some reason it ended up getting mangled as "null_debug_routine".
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Sun, 9 Aug 2009 15:25:29 +0000 (19:25 +0400)]
disasm.c: eatbyte -- use snprintf to prevent potential buffer overflow
At moment we can't overrun buffer even if we would like to
but better to stay on a safe side and use snprintf.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Sun, 9 Aug 2009 15:09:39 +0000 (19:09 +0400)]
headers/c: strip off useless spaces
All other templates do not have them
so lets unify the approach.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>