Peter Johnson
b5f64623ca
Use /usr/bin/env for finding PERL.
...
svn path=/trunk/yasm/; revision=1007
22 years ago
Peter Johnson
ba5a46bd97
Fix RIP-relative effective addresses. They always have a 32-bit
...
displacement.
Noticed by: Ben Skeggs <darktama@dodo.com.au>
svn path=/trunk/yasm/; revision=1006
22 years ago
Peter Johnson
fec4aff527
Make cpu_enabled a x86-local variable, and reset it in x86_initialize().
...
Make CPU_* constants x86-local visible.
svn path=/trunk/yasm/; revision=1005
22 years ago
Peter Johnson
2748972397
Avoid warnings in strsep due to glibc's bits/string2.h string inlining by
...
defining __NO_STRING_INLINES in strsep.c. Due to string.h inclusion in
util.h, extra level of indirection is needed
(NO_STRING_INLINES->__NO_STRING_INLINES).
svn path=/trunk/yasm/; revision=1004
22 years ago
Peter Johnson
7071b20131
In floatnum_mul(), rename "exp" variable to "expon" to avoid compiler warning
...
(due to overriding global "exp" function).
svn path=/trunk/yasm/; revision=1003
22 years ago
Peter Johnson
ec2e5e6b27
Add sanity check for computed section size.
...
svn path=/trunk/yasm/; revision=1002
22 years ago
Peter Johnson
8c320ea796
Correctly add in multiples (from TIMES operator) into section length.
...
Bugzilla #11
Reported by: meor@softhome.net
svn path=/trunk/yasm/; revision=1001
22 years ago
Peter Johnson
e2cccde6cb
Remove reference to yapp; it's been deleted.
...
svn path=/trunk/yasm/; revision=1000
22 years ago
Peter Johnson
d8b2ea24b6
Remove yapp. It's been disconnected from the build for some time, has
...
started to bitrot, and mu@ says it needs rewriting from scratch.
svn path=/trunk/yasm/; revision=999
22 years ago
Peter Johnson
b33a50702e
Clarify licensing.
...
svn path=/trunk/yasm/; revision=998
22 years ago
Peter Johnson
e7da8daa23
Note bitvect is actually triple-licensed under the Artistic License, GPL,
...
and LGPL. Bring in the text from the original distribution README.txt and
Artistic.txt, and add an GPL reference.
svn path=/trunk/yasm/; revision=997
22 years ago
Peter Johnson
36a1f84f79
Add test for 64-bit ORG.
...
svn path=/trunk/yasm/; revision=996
22 years ago
Peter Johnson
379c90a778
Revamp intnum internals:
...
- Up internal format size to 128 bit.
- Use full internal format size for all calculations.
- Always store negative numbers using full internal size
(avoids 0xffffffff == -1?? issue)
This fixes many inconsistencies in handling of >32-bit intnums.
svn path=/trunk/yasm/; revision=995
22 years ago
Peter Johnson
9632f79ceb
BitVector_add() and BitVector_sub() take a *carry parameter as an input; we
...
were passing it uninitialized.
svn path=/trunk/yasm/; revision=994
22 years ago
Peter Johnson
6e8a44bd74
BitVector_compute(), BitVector_add(), and BitVector_sub() carry parameter is
...
both a carry in AND a carry out.
svn path=/trunk/yasm/; revision=993
22 years ago
Peter Johnson
d4eba9c223
Fix bts/btr immediate operands (previously required "byte" specifier).
...
Bugzilla #10
Reported by: meor@softhome.net
svn path=/trunk/yasm/; revision=992
22 years ago
Peter Johnson
7c77a808e8
BUGFIX: In yasm_intnum_calc(), use operand->val.bv instead of acc->val.bv if
...
the operand is already a bitvector.
svn path=/trunk/yasm/; revision=991
22 years ago
Peter Johnson
3a69c30f7b
Allow complex (expression) section starts, primarily used for implementation
...
of [ORG] in bin objfmt. Still need to assess impact of self-referential
(invalid) ORG, and how to detect for that condition.
svn path=/trunk/yasm/; revision=990
22 years ago
Peter Johnson
0a5861a952
Add a \warning that yasm_vps_delete() deletes all val/params.
...
svn path=/trunk/yasm/; revision=989
22 years ago
Peter Johnson
a88840bdd9
Document for Doxygen (comment-only changes).
...
svn path=/trunk/yasm/; revision=988
22 years ago
Peter Johnson
d923c8b92a
Fix return comment for parse_directive(). Nonzero is returned if a directive
...
is NOT recognized.
svn path=/trunk/yasm/; revision=987
22 years ago
Peter Johnson
e82c7d6bda
Comment for Doxygen.
...
svn path=/trunk/yasm/; revision=986
22 years ago
Peter Johnson
3de47f7b4d
Add \rcs, \endrcs, \license, and \endlicense wrappers around $IdPath$ and
...
copyright/license portions to shorten Doxygen output. Comment only change.
svn path=/trunk/yasm/; revision=985
22 years ago
Peter Johnson
fb16d0a793
Fix a few Doxygen documentation comments and cross-references. Comment only
...
changes.
svn path=/trunk/yasm/; revision=984
22 years ago
Peter Johnson
3c1eee7cf5
Doxygen comment-only change: \caution does not exist, use \attention instead.
...
svn path=/trunk/yasm/; revision=983
22 years ago
Peter Johnson
0b0e957f02
Fix bug in HAMT_insert() found by compiler-generated assembler file (lots of
...
similar label names).
Test also found a bug in COFF parsing of section options; this will be fixed
and a separate test added explicitly for it.
svn path=/trunk/yasm/; revision=982
22 years ago
Peter Johnson
b45781ad5f
Fix twobytemem (two byte memory accessing, no size) opcodes.
...
Add testcase to check them.
Found and patched by: Ben Skeggs <darktama@dodo.com.au>
svn path=/trunk/yasm/; revision=981
22 years ago
Peter Johnson
934697a310
Previous commit didn't notationally separate x86 from AMD64 very well; be
...
more clear.
svn path=/trunk/yasm/; revision=980
22 years ago
Peter Johnson
e3ce14f3f4
Rename x86-64 to AMD64 in description, as per AMD name change.
...
TBD: separation of x86 arch into x86 and amd64 archs?
svn path=/trunk/yasm/; revision=979
22 years ago
Peter Johnson
8be78708d6
Display fatal errors as FATAL, and perform other error display cleanups.
...
Exit immediately after bad arch/objfmt/etc selections to avoid "bad option"
secondary errors.
svn path=/trunk/yasm/; revision=978
22 years ago
Peter Johnson
1fb702c9ef
Missed a couple instances of yasm__error(0, ...) -> yasm_fatal().
...
svn path=/trunk/yasm/; revision=977
22 years ago
Peter Johnson
bdcba73ba5
Check for supported architectures (for now, just x86).
...
Call yasm_fatal() instead of yasm__error(0, ...).
svn path=/trunk/yasm/; revision=976
22 years ago
Peter Johnson
b6f7d0316f
Make yasm_fatal() and implementations take a list of printf-like parameters.
...
Also, don't abort(), just exit()... unlike internal errors, which we want a
backtrace for, fatal errors may happen during normal operation.
svn path=/trunk/yasm/; revision=975
22 years ago
Peter Johnson
a6109b9aba
Use standard basename() function if available.
...
svn path=/trunk/yasm/; revision=974
22 years ago
Peter Johnson
67aec65deb
Simplify preloaded search case by removing any library extension in
...
list_modules() rather than trying to figure it out in list_module_load().
Also avoids the corner failure case when archives aren't named *.a.
svn path=/trunk/yasm/; revision=973
22 years ago
Peter Johnson
7d0214ee34
Change module loader interface a bit (use enum instead of string to specify
...
module type), and make "yasm -[adfpr] help" work dynamically by scanning
preloaded symbols and filesystem directories.
svn path=/trunk/yasm/; revision=972
22 years ago
Peter Johnson
cc3f9486f3
Simplify RCSID() definition.
...
svn path=/trunk/yasm/; revision=971
22 years ago
Peter Johnson
f7be0f0fd7
Be a bit friendlier to those compiling without HAVE_CONFIG_H by always
...
including the "standard C" headers.
svn path=/trunk/yasm/; revision=965
22 years ago
Peter Johnson
dd4ae0b63a
Only include config.h if HAVE_CONFIG_H is defined.
...
svn path=/trunk/yasm/; revision=964
22 years ago
Peter Johnson
d2e226e3b7
Fix some Doxygen documentation nits. Comment-only change.
...
svn path=/trunk/yasm/; revision=963
22 years ago
Peter Johnson
08fc544896
Document for Doxygen.
...
svn path=/trunk/yasm/; revision=962
22 years ago
Peter Johnson
c3d042d742
Change parameter name for yasm_expr_extract_segment declaration to ep to
...
match documentation and function definition.
No functional change.
svn path=/trunk/yasm/; revision=961
22 years ago
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
22 years ago
Peter Johnson
823fb1b781
Reformat multi-file lists to use many += lines instead of using \
...
(line-continued) lines. Format-only change, no functional change.
svn path=/trunk/yasm/; revision=959
22 years ago
Peter Johnson
f1e54f48d0
Make architecture selectable at the command line.
...
Also, fix bug that caused parser to not actually be selectable (any user
choice was overridden).
svn path=/trunk/yasm/; revision=958
22 years ago
Peter Johnson
3d04baf33c
Bring yasm_x86__bc_print() up-to-date with x86_jmp[rel] changes.
...
svn path=/trunk/yasm/; revision=957
22 years ago
Peter Johnson
8422252781
Rename jmprel->jmp, JMPREL->JMP, JR->JMP, and others, as FAR jumps are not
...
relative jumps.
svn path=/trunk/yasm/; revision=956
22 years ago
Peter Johnson
05222986bc
Add basic FAR test for things like jmp 4:5. The test for CALL FAR procedure
...
will have to wait for an objfmt with support for SEG (such as .OBJ).
svn path=/trunk/yasm/; revision=955
22 years ago
Peter Johnson
13cbbfcb4a
Add support for FAR call/jmp. Because of the jmp label, label equ seg:off
...
problem, adding this required adding some fields to x86_jmprel (now a
misnomer, as FAR jumps are absolute) to save the far opcode, and additional
support in libyasm's yasm_expr_* to properly handle the YASM_EXPR_SEGOFF
operator.
svn path=/trunk/yasm/; revision=954
22 years ago
Peter Johnson
16c09e4b41
Add lindex parameter to yasm_intnum_calc(), and add error messages for SEG,
...
WRT, and ':' (SEGOFF) usage. This change also brings the yasm_intnum_calc()
interface in line with the yasm_floatnum_calc() interface.
Note: This may not be the final place we want these error messages to reside,
but the lindex addition should remain for the sake of consistency.
svn path=/trunk/yasm/; revision=953
22 years ago