mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-02-12 23:25:21 +00:00
- updated LZMA to 21.07
https://www.7-zip.org/sdk.html https://www.7-zip.org/a/lzma2107.7z
This commit is contained in:
parent
0947f60c3b
commit
6aea7694bc
7 changed files with 55 additions and 16 deletions
|
@ -1,5 +1,5 @@
|
||||||
/* 7zTypes.h -- Basic types
|
/* 7zTypes.h -- Basic types
|
||||||
2021-07-13 : Igor Pavlov : Public domain */
|
2021-12-25 : Igor Pavlov : Public domain */
|
||||||
|
|
||||||
#ifndef __7Z_TYPES_H
|
#ifndef __7Z_TYPES_H
|
||||||
#define __7Z_TYPES_H
|
#define __7Z_TYPES_H
|
||||||
|
@ -105,6 +105,7 @@ typedef int WRes;
|
||||||
|
|
||||||
// we use errno equivalents for some WIN32 errors:
|
// we use errno equivalents for some WIN32 errors:
|
||||||
|
|
||||||
|
#define ERROR_INVALID_PARAMETER EINVAL
|
||||||
#define ERROR_INVALID_FUNCTION EINVAL
|
#define ERROR_INVALID_FUNCTION EINVAL
|
||||||
#define ERROR_ALREADY_EXISTS EEXIST
|
#define ERROR_ALREADY_EXISTS EEXIST
|
||||||
#define ERROR_FILE_EXISTS EEXIST
|
#define ERROR_FILE_EXISTS EEXIST
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#define MY_VER_MAJOR 21
|
#define MY_VER_MAJOR 21
|
||||||
#define MY_VER_MINOR 06
|
#define MY_VER_MINOR 07
|
||||||
#define MY_VER_BUILD 0
|
#define MY_VER_BUILD 0
|
||||||
#define MY_VERSION_NUMBERS "21.06"
|
#define MY_VERSION_NUMBERS "21.07"
|
||||||
#define MY_VERSION MY_VERSION_NUMBERS
|
#define MY_VERSION MY_VERSION_NUMBERS
|
||||||
|
|
||||||
#ifdef MY_CPU_NAME
|
#ifdef MY_CPU_NAME
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
#define MY_VERSION_CPU MY_VERSION
|
#define MY_VERSION_CPU MY_VERSION
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MY_DATE "2021-11-24"
|
#define MY_DATE "2021-12-26"
|
||||||
#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"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* LzFindMt.c -- multithreaded Match finder for LZ algorithms
|
/* LzFindMt.c -- multithreaded Match finder for LZ algorithms
|
||||||
2021-07-12 : Igor Pavlov : Public domain */
|
2021-12-21 : Igor Pavlov : Public domain */
|
||||||
|
|
||||||
#include "Precomp.h"
|
#include "Precomp.h"
|
||||||
|
|
||||||
|
@ -832,8 +832,8 @@ void MatchFinderMt_Destruct(CMatchFinderMt *p, ISzAllocPtr alloc)
|
||||||
#define kBtBufferSize (kMtBtBlockSize * kMtBtNumBlocks)
|
#define kBtBufferSize (kMtBtBlockSize * kMtBtNumBlocks)
|
||||||
|
|
||||||
|
|
||||||
static THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE HashThreadFunc2(void *p) { HashThreadFunc((CMatchFinderMt *)p); return 0; }
|
static THREAD_FUNC_DECL HashThreadFunc2(void *p) { HashThreadFunc((CMatchFinderMt *)p); return 0; }
|
||||||
static THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE BtThreadFunc2(void *p)
|
static THREAD_FUNC_DECL BtThreadFunc2(void *p)
|
||||||
{
|
{
|
||||||
Byte allocaDummy[0x180];
|
Byte allocaDummy[0x180];
|
||||||
unsigned i = 0;
|
unsigned i = 0;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
/* Threads.c -- multithreading library
|
/* Threads.c -- multithreading library
|
||||||
2021-07-12 : Igor Pavlov : Public domain */
|
2021-12-21 : Igor Pavlov : Public domain */
|
||||||
|
|
||||||
#include "Precomp.h"
|
#include "Precomp.h"
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
#ifndef UNDER_CE
|
#ifndef USE_THREADS_CreateThread
|
||||||
#include <process.h>
|
#include <process.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -63,10 +63,10 @@ WRes Thread_Create(CThread *p, THREAD_FUNC_TYPE func, LPVOID param)
|
||||||
{
|
{
|
||||||
/* Windows Me/98/95: threadId parameter may not be NULL in _beginthreadex/CreateThread functions */
|
/* Windows Me/98/95: threadId parameter may not be NULL in _beginthreadex/CreateThread functions */
|
||||||
|
|
||||||
#ifdef UNDER_CE
|
#ifdef USE_THREADS_CreateThread
|
||||||
|
|
||||||
DWORD threadId;
|
DWORD threadId;
|
||||||
*p = CreateThread(0, 0, func, param, 0, &threadId);
|
*p = CreateThread(NULL, 0, func, param, 0, &threadId);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ WRes Thread_Create(CThread *p, THREAD_FUNC_TYPE func, LPVOID param)
|
||||||
|
|
||||||
WRes Thread_Create_With_Affinity(CThread *p, THREAD_FUNC_TYPE func, LPVOID param, CAffinityMask affinity)
|
WRes Thread_Create_With_Affinity(CThread *p, THREAD_FUNC_TYPE func, LPVOID param, CAffinityMask affinity)
|
||||||
{
|
{
|
||||||
#ifdef UNDER_CE
|
#ifdef USE_THREADS_CreateThread
|
||||||
|
|
||||||
UNUSED_VAR(affinity)
|
UNUSED_VAR(affinity)
|
||||||
return Thread_Create(p, func, param);
|
return Thread_Create(p, func, param);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Threads.h -- multithreading library
|
/* Threads.h -- multithreading library
|
||||||
2021-07-12 : Igor Pavlov : Public domain */
|
2021-12-21 : Igor Pavlov : Public domain */
|
||||||
|
|
||||||
#ifndef __7Z_THREADS_H
|
#ifndef __7Z_THREADS_H
|
||||||
#define __7Z_THREADS_H
|
#define __7Z_THREADS_H
|
||||||
|
@ -38,8 +38,14 @@ typedef HANDLE CThread;
|
||||||
#define Thread_Close(p) HandlePtr_Close(p)
|
#define Thread_Close(p) HandlePtr_Close(p)
|
||||||
// #define Thread_Wait(p) Handle_WaitObject(*(p))
|
// #define Thread_Wait(p) Handle_WaitObject(*(p))
|
||||||
|
|
||||||
|
#ifdef UNDER_CE
|
||||||
|
// if (USE_THREADS_CreateThread is defined), we use _beginthreadex()
|
||||||
|
// if (USE_THREADS_CreateThread is not definned), we use CreateThread()
|
||||||
|
#define USE_THREADS_CreateThread
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
#ifdef UNDER_CE
|
#ifdef USE_THREADS_CreateThread
|
||||||
DWORD
|
DWORD
|
||||||
#else
|
#else
|
||||||
unsigned
|
unsigned
|
||||||
|
@ -90,7 +96,30 @@ typedef UInt64 CCpuSet;
|
||||||
|
|
||||||
|
|
||||||
#define THREAD_FUNC_CALL_TYPE MY_STD_CALL
|
#define THREAD_FUNC_CALL_TYPE MY_STD_CALL
|
||||||
#define THREAD_FUNC_DECL THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE
|
|
||||||
|
#if defined(_WIN32) && defined(__GNUC__)
|
||||||
|
/* GCC compiler for x86 32-bit uses the rule:
|
||||||
|
the stack is 16-byte aligned before CALL instruction for function calling.
|
||||||
|
But only root function main() contains instructions that
|
||||||
|
set 16-byte alignment for stack pointer. And another functions
|
||||||
|
just keep alignment, if it was set in some parent function.
|
||||||
|
|
||||||
|
The problem:
|
||||||
|
if we create new thread in MinGW (GCC) 32-bit x86 via _beginthreadex() or CreateThread(),
|
||||||
|
the root function of thread doesn't set 16-byte alignment.
|
||||||
|
And stack frames in all child functions also will be unaligned in that case.
|
||||||
|
|
||||||
|
Here we set (force_align_arg_pointer) attribute for root function of new thread.
|
||||||
|
Do we need (force_align_arg_pointer) also for another systems? */
|
||||||
|
|
||||||
|
#define THREAD_FUNC_ATTRIB_ALIGN_ARG __attribute__((force_align_arg_pointer))
|
||||||
|
// #define THREAD_FUNC_ATTRIB_ALIGN_ARG // for debug : bad alignment in SSE functions
|
||||||
|
#else
|
||||||
|
#define THREAD_FUNC_ATTRIB_ALIGN_ARG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define THREAD_FUNC_DECL THREAD_FUNC_ATTRIB_ALIGN_ARG THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE
|
||||||
|
|
||||||
typedef THREAD_FUNC_RET_TYPE (THREAD_FUNC_CALL_TYPE * THREAD_FUNC_TYPE)(void *);
|
typedef THREAD_FUNC_RET_TYPE (THREAD_FUNC_CALL_TYPE * THREAD_FUNC_TYPE)(void *);
|
||||||
WRes Thread_Create(CThread *p, THREAD_FUNC_TYPE func, LPVOID param);
|
WRes Thread_Create(CThread *p, THREAD_FUNC_TYPE func, LPVOID param);
|
||||||
WRes Thread_Create_With_Affinity(CThread *p, THREAD_FUNC_TYPE func, LPVOID param, CAffinityMask affinity);
|
WRes Thread_Create_With_Affinity(CThread *p, THREAD_FUNC_TYPE func, LPVOID param, CAffinityMask affinity);
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
HISTORY of the LZMA SDK
|
HISTORY of the LZMA SDK
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
21.07 2021-12-26
|
||||||
|
-------------------------
|
||||||
|
- New switches: -spm and -im!{file_path} to exclude directories from processing
|
||||||
|
for specified paths that don't contain path separator character at the end of path.
|
||||||
|
- The sorting order of files in archives was slightly changed to be more consistent
|
||||||
|
for cases where the name of some directory is the same as the prefix part of the name
|
||||||
|
of another directory or file.
|
||||||
|
|
||||||
|
|
||||||
21.06 2021-11-24
|
21.06 2021-11-24
|
||||||
-------------------------
|
-------------------------
|
||||||
- Bug in LZMA encoder in file LzmaEnc.c was fixed:
|
- Bug in LZMA encoder in file LzmaEnc.c was fixed:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
LZMA SDK 21.06
|
LZMA SDK 21.07
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
LZMA SDK provides the documentation, samples, header files,
|
LZMA SDK provides the documentation, samples, header files,
|
||||||
|
|
Loading…
Reference in a new issue