Cyrill Gorcunov
ec88c1beac
BR3005117: Expland local single macro before pasting tokens
...
When we have switched to unified token pasting code we loose
backward compatibility. Restore it.
Note that new code MUST not expluatate this facility but rather
use paste macro %+ explicitly.
N.B. this patch is probably the candidate for revert, though
to give it a chance I commit it.
Reported-by: Alexey Dokuchaev
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-06-02 01:05:37 +04:00
H. Peter Anvin
f237c71c0d
New %use package "fp"
...
New standard macro package with utility macros for floating-point
constants.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-07 13:42:09 -07:00
H. Peter Anvin
19cbe0c1c4
nasmdoc: document octal/binary floating-point
...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-07 13:21:20 -07:00
H. Peter Anvin
c8d8a13cde
nasmdoc: add missing comma
...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-07 13:14:45 -07:00
H. Peter Anvin
26bb8890ef
nasmdoc: update the full set of numeric prefix/suffix characters.
...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-07 13:12:12 -07:00
H. Peter Anvin
62de275527
outobj: update error message
...
The possible sizes we can encounter are 1, 2, 4, 8... make sure we get
a proper error message.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-06 17:58:46 -07:00
H. Peter Anvin
931ce775cf
outobj: properly error on unsupported relocations
...
Error out on any relocations not supported by the backend.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-06 17:52:57 -07:00
H. Peter Anvin
bce369022a
outelf64: update copyright date
...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-06 17:45:39 -07:00
H. Peter Anvin
32575e46ac
ELF support for 8-bit relocations
...
Support 8-bit relocations (OUT_ADDRESS and OUT_REL1ADR) in ELF.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-06 16:14:00 -07:00
H. Peter Anvin
fea84d7fec
Permit short intersegment jumps
...
Allow an intersegment jump to be short (OUT_REL1ADR) if explicitly
specified so by the user.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-06 15:33:24 -07:00
H. Peter Anvin
55ae12052c
Add support for one-byte relocations
...
Add OUT_REL1ADR (one-byte relative address) and support for
OUT_ADDRESs with size == 1. Add support for it in
outbin and outdbg. *It still needs to be added to other backends*,
both the OUT_REL*ADR and OUT_ADDRESS codepaths need to be handled.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-06 15:33:24 -07:00
Cyrill Gorcunov
97ec06a16a
MachO: Fix misprinted macho_sectalign
...
macho_sectalign was occasionally misprinted
with macho_setcalign, fix it. No change on functionality.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-28 23:17:13 +04:00
Cyrill Gorcunov
a20b668add
obj: Implement sectalign helper
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-25 22:00:15 +04:00
Cyrill Gorcunov
573d25fe92
macho: Implement sectalign handler
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-25 21:35:09 +04:00
Cyrill Gorcunov
9868bfe80f
ieee: Fix section index match in sectalign handler
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-25 17:55:52 +04:00
Cyrill Gorcunov
28e6136bee
headers: Update year
...
It's 2010 now
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-25 12:02:38 +04:00
Cyrill Gorcunov
b9fd67b38e
outieee: Implement sectalign handler
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-25 01:17:11 +04:00
Cyrill Gorcunov
bb196d4fd3
outbin: Drop current_section variable
...
There is no need for it anymore.
Reported-by: "H. Peter Anvin" <hpa@linux.intel.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 22:32:17 +04:00
Cyrill Gorcunov
4c45e83aac
outbin: Prune ancient format_mode variable
...
format_mode is always set to 1 so there is no need to
keep this variable. "Old chicken bit" (c) :)
Reported-by: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 22:25:55 +04:00
H. Peter Anvin
c138e6a4b2
ilog2: optimize use of bsr for x86-64
...
On x86-64 platforms, we can rely on BSR not changing the destination
operand when the input is zero.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-04-22 11:02:56 -07:00
H. Peter Anvin
671a19600c
doc: use bouncer URLs for the ABI docs
...
MSDN can't seem to keep their URLs stable, so use bouncer links
that we can change if necessary.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-04-22 10:50:51 -07:00
Cyrill Gorcunov
630f221b01
bin: Implement sectalign handler
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:06:29 +04:00
Cyrill Gorcunov
279d8f146a
coff: Use IMAGE_SCN_ALIGN_MASK macro
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:06:14 +04:00
Cyrill Gorcunov
3834305507
coff: Allow alignment greater then 64 bytes on win
...
On win32/64 we have no 64 bytes limit so hit it on
"coff" target only.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:06:03 +04:00
Cyrill Gorcunov
7c8c258cdd
coff: Fix section alignment computation
...
Section alignment is broken due to not being
direct "align -> power of two set" mapping but
rather including second addition operation.
Fix it by introducing coff_sectalign_flags helper.
This also allow us to use this helper for getting
rid of open coded computation as well.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:05:50 +04:00
Cyrill Gorcunov
42017a6115
coff: Use predefined macros instead of numbers and style fix
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:03:56 +04:00
Cyrill Gorcunov
641ca7fd6a
ilog2: Use ROUND helper
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:03:39 +04:00
Cyrill Gorcunov
c8fd6fdae4
ilog2: Get rid of tabs
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:02:35 +04:00
Cyrill Gorcunov
557a57bd55
pecoff.h: Complete header
...
Put in all constants pecoff v8 states. Most probably we
will never need most of them but lets have them here for
completeness.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-22 19:02:22 +04:00
H. Peter Anvin
35c30da61b
Remove open-coded ilog2() implementations
...
When we need integer log2, use the new library routine.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-04-21 16:46:57 -07:00
H. Peter Anvin
084b13227e
Add generic ilog2 functions
...
Add ilog2_{32,64}() and alignlog2_{32,64}() ... the latter is intended
for alignment statements and return -1 for non-power-of-2 other than 0
(which returns 0).
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-04-21 16:43:20 -07:00
H. Peter Anvin
34543131ca
Makefile: clean up the lib directory on make clean
...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-04-21 16:41:37 -07:00
Cyrill Gorcunov
900b2229e4
standard.mac: Update section alignment on align call
...
Achieved via sectalign call. Note that not all output
targets (ie formats) may handle sectalign yet, most
of them just ignore this entity.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 23:52:57 +04:00
Cyrill Gorcunov
83ffe8ca24
coff: Use predefined macro in common section flags
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 22:40:11 +04:00
Cyrill Gorcunov
d0c6dbe0fe
coff: Use predefined macro and eliminate open coded constants
...
Not all are covered but process initiated.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 22:03:33 +04:00
Cyrill Gorcunov
d71d876f46
pecoff.h: Add more constants
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 21:47:03 +04:00
Cyrill Gorcunov
4c8e74e176
make: Update pecoff.h related deps
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 18:51:14 +04:00
Cyrill Gorcunov
2ece71588c
pecoff: Update machine types
...
Update up to pecoff v8
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 18:46:27 +04:00
Cyrill Gorcunov
8906629f4f
output: Introduce pecoff.h
...
Better to have common constants grouped.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 18:10:04 +04:00
Cyrill Gorcunov
f8dc028c07
coff: Implement sectalign handler
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 18:10:00 +04:00
Cyrill Gorcunov
2ef5c27be7
Rename SEGALIGN to SECTALIGN
...
"sectalign" is preferred over "segalign"
since it operates over section attributes.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 18:09:54 +04:00
Cyrill Gorcunov
1f3db76ee9
smartalign.mac: align macro should align a segment as well
...
This change may have backward compatibility issue but
most probably the sane program never used sections with
base address less then instruction alignment.
Note that alignment may only increase which means if a
section is aligned on 2^5 the align 2^4 will not affect
the section.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:22:31 +04:00
Cyrill Gorcunov
c56a7a2c82
Elf64: Implement segalign handler
...
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:15:28 +04:00
Cyrill Gorcunov
f68feb08c2
Elf-32: Implement segalign handling
...
Via elf_segalign helper
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:09:02 +04:00
Cyrill Gorcunov
2a587ab1c9
ofmt: Implement null_segalign stubs
...
Set stubs for all targets
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:08:36 +04:00
Cyrill Gorcunov
d5f2aef30a
Introduce SEGALIGN directive
...
No real handling yet though. Definition only.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:07:47 +04:00
Cyrill Gorcunov
d7a64b72a2
labels.c: lookup_label -- should return bool unconditionally
...
Better to not put return under condition. It was bad.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:07:25 +04:00
Cyrill Gorcunov
92aa187f3a
smartalign: Introduce nojmp mode
...
This allows to force nasm to generate multibyte
NOPs without jmp injected.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:06:53 +04:00
Cyrill Gorcunov
d807d911fe
Elf: Rename SEG_ALIGN to SEC_FILEALIGN
...
It's Elf specifics. To not mess with segment alignment.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:06:44 +04:00
Cyrill Gorcunov
8d4d060104
Add "win" alias for "win32" output format
...
We already have "elf" and "macho" aliases for respective
32 bit output formats. Make the same for "win32" in a
sake of consistency.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:06:36 +04:00