Andy Polyakov
5b198d5eea
x86gas.pl: relax .init segment alignment.
2011-10-22 10:49:52 +00:00
Andy Polyakov
4010b341b7
x86_64-xlate.pl: make vpaes-x86_64.pl and rc4-md5-x86_64 work with ml64,
...
fix bug in .crt section alignment.
PR: 2620, 2624
2011-10-18 09:50:23 +00:00
Andy Polyakov
8fcdb1e60f
Add android-x86.
2011-10-15 08:32:16 +00:00
Andy Polyakov
a87ff751b7
Add so called Vector Permutation AES x86[_64] assembler, see
...
http://crypto.stanford.edu/vpaes/ for background information.
It's not integrated into build system yet.
2011-09-12 08:25:14 +00:00
Andy Polyakov
ed28aef8b4
Padlock engine: make it independent of inline assembler.
2011-09-06 20:45:36 +00:00
Andy Polyakov
272ba87017
x86_64-xlate.pl: fix movzw.
2011-08-12 21:24:19 +00:00
Andy Polyakov
4195a369fd
perlasm/cbc.pl: fix tail processing bug.
...
PR: 2557
2011-07-13 06:20:30 +00:00
Andy Polyakov
6fa4c7c43b
x86_64-xlate.pl: sha1 and md5 warnings made it to nasm 2.09, extend gnu
...
assembler workaround to all assemblers.
2011-07-04 13:10:50 +00:00
Andy Polyakov
94c64f9a1c
x86_64-xlate.pl: masm-specific update.
2011-07-01 21:21:14 +00:00
Andy Polyakov
0a9a692e4e
Minor x86_64 perlasm update.
2011-06-27 09:45:10 +00:00
Andy Polyakov
301799b803
x86[_64]cpuid.pl: add function accessing rdrand instruction.
2011-06-04 12:20:45 +00:00
Andy Polyakov
c30a2505e2
x86gas.pl: don't omit .comm OPENSSL_ia32cap_P on MacOS X.
2011-05-18 16:28:53 +00:00
Andy Polyakov
c7b903e01d
x86_64-xlate.pl: add inter-register movq and make x86_64-gfm.s compile on
...
Solaris, MacOS X, elderly gas...
2011-05-18 16:26:03 +00:00
Andy Polyakov
ddc20d4da9
x86_64cpuid.pl: allow shared build to work without -Bsymbolic.
...
PR: 2466
2011-05-18 16:24:19 +00:00
Andy Polyakov
a3e07010b4
ppc-xlate.pl: get linux64 declaration right.
2011-05-16 19:52:41 +00:00
Andy Polyakov
2b9a8ca15b
x86gas.pl: add palignr and move pclmulqdq.
2011-05-16 18:07:00 +00:00
Andy Polyakov
b5c6aab57e
x86_64-xlate.pl: allow "base-less" effective address, add palignr, move
...
pclmulqdq.
2011-05-16 17:44:38 +00:00
Andy Polyakov
e382e4e603
perlasm/x86gas.pl: make OPENSSL_instrument_bus[2] compile.
2011-04-19 19:09:18 +00:00
Andy Polyakov
70d01a7f82
perlasm/x86[nm]asm.pl: make OPENSSL_instrument_bus[2] compile.
2011-04-18 20:18:03 +00:00
Andy Polyakov
f84a8ea526
x86gas.pl: make data_short work on legacy systems.
2011-02-10 21:24:24 +00:00
Andy Polyakov
d6522548dd
x86_64-xlate.pl: fix LNK4078 and LNK4210 link warnings.
...
PR 2356
2010-10-10 21:07:55 +00:00
Andy Polyakov
a9e790b95a
perlasm/x86_64-xlate.pl: extend SSE>2 to ml64.
2010-07-26 21:45:38 +00:00
Andy Polyakov
133a7f9a50
perlasm/x86asm.pl: move aesni and pclmulqdq opcodes to aesni-x86.pl and
...
ghash-x86.pl.
2010-07-26 21:42:07 +00:00
Andy Polyakov
d08eae1bda
x86 perlasm: add support for 16-bit values.
2010-06-04 13:13:18 +00:00
Andy Polyakov
f9a152bd90
x86_64-xlate.pl: refine mingw support and regexps, update commentary.
2010-06-01 05:56:24 +00:00
Andy Polyakov
ea7239cf15
x86asm.pl: consistency imrovements.
2010-05-13 15:28:07 +00:00
Andy Polyakov
046ea30864
x86_64-xlate.pl: refine some regexp's and add support for OWORD/QWORD PTR.
2010-05-13 15:26:46 +00:00
Andy Polyakov
fead253986
perlasm/x86*: add support to SSE>2 and pclmulqdq. x86_64-xlate.pl provides
...
correct solution to problem addressed in committ #19244 .
2010-04-10 13:55:05 +00:00
Dr. Stephen Henson
c95bf51167
don't assume 0x is at start of string
2010-02-03 18:19:22 +00:00
Andy Polyakov
7676eebf42
OPENSSL_cleanse to accept zero length parameter [matching C implementation].
2010-01-24 14:54:24 +00:00
Andy Polyakov
ee2b8ed2f5
x86_64-xlate.pl: refine sign extension logic when handling lea.
...
PR: 2094,2095
2010-01-19 16:15:23 +00:00
Andy Polyakov
10232bdc0e
x86_64-xlate.pl: new gas requires sign extention in lea instruction.
...
This resolves md5-x86_64.pl and sha1-x86_64.pl bugs, but without modifying
the code.
PR: 2094,2095
2009-11-15 17:11:38 +00:00
Andy Polyakov
55ff3aff8c
x86masm.pl: eliminate linker "multiple sections found with different
...
attributes" warning.
2009-11-15 17:06:44 +00:00
Andy Polyakov
6dd9066e0e
x86_64-xlate.pl: small commentary update.
2009-05-12 20:29:27 +00:00
Andy Polyakov
065c5d6328
Engage cmll-x86_64.pl in Win64 build and make it compile correctly.
2009-05-02 21:18:52 +00:00
Andy Polyakov
6c8b9259fc
AESNI perlasm update.
2009-04-26 17:58:58 +00:00
Andy Polyakov
e303f55fc7
Expand OPENSS_ia32cap to 64 bits.
2009-04-26 17:49:41 +00:00
Andy Polyakov
e81695205e
x86_64-xlate.pl: support for binary constants, such as 0b1010101.
2008-12-27 14:00:37 +00:00
Andy Polyakov
bf785c9849
x86_64-xlate.pl: fix masm hexadecimal constants.
2008-12-19 11:14:38 +00:00
Andy Polyakov
4db4882402
perlasm/x86* update: support for 3 and 4 argument instructions.
2008-12-17 19:56:48 +00:00
Andy Polyakov
93c4ba07d7
x86_64-xlate.pl update, engage x86_64 assembler in mingw64.
2008-11-14 16:40:37 +00:00
Andy Polyakov
8525377265
x86_64-xlate.pl to support MacOS X and mingw64.
2008-11-12 08:05:58 +00:00
Andy Polyakov
8fe8bae15a
Minor perlasm updates.
2008-11-03 08:46:07 +00:00
Andy Polyakov
80aa9cc985
x86_64-xlate.pl update: refine SEH support.
2008-10-28 08:40:07 +00:00
Andy Polyakov
b94551e823
perlasm update: implement dataseg directive.
2008-07-22 08:44:31 +00:00
Andy Polyakov
9b634c9b37
x86_64-xlate.pl: implement indirect jump/calls, support for Win64 SEH.
2008-07-22 08:42:06 +00:00
Andy Polyakov
e4662fdb62
x86masm.pl: harmonize functions' alignment.
2008-07-17 09:46:09 +00:00
Andy Polyakov
9960bdc6fa
x86masm.pl cosmetics.
2008-07-15 13:16:42 +00:00
Andy Polyakov
23dcb447ff
x86nasm.pl update: use pre-defined macros and allow for /safeseh link.
2008-07-15 12:50:44 +00:00
Andy Polyakov
4f46934269
Depict future Win64/x64 development.
2008-05-03 18:34:59 +00:00
Andy Polyakov
a23e3dbee1
Support for NASM>=2 in Win64/x64 build.
2008-02-13 13:07:52 +00:00
Andy Polyakov
8ab9025e31
Ad-hockery for Platform SDK ml64.
2008-02-11 13:04:39 +00:00
Andy Polyakov
addd641f3a
Unify ppc assembler make rules.
2008-01-13 22:01:30 +00:00
Andy Polyakov
a078befcbe
rc4-x86_64 portability fix.
2008-01-12 11:29:45 +00:00
Andy Polyakov
26e71a1850
x86gas.pl update.
2008-01-04 22:58:50 +00:00
Dr. Stephen Henson
eef0c1f34c
Netware support.
...
Submitted by: Guenter Knauf <eflash@gmx.net>
2008-01-03 22:43:04 +00:00
Andy Polyakov
3a87756fed
perlasm/x86*.pl updates.
2008-01-03 16:21:06 +00:00
Andy Polyakov
0fcb905b0d
ppc-xlate.pl update.
2007-12-29 18:50:44 +00:00
Andy Polyakov
df77428443
Mac OS X x86 assembler support.
2007-12-18 17:28:22 +00:00
Andy Polyakov
3e583572b3
Disable support for Metrowerks assembler. Assembler itself is broken,
...
specifically it incorrectly encodes EA offsets between 128 and 255.
2007-12-18 09:32:20 +00:00
Andy Polyakov
43d8f27dca
x86 perlasm overhaul.
2007-12-18 09:18:49 +00:00
Andy Polyakov
8789af8db8
Structure symbol decorations, optimize label handling...
2007-11-24 16:03:57 +00:00
Andy Polyakov
c1d2e00ec5
Synchronize x86nasm.pl with x86unix.pl.
2007-11-22 21:21:35 +00:00
Andy Polyakov
ad8bd4ece8
Combat [bogus] relocations in some assember modules.
2007-11-22 20:51:48 +00:00
Andy Polyakov
55eab3b74b
Make x86_64 modules work under Win64/x64.
2007-08-23 12:01:58 +00:00
Andy Polyakov
1988a456a7
x86 perlasm updates.
2007-07-25 12:38:11 +00:00
Andy Polyakov
287a9ee76e
gas -g doesn't tolerate unpadded .bytes in code segment.
2007-07-13 21:35:56 +00:00
Andy Polyakov
b1e8b4e65d
x86cpuid fixes.
...
PR: 1526
2007-05-19 17:52:51 +00:00
Andy Polyakov
c6149e2f02
ppc-xlate.pl update.
2007-05-19 17:32:06 +00:00
Andy Polyakov
932cc129ee
x86_64 assembler updates.
2007-05-14 15:57:19 +00:00
Andy Polyakov
8f41e4fa4d
link warnings caused by nasm modules.
2007-03-20 09:37:06 +00:00
Andy Polyakov
8b71d35458
nasm fixes.
2007-03-20 08:55:58 +00:00
Andy Polyakov
c038b8aa56
Typo in perlasm/x86asm.pl.
2006-10-17 16:21:28 +00:00
Andy Polyakov
d68ff71004
Support for .asciz directive in perlasm modules.
2006-10-17 06:43:11 +00:00
Andy Polyakov
4b67fefe5a
Remove x86ms.pl and reimplement x86*.pl.
2006-09-18 19:17:09 +00:00
Andy Polyakov
2f35ae90fe
Fix bug in x86unix.pl introduced in latest update.
...
PR: 1380
2006-08-31 21:12:17 +00:00
Andy Polyakov
0cc46efa09
perlasm/x86unix.pl update.
2006-07-31 22:26:40 +00:00
Andy Polyakov
d3a6461d71
Minor ppc-xlate.pl update.
2006-06-05 09:42:31 +00:00
Andy Polyakov
67d990904e
Futher minor PPC assembler update.
2006-05-04 21:30:41 +00:00
Andy Polyakov
c09a0318b7
Minor PPC assembler updates.
2006-05-03 14:07:34 +00:00
Andy Polyakov
fe716ba686
PPC assembler distiller update.
2006-05-03 13:39:34 +00:00
Andy Polyakov
2c5d4daac5
Yet another "teaser" Montgomery multiplication module, for PowerPC.
2006-04-30 21:15:29 +00:00
Dr. Stephen Henson
0c21e13012
Recognize mingw in perlasm.
2006-02-04 01:25:19 +00:00
Andy Polyakov
3ebf898e88
Support for indirect calls in x86 assembler modules.
2005-12-06 18:43:59 +00:00
Andy Polyakov
d1593e6b15
Whirlpool hash implementation. The fact that subdirectory and .h file are
...
called whrlpool is not a typo, but a way to keep the names shorter than
8 characters. Remaining TODO list comprises adding OID, EVP, corresponding
flag to apps/openssl dgst, benchmark, engage assembler...
2005-11-28 20:09:58 +00:00
Andy Polyakov
6a3a7f3076
Minor perlasm clean-up.
2005-11-09 17:20:26 +00:00
Andy Polyakov
f1fbd4c7d1
Address MASM-specific problems introduced with
...
http://cvs.openssl.org/chngview?cn=14547 .
2005-11-06 22:01:27 +00:00
Andy Polyakov
d256b95768
x86_64-xlate.pl commentary section update.
2005-11-06 11:59:39 +00:00
Andy Polyakov
7a6f825f0f
Make pshufw optional and update performance table in sha512-sse2.pl
...
[as per http://cvs.openssl.org/chngview?cn=14551 ].
2005-11-03 15:23:11 +00:00
Andy Polyakov
54f3d200d3
Throw in bn/asm/x86-mont.pl Montgomery multiplication "teaser".
2005-10-09 09:53:58 +00:00
Andy Polyakov
9ddeefe39d
Proper solution to nasm compilation problems in Borland context.
2005-09-20 06:13:06 +00:00
Andy Polyakov
afbe674edb
~15% better AES x86_64 assembler.
2005-07-18 09:15:04 +00:00
Andy Polyakov
e84b663a93
complementary x86_64-xlate.pl update.
2005-07-12 22:11:22 +00:00
Andy Polyakov
db22e5faa6
A report suggests that there're nasm version, which defaults to 16-bit
...
segmenting...
2005-06-28 11:28:43 +00:00
Andy Polyakov
e442c36252
Solaris x86_64 /usr/ccs/bin/as support.
2005-06-20 14:56:48 +00:00
Andy Polyakov
f8bc3e1bd8
Platform update from 8-stable.
2005-05-31 11:07:27 +00:00
Andy Polyakov
82d3dda8a1
Still SEGV trouble in .init segment under Solaris x86...
2005-05-21 17:49:10 +00:00
Andy Polyakov
e19e549041
Comply with optimization manual (no data should share cache-line with code).
2005-05-09 21:48:01 +00:00
Andy Polyakov
d7561ac576
Allow for 64-bit cache-line alignments in code segment.
2005-05-09 21:27:40 +00:00
Andy Polyakov
5d0d60e2f5
x86_64 assembler translator update.
2005-05-07 08:13:51 +00:00
Andy Polyakov
70cf309517
x86_64 assembler translator update.
2005-05-04 08:42:47 +00:00
Andy Polyakov
4b45051902
x86_64 assembler translator update.
2005-05-03 15:35:14 +00:00
Andy Polyakov
3d5fd31280
Avoid L1 cache aliasing even between key and S-boxes.
2005-04-24 21:09:20 +00:00
Andy Polyakov
1cfd258ed6
Throw in x86_64 AT&T to MASM assembler converter to facilitate development
...
of dual-ABI Unix/Win64 modules.
2005-04-17 21:05:57 +00:00
Andy Polyakov
e5dbccc182
Solaris x86 linker erroneously pads .init segment with zeros instead of
...
nops, which causes SEGV at startup. So I don't align anymore.
2005-04-04 17:07:16 +00:00
Andy Polyakov
da30c74a27
Remove unused assembler modules.
2005-02-06 13:43:02 +00:00
Andy Polyakov
addb6e16a8
Throw in AES CBC assembler, up to +40% on aes-128-cbc benchmark.
2005-01-18 01:04:41 +00:00
Andy Polyakov
556b8f3f77
Engage AES x86 assembler module for COFF and a.out targets.
2004-12-26 10:58:39 +00:00
Andy Polyakov
d1df5b4339
x86 perlasm update to accomodate aes-586.pl.
2004-12-23 21:43:25 +00:00
Andy Polyakov
0c0788ba0a
Solaris x86 perlasm update.
2004-12-10 11:24:42 +00:00
Andy Polyakov
914c2a28c0
perlasm/x86[ms|nasm] update to accomodate updated RC4 assembler module.
2004-11-27 15:14:58 +00:00
Andy Polyakov
376729e130
RC4 tune-up for Intel P4 core, both 32- and 64-bit ones. As it's
...
apparently impossible to compose blended code with would perform
satisfactory on all x86 and x86_64 cores, an extra RC4_CHAR
code-path is introduced and P4 core is detected at run-time. This
way we keep original performance on non-P4 implementations and
turbo-charge P4 performance by factor of 2.8x (on 32-bit core).
2004-11-21 10:36:25 +00:00
Andy Polyakov
07d488daf6
Fix Solaris 10_x86 shared build. -Bsymbolic is required to avoid
...
"remaining relocations" in assembler modules. The latter seems to
be new behaviour, elder as/ld managed to resolve this relocations
as internal. It's possible to address this problem differently,
but I settle for -Bsymbolic...
PR: 546
2004-09-28 20:45:10 +00:00
Andy Polyakov
c85c5c408a
x86 assembler updates: more instructions, new OPENSSL_instrument_halt
...
[for DJGPP]...
2004-09-09 14:50:32 +00:00
Andy Polyakov
16760a3089
Proper support for OpenBSD-i386 shared build, including assember modules!
...
"Proper" means "compiles and passes test." Versioning is broken (I think).
2004-08-29 21:36:37 +00:00
Andy Polyakov
a8c65b400c
crypto/perlasm update primarily to unify Netware modules. Once it's verified
...
x86*_nw.pl will be deleted. In addition this update implements initseg
on several additional [in addition to ELF] platforms. Functions registered
with initseg are supposed to be called prior main().
2004-08-29 16:10:27 +00:00
Andy Polyakov
42096e05f7
Avoid a.out name table pollition.
2004-08-02 22:02:17 +00:00
Andy Polyakov
34413fca84
OpenBSD fix-up for new a.out targets. OpenBSD .s.o rule is busted...
2004-08-01 21:16:26 +00:00
Andy Polyakov
8aae01e223
Deprecate cpp and gaswin targets. New coff fills in for gaswin, but cpp is
...
going out...
2004-08-01 17:03:50 +00:00
Andy Polyakov
14e21f863a
Add framework for yet another assembler module dubbed "cpuid." Idea
...
is to have a placeholder to small routines, which can be written only
in assembler. In IA-32 case this includes processor capability
identification and access to Time-Stamp Counter. As discussed earlier
OPENSSL_ia32cap is introduced to control recently added SSE2 code
pathes (see docs/crypto/OPENSSL_ia32cap.pod). For the moment the
code is operational on ELF platforms only. I haven't checked it yet,
but I have all reasons to believe that Windows build should fail to
link too. I'll be looking into it shortly...
2004-07-26 20:18:55 +00:00
Andy Polyakov
10e7d6d526
Support for IA-32 SSE2 instruction set.
2004-05-06 10:31:09 +00:00
Richard Levitte
4d8743f490
Netware-specific changes,
...
PR: 780
Submitted by: Verdon Walker <VWalker@novell.com>
Reviewed by: Richard Levitte
2003-11-28 13:10:58 +00:00
Richard Levitte
1be02dd842
Make MD5 assembler code able to handle messages larger than 2GB on 32-bit
...
systems and above.
PR: 664
2003-09-27 22:14:39 +00:00
Andy Polyakov
02bf9a151a
Provide "dummy" &main::picmeup even in Windows perlasm modules.
2003-01-24 09:39:31 +00:00
Andy Polyakov
989f48d8c1
Avoid unnecessary pollution of object module name table. Cygwin shared
...
build workaround (DJGPP swallows it too). One probably should do same
as with ELF calling it COFF, but I'm very short in COFF platforms, so
I just go for easy ad-hoc solution. I'll take care of merge to 0.9.7
later.
2003-01-10 10:16:39 +00:00
Andy Polyakov
9d1b5614f9
At least OpenBSD implements PIC in the same way ELF does.
2003-01-09 16:06:09 +00:00
Andy Polyakov
2a9fca82d2
Oops! I've toasted Cygwin! Fixed now.
2003-01-03 21:49:49 +00:00
Andy Polyakov
3cc9a89dda
Unified targets for ELF assembler modules. Tested on Linux, Solaris and
...
FreeBSD. Goal is to extend support even to SCO5, UnixWare/OpenUnix...
2003-01-03 17:37:53 +00:00
Andy Polyakov
4553ed276b
Make "perl des-586.pl a.out" work, see RT#402
2002-12-17 08:05:49 +00:00
Andy Polyakov
a45051fbfc
DES PIC-ification. "Cygwin" companion. Problem was that preprocessor macro
...
is not expanded if prepended with a $-sign.
2002-12-15 10:06:27 +00:00
Andy Polyakov
717c5cdcc7
As you might have noticed I tried to change for . prefix, because it's
...
the one to be used to denote local labels in single function scope.
Problem is that SHA uses same label set across functions, therefore I
have to switch back to $ prefix.
2002-12-14 23:14:00 +00:00
Andy Polyakov
270fa8aeda
DES PIC-ification. Windows companion.
2002-12-14 17:54:30 +00:00
Andy Polyakov
6f7ac8e1b0
IA-32 assembler modules (primarily DES) PIC-ification. Idea is to keep
...
shared libraries shared.
2002-12-13 17:56:14 +00:00
Richard Levitte
ec9ea6a3c8
Further enhance assembler support on Cygwin and DJGPP.
...
Make pod2mantest useable on DOS-based systems.
Part of PR 75, the rest is still under investigation.
2002-07-18 12:37:59 +00:00
Richard Levitte
e1a32c1807
Use 32-bit sections instead of the default, 16-bit ones.
...
Part of PR 123
2002-06-27 14:54:34 +00:00
Richard Levitte
20251f01ea
Accept digits in symbol names. Spotted by Brian Havard <brianh@kheldar.apana.org.au>
2001-06-04 16:34:31 +00:00
Ulf Möller
ef8f14a882
another fix for the debug print
2000-12-06 04:14:37 +00:00
Ulf Möller
e4d56bab5b
move constants for debug functions to end of file
2000-12-06 00:19:09 +00:00
Ulf Möller
e4c5391ddb
push the flags too
2000-12-05 06:38:45 +00:00
Ulf Möller
0c34556cbd
looks like it works now
2000-12-05 05:39:43 +00:00
Ulf Möller
b50118ca3e
save registers in the debug output code (return value is overwritten too)
2000-12-05 05:10:05 +00:00
Ulf Möller
a57ecb95f6
more of the same: add printf() for perlasm.
2000-12-05 04:39:39 +00:00
Ulf Möller
428a55a0fe
minor modification to the previous change
2000-12-05 03:57:58 +00:00
Ulf Möller
cc74659fcc
PERLASM - the wierdest programming language since Intercal.
...
add debug output facilities.
2000-12-05 03:51:46 +00:00
Dr. Stephen Henson
d9c88a3902
Move the 'file scope' argument in set_label to
...
the third argument: the second was being used
already.
2000-03-03 00:06:40 +00:00
Ulf Möller
2da0c11926
Support assembler for Mingw32.
2000-02-28 19:16:41 +00:00
Dr. Stephen Henson
94de04192d
Fix so Win32 assembly language works with MASM.
...
Add info about where to get MASM.
2000-02-27 01:15:25 +00:00
Andy Polyakov
099f1b32c8
Initial support for MacOS is now available
...
Submitted by: Roy Woods <roy@centricsystems.ca>
Reviewed by: Andy Polyakov
1999-12-19 16:17:45 +00:00
Dr. Stephen Henson
bbdb543844
More NASM support code it still doesn't work but it doesn't work less than it
...
didn't work before :-)
1999-07-12 18:12:43 +00:00
Dr. Stephen Henson
72e2ffee20
Beginnings of experimental support for NASM assembler. This is a free
...
assembler for various X86 platforms including Win32. It can output object files
that VC++ will tolerate so it could be used to provide assembly language support
to Win32 without the need for MASM.
This is preliminary stuff: it doesn't even work yet.
1999-07-12 12:33:16 +00:00