mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 03:14:59 -06:00
22.00
This commit is contained in:
0
Asm/arm/7zCrcOpt.asm
Normal file → Executable file
0
Asm/arm/7zCrcOpt.asm
Normal file → Executable file
0
Asm/arm64/7zAsm.S
Normal file → Executable file
0
Asm/arm64/7zAsm.S
Normal file → Executable file
0
Asm/arm64/LzmaDecOpt.S
Normal file → Executable file
0
Asm/arm64/LzmaDecOpt.S
Normal file → Executable file
7
Asm/x86/7zAsm.asm
Normal file → Executable file
7
Asm/x86/7zAsm.asm
Normal file → Executable file
@@ -1,7 +1,12 @@
|
|||||||
; 7zAsm.asm -- ASM macros
|
; 7zAsm.asm -- ASM macros
|
||||||
; 2021-12-25 : Igor Pavlov : Public domain
|
; 2022-05-16 : Igor Pavlov : Public domain
|
||||||
|
|
||||||
|
|
||||||
|
; UASM can require these changes
|
||||||
|
; OPTION FRAMEPRESERVEFLAGS:ON
|
||||||
|
; OPTION PROLOGUE:NONE
|
||||||
|
; OPTION EPILOGUE:NONE
|
||||||
|
|
||||||
ifdef @wordsize
|
ifdef @wordsize
|
||||||
; @wordsize is defined only in JWASM and ASMC and is not defined in MASM
|
; @wordsize is defined only in JWASM and ASMC and is not defined in MASM
|
||||||
; @wordsize eq 8 for 64-bit x64
|
; @wordsize eq 8 for 64-bit x64
|
||||||
|
|||||||
0
Asm/x86/7zCrcOpt.asm
Normal file → Executable file
0
Asm/x86/7zCrcOpt.asm
Normal file → Executable file
0
Asm/x86/AesOpt.asm
Normal file → Executable file
0
Asm/x86/AesOpt.asm
Normal file → Executable file
0
Asm/x86/LzFindOpt.asm
Normal file → Executable file
0
Asm/x86/LzFindOpt.asm
Normal file → Executable file
0
Asm/x86/LzmaDecOpt.asm
Normal file → Executable file
0
Asm/x86/LzmaDecOpt.asm
Normal file → Executable file
0
Asm/x86/Sha1Opt.asm
Normal file → Executable file
0
Asm/x86/Sha1Opt.asm
Normal file → Executable file
32
Asm/x86/Sha256Opt.asm
Normal file → Executable file
32
Asm/x86/Sha256Opt.asm
Normal file → Executable file
@@ -1,5 +1,5 @@
|
|||||||
; Sha256Opt.asm -- SHA-256 optimized code for SHA-256 x86 hardware instructions
|
; Sha256Opt.asm -- SHA-256 optimized code for SHA-256 x86 hardware instructions
|
||||||
; 2021-03-10 : Igor Pavlov : Public domain
|
; 2022-04-17 : Igor Pavlov : Public domain
|
||||||
|
|
||||||
include 7zAsm.asm
|
include 7zAsm.asm
|
||||||
|
|
||||||
@@ -55,13 +55,19 @@ ifndef x64
|
|||||||
.xmm
|
.xmm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
; jwasm-based assemblers for linux and linker from new versions of binutils
|
||||||
|
; can generate incorrect code for load [ARRAY + offset] instructions.
|
||||||
|
; 22.00: we load K_CONST offset to (rTable) register to avoid jwasm+binutils problem
|
||||||
|
rTable equ r0
|
||||||
|
; rTable equ K_CONST
|
||||||
|
|
||||||
ifdef x64
|
ifdef x64
|
||||||
rNum equ REG_ABI_PARAM_2
|
rNum equ REG_ABI_PARAM_2
|
||||||
if (IS_LINUX eq 0)
|
if (IS_LINUX eq 0)
|
||||||
LOCAL_SIZE equ (16 * 2)
|
LOCAL_SIZE equ (16 * 2)
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
rNum equ r0
|
rNum equ r3
|
||||||
LOCAL_SIZE equ (16 * 1)
|
LOCAL_SIZE equ (16 * 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -103,15 +109,18 @@ MY_PROLOG macro
|
|||||||
movdqa [r4 + 16], xmm9
|
movdqa [r4 + 16], xmm9
|
||||||
endif
|
endif
|
||||||
else ; x86
|
else ; x86
|
||||||
if (IS_CDECL gt 0)
|
push r3
|
||||||
mov rState, [r4 + REG_SIZE * 1]
|
|
||||||
mov rData, [r4 + REG_SIZE * 2]
|
|
||||||
mov rNum, [r4 + REG_SIZE * 3]
|
|
||||||
else ; fastcall
|
|
||||||
mov rNum, [r4 + REG_SIZE * 1]
|
|
||||||
endif
|
|
||||||
push r5
|
push r5
|
||||||
mov r5, r4
|
mov r5, r4
|
||||||
|
NUM_PUSH_REGS equ 2
|
||||||
|
PARAM_OFFSET equ (REG_SIZE * (1 + NUM_PUSH_REGS))
|
||||||
|
if (IS_CDECL gt 0)
|
||||||
|
mov rState, [r4 + PARAM_OFFSET]
|
||||||
|
mov rData, [r4 + PARAM_OFFSET + REG_SIZE * 1]
|
||||||
|
mov rNum, [r4 + PARAM_OFFSET + REG_SIZE * 2]
|
||||||
|
else ; fastcall
|
||||||
|
mov rNum, [r4 + PARAM_OFFSET]
|
||||||
|
endif
|
||||||
and r4, -16
|
and r4, -16
|
||||||
sub r4, LOCAL_SIZE
|
sub r4, LOCAL_SIZE
|
||||||
endif
|
endif
|
||||||
@@ -129,6 +138,7 @@ MY_EPILOG macro
|
|||||||
else ; x86
|
else ; x86
|
||||||
mov r4, r5
|
mov r4, r5
|
||||||
pop r5
|
pop r5
|
||||||
|
pop r3
|
||||||
endif
|
endif
|
||||||
MY_ENDP
|
MY_ENDP
|
||||||
endm
|
endm
|
||||||
@@ -171,7 +181,7 @@ pre2 equ 2
|
|||||||
|
|
||||||
|
|
||||||
RND4 macro k
|
RND4 macro k
|
||||||
movdqa msg, xmmword ptr [K_CONST + (k) * 16]
|
movdqa msg, xmmword ptr [rTable + (k) * 16]
|
||||||
paddd msg, @CatStr(xmm, %(w_regs + ((k + 0) mod 4)))
|
paddd msg, @CatStr(xmm, %(w_regs + ((k + 0) mod 4)))
|
||||||
MY_sha256rnds2 state0_N, state1_N
|
MY_sha256rnds2 state0_N, state1_N
|
||||||
pshufd msg, msg, 0eH
|
pshufd msg, msg, 0eH
|
||||||
@@ -210,6 +220,8 @@ endm
|
|||||||
MY_PROC Sha256_UpdateBlocks_HW, 3
|
MY_PROC Sha256_UpdateBlocks_HW, 3
|
||||||
MY_PROLOG
|
MY_PROLOG
|
||||||
|
|
||||||
|
lea rTable, [K_CONST]
|
||||||
|
|
||||||
cmp rNum, 0
|
cmp rNum, 0
|
||||||
je end_c
|
je end_c
|
||||||
|
|
||||||
|
|||||||
0
Asm/x86/XzCrc64Opt.asm
Normal file → Executable file
0
Asm/x86/XzCrc64Opt.asm
Normal file → Executable file
0
C/7zAlloc.c
Normal file → Executable file
0
C/7zAlloc.c
Normal file → Executable file
0
C/7zAlloc.h
Normal file → Executable file
0
C/7zAlloc.h
Normal file → Executable file
0
C/7zArcIn.c
Normal file → Executable file
0
C/7zArcIn.c
Normal file → Executable file
0
C/7zBuf2.c
Normal file → Executable file
0
C/7zBuf2.c
Normal file → Executable file
0
C/7zCrcOpt.c
Normal file → Executable file
0
C/7zCrcOpt.c
Normal file → Executable file
0
C/7zFile.c
Normal file → Executable file
0
C/7zFile.c
Normal file → Executable file
0
C/7zFile.h
Normal file → Executable file
0
C/7zFile.h
Normal file → Executable file
0
C/7zStream.c
Normal file → Executable file
0
C/7zStream.c
Normal file → Executable file
14
C/7zTypes.h
Normal file → Executable file
14
C/7zTypes.h
Normal file → Executable file
@@ -1,5 +1,5 @@
|
|||||||
/* 7zTypes.h -- Basic types
|
/* 7zTypes.h -- Basic types
|
||||||
2021-12-25 : Igor Pavlov : Public domain */
|
2022-04-01 : Igor Pavlov : Public domain */
|
||||||
|
|
||||||
#ifndef __7Z_TYPES_H
|
#ifndef __7Z_TYPES_H
|
||||||
#define __7Z_TYPES_H
|
#define __7Z_TYPES_H
|
||||||
@@ -133,10 +133,6 @@ typedef int WRes;
|
|||||||
#define MY__E_ERROR_NEGATIVE_SEEK MY_HRESULT_FROM_errno_CONST_ERROR(EINVAL)
|
#define MY__E_ERROR_NEGATIVE_SEEK MY_HRESULT_FROM_errno_CONST_ERROR(EINVAL)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// gcc / clang : (sizeof(long) == sizeof(void*)) in 32/64 bits
|
|
||||||
typedef long INT_PTR;
|
|
||||||
typedef unsigned long UINT_PTR;
|
|
||||||
|
|
||||||
#define TEXT(quote) quote
|
#define TEXT(quote) quote
|
||||||
|
|
||||||
#define FILE_ATTRIBUTE_READONLY 0x0001
|
#define FILE_ATTRIBUTE_READONLY 0x0001
|
||||||
@@ -520,6 +516,14 @@ struct ISzAlloc
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define k_PropVar_TimePrec_0 0
|
||||||
|
#define k_PropVar_TimePrec_Unix 1
|
||||||
|
#define k_PropVar_TimePrec_DOS 2
|
||||||
|
#define k_PropVar_TimePrec_HighPrec 3
|
||||||
|
#define k_PropVar_TimePrec_Base 16
|
||||||
|
#define k_PropVar_TimePrec_100ns (k_PropVar_TimePrec_Base + 7)
|
||||||
|
#define k_PropVar_TimePrec_1ns (k_PropVar_TimePrec_Base + 9)
|
||||||
|
|
||||||
EXTERN_C_END
|
EXTERN_C_END
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
10
C/7zVersion.h
Normal file → Executable file
10
C/7zVersion.h
Normal file → Executable file
@@ -1,7 +1,7 @@
|
|||||||
#define MY_VER_MAJOR 21
|
#define MY_VER_MAJOR 22
|
||||||
#define MY_VER_MINOR 07
|
#define MY_VER_MINOR 00
|
||||||
#define MY_VER_BUILD 0
|
#define MY_VER_BUILD 0
|
||||||
#define MY_VERSION_NUMBERS "21.07"
|
#define MY_VERSION_NUMBERS "22.00"
|
||||||
#define MY_VERSION MY_VERSION_NUMBERS
|
#define MY_VERSION MY_VERSION_NUMBERS
|
||||||
|
|
||||||
#ifdef MY_CPU_NAME
|
#ifdef MY_CPU_NAME
|
||||||
@@ -10,12 +10,12 @@
|
|||||||
#define MY_VERSION_CPU MY_VERSION
|
#define MY_VERSION_CPU MY_VERSION
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MY_DATE "2021-12-26"
|
#define MY_DATE "2022-06-15"
|
||||||
#undef MY_COPYRIGHT
|
#undef MY_COPYRIGHT
|
||||||
#undef MY_VERSION_COPYRIGHT_DATE
|
#undef MY_VERSION_COPYRIGHT_DATE
|
||||||
#define MY_AUTHOR_NAME "Igor Pavlov"
|
#define MY_AUTHOR_NAME "Igor Pavlov"
|
||||||
#define MY_COPYRIGHT_PD "Igor Pavlov : Public domain"
|
#define MY_COPYRIGHT_PD "Igor Pavlov : Public domain"
|
||||||
#define MY_COPYRIGHT_CR "Copyright (c) 1999-2021 Igor Pavlov"
|
#define MY_COPYRIGHT_CR "Copyright (c) 1999-2022 Igor Pavlov"
|
||||||
|
|
||||||
#ifdef USE_COPYRIGHT_CR
|
#ifdef USE_COPYRIGHT_CR
|
||||||
#define MY_COPYRIGHT MY_COPYRIGHT_CR
|
#define MY_COPYRIGHT MY_COPYRIGHT_CR
|
||||||
|
|||||||
0
C/7zVersion.rc
Normal file → Executable file
0
C/7zVersion.rc
Normal file → Executable file
0
C/7zip_gcc_c.mak
Normal file → Executable file
0
C/7zip_gcc_c.mak
Normal file → Executable file
0
C/AesOpt.c
Normal file → Executable file
0
C/AesOpt.c
Normal file → Executable file
0
C/Bcj2Enc.c
Normal file → Executable file
0
C/Bcj2Enc.c
Normal file → Executable file
0
C/Blake2.h
Normal file → Executable file
0
C/Blake2.h
Normal file → Executable file
0
C/Blake2s.c
Normal file → Executable file
0
C/Blake2s.c
Normal file → Executable file
0
C/BraIA64.c
Normal file → Executable file
0
C/BraIA64.c
Normal file → Executable file
0
C/BwtSort.c
Normal file → Executable file
0
C/BwtSort.c
Normal file → Executable file
0
C/BwtSort.h
Normal file → Executable file
0
C/BwtSort.h
Normal file → Executable file
0
C/Compiler.h
Normal file → Executable file
0
C/Compiler.h
Normal file → Executable file
0
C/CpuArch.c
Normal file → Executable file
0
C/CpuArch.c
Normal file → Executable file
0
C/CpuArch.h
Normal file → Executable file
0
C/CpuArch.h
Normal file → Executable file
0
C/DllSecur.c
Normal file → Executable file
0
C/DllSecur.c
Normal file → Executable file
0
C/DllSecur.h
Normal file → Executable file
0
C/DllSecur.h
Normal file → Executable file
0
C/HuffEnc.c
Normal file → Executable file
0
C/HuffEnc.c
Normal file → Executable file
0
C/HuffEnc.h
Normal file → Executable file
0
C/HuffEnc.h
Normal file → Executable file
0
C/LzFind.c
Normal file → Executable file
0
C/LzFind.c
Normal file → Executable file
0
C/LzFind.h
Normal file → Executable file
0
C/LzFind.h
Normal file → Executable file
0
C/LzFindMt.c
Normal file → Executable file
0
C/LzFindMt.c
Normal file → Executable file
0
C/LzFindMt.h
Normal file → Executable file
0
C/LzFindMt.h
Normal file → Executable file
0
C/LzFindOpt.c
Normal file → Executable file
0
C/LzFindOpt.c
Normal file → Executable file
0
C/LzHash.h
Normal file → Executable file
0
C/LzHash.h
Normal file → Executable file
0
C/Lzma2Dec.c
Normal file → Executable file
0
C/Lzma2Dec.c
Normal file → Executable file
0
C/Lzma2Dec.h
Normal file → Executable file
0
C/Lzma2Dec.h
Normal file → Executable file
0
C/Lzma2DecMt.c
Normal file → Executable file
0
C/Lzma2DecMt.c
Normal file → Executable file
0
C/Lzma2DecMt.h
Normal file → Executable file
0
C/Lzma2DecMt.h
Normal file → Executable file
0
C/Lzma2Enc.c
Normal file → Executable file
0
C/Lzma2Enc.c
Normal file → Executable file
0
C/Lzma2Enc.h
Normal file → Executable file
0
C/Lzma2Enc.h
Normal file → Executable file
0
C/Lzma86.h
Normal file → Executable file
0
C/Lzma86.h
Normal file → Executable file
0
C/Lzma86Dec.c
Normal file → Executable file
0
C/Lzma86Dec.c
Normal file → Executable file
0
C/Lzma86Enc.c
Normal file → Executable file
0
C/Lzma86Enc.c
Normal file → Executable file
0
C/LzmaDec.c
Normal file → Executable file
0
C/LzmaDec.c
Normal file → Executable file
0
C/LzmaDec.h
Normal file → Executable file
0
C/LzmaDec.h
Normal file → Executable file
0
C/LzmaEnc.c
Normal file → Executable file
0
C/LzmaEnc.c
Normal file → Executable file
0
C/LzmaEnc.h
Normal file → Executable file
0
C/LzmaEnc.h
Normal file → Executable file
0
C/LzmaLib.c
Normal file → Executable file
0
C/LzmaLib.c
Normal file → Executable file
0
C/LzmaLib.h
Normal file → Executable file
0
C/LzmaLib.h
Normal file → Executable file
0
C/MtCoder.c
Normal file → Executable file
0
C/MtCoder.c
Normal file → Executable file
0
C/MtCoder.h
Normal file → Executable file
0
C/MtCoder.h
Normal file → Executable file
0
C/Ppmd7Dec.c
Normal file → Executable file
0
C/Ppmd7Dec.c
Normal file → Executable file
0
C/Ppmd7Enc.c
Normal file → Executable file
0
C/Ppmd7Enc.c
Normal file → Executable file
0
C/Ppmd7aDec.c
Normal file → Executable file
0
C/Ppmd7aDec.c
Normal file → Executable file
0
C/Ppmd8Dec.c
Normal file → Executable file
0
C/Ppmd8Dec.c
Normal file → Executable file
0
C/Ppmd8Enc.c
Normal file → Executable file
0
C/Ppmd8Enc.c
Normal file → Executable file
0
C/Precomp.h
Normal file → Executable file
0
C/Precomp.h
Normal file → Executable file
0
C/RotateDefs.h
Normal file → Executable file
0
C/RotateDefs.h
Normal file → Executable file
0
C/Sha1Opt.c
Normal file → Executable file
0
C/Sha1Opt.c
Normal file → Executable file
0
C/Sha256.c
Normal file → Executable file
0
C/Sha256.c
Normal file → Executable file
0
C/Sha256.h
Normal file → Executable file
0
C/Sha256.h
Normal file → Executable file
0
C/Sha256Opt.c
Normal file → Executable file
0
C/Sha256Opt.c
Normal file → Executable file
0
C/Threads.c
Normal file → Executable file
0
C/Threads.c
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user