Mailinglist Archive: opensuse-commit (1421 mails)

< Previous Next >
commit lzma
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Thu, 22 May 2008 02:44:21 +0200
  • Message-id: <20080522004421.F3BC267804A@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package lzma
checked in at Thu May 22 02:44:21 CEST 2008.


--------
--- lzma/lzma.changes 2008-05-09 11:51:48.000000000 +0200
+++ lzma/lzma.changes 2008-05-14 22:04:52.000000000 +0200
@@ -1,0 +2,19 @@
+Wed May 14 22:04:25 CEST 2008 - schwab@xxxxxxx
+
+- Update to lzma-4.32.6.
+ * Always use 32-bit integer to hold probability variables. Earlier,
+ these were 64-bit on 64-bit architectures, which hurt cache
+ efficiency in the CPU, and thus performance of LZMA. 32-bit
+ architectures are not affected by this change.
+ * Fix a theoretical data corruption bug in the LZMA encoder. It is
+ about overflowing a 32-bit integer, whose typical value stays below
+ five. I don't know if it is actually possible to construct to a file
+ that could make it overflow. Even if it were possible, it would "only"
+ make the output file corrupt so that it is 4 GiB too small; there
+ are no other security risks. Now the integer is 64-bit to be sure
+ it won't overflow.
+ * Add support for copying timestamps on operating systems that support
+ setting timestamps only by filename, not by file descriptor.
+ * Several portability fixes were made.
+
+-------------------------------------------------------------------



Old:
----
lzma-4.32.5.diff
lzma-4.32.5.tar.bz2

New:
----
lzma-4.32.6.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lzma.spec ++++++
--- /var/tmp/diff_new_pack.ho7829/_old 2008-05-22 02:43:20.000000000 +0200
+++ /var/tmp/diff_new_pack.ho7829/_new 2008-05-22 02:43:20.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package lzma (Version 4.32.5)
+# spec file for package lzma (Version 4.32.6)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -13,13 +13,13 @@
Name: lzma
BuildRequires: gcc-c++
Summary: A Program for Compressing Files
-Version: 4.32.5
-Release: 20
+Version: 4.32.6
+Release: 1
Group: Productivity/Archiving/Compression
License: GPL v2 or later
Url: http://tukaani.org/lzma/
Source: %{name}-%{version}.tar.bz2
-Patch: %{name}-%{version}.diff
+#Patch: %{name}-%{version}.diff
Patch1: nostatic.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build

@@ -87,7 +87,7 @@

%prep
%setup -q
-%patch
+#%patch
%patch1

%build
@@ -124,6 +124,22 @@
%{_libdir}/lib*.*a

%changelog
+* Thu May 15 2008 schwab@xxxxxxx
+- Update to lzma-4.32.6.
+ * Always use 32-bit integer to hold probability variables. Earlier,
+ these were 64-bit on 64-bit architectures, which hurt cache
+ efficiency in the CPU, and thus performance of LZMA. 32-bit
+ architectures are not affected by this change.
+ * Fix a theoretical data corruption bug in the LZMA encoder. It is
+ about overflowing a 32-bit integer, whose typical value stays below
+ five. I don't know if it is actually possible to construct to a file
+ that could make it overflow. Even if it were possible, it would "only"
+ make the output file corrupt so that it is 4 GiB too small; there
+ are no other security risks. Now the integer is 64-bit to be sure
+ it won't overflow.
+ * Add support for copying timestamps on operating systems that support
+ setting timestamps only by filename, not by file descriptor.
+ * Several portability fixes were made.
* Fri May 09 2008 schwab@xxxxxxx
- Revert last changes.
* Wed May 07 2008 bk@xxxxxxx

++++++ lzma-4.32.5.tar.bz2 -> lzma-4.32.6.tar.bz2 ++++++
++++ 16590 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/config.h.in new/lzma-4.32.6/config.h.in
--- old/lzma-4.32.5/config.h.in 2008-01-27 09:16:08.000000000 +0100
+++ new/lzma-4.32.6/config.h.in 2008-05-08 13:06:47.000000000 +0200
@@ -28,6 +28,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE

@@ -79,6 +82,12 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

+/* Define to 1 if you have the `utime' function. */
+#undef HAVE_UTIME
+
+/* Define to 1 if you have the `utimes' function. */
+#undef HAVE_UTIMES
+
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H

diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/configure.ac new/lzma-4.32.6/configure.ac
--- old/lzma-4.32.5/configure.ac 2008-01-27 01:55:37.000000000 +0100
+++ new/lzma-4.32.6/configure.ac 2008-05-08 13:06:06.000000000 +0200
@@ -5,7 +5,7 @@

# [LZMA] instead of [LZMA utils] since I prefer to have lzma-version.tar.gz
# instead of lzma-utils-version.tar.gz.
-AC_INIT([LZMA], [4.32.5], [lasse.collin@xxxxxxxxxxx])
+AC_INIT([LZMA], [4.32.6], [lasse.collin@xxxxxxxxxxx])

AC_CONFIG_SRCDIR([src/sdk/7zip/ICoder.h])
AC_CONFIG_HEADER([config.h])
@@ -48,7 +48,7 @@
AC_HEADER_STDC
# There is currently no workarounds in this package if some of
# these headers are missing:
-AC_CHECK_HEADERS([fcntl.h inttypes.h stddef.h stdlib.h string.h sys/time.h
unistd.h utime.h], [], AC_MSG_ERROR([Required header file(s) are missing.]))
+AC_CHECK_HEADERS([fcntl.h inttypes.h limits.h stddef.h stdlib.h string.h
sys/time.h unistd.h utime.h], [], AC_MSG_ERROR([Required header file(s) are
missing.]))
# Missing errno.h should be handled:
AC_CHECK_HEADERS([errno.h])

@@ -73,7 +73,7 @@
AC_SYS_LARGEFILE

# Checks for library functions.
-AC_CHECK_FUNCS([memmove strdup memset strerror strrchr strtol futimes
futimesat])
+AC_CHECK_FUNCS([memmove strdup memset strerror strrchr strtol utime utimes
futimes futimesat])

gl_GETOPT

diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/NEWS new/lzma-4.32.6/NEWS
--- old/lzma-4.32.5/NEWS 2008-01-27 01:54:01.000000000 +0100
+++ new/lzma-4.32.6/NEWS 2008-05-14 20:14:57.000000000 +0200
@@ -2,6 +2,26 @@
LZMA Utils user visible changes
===============================

+Version 4.32.6
+
+ * Always use 32-bit integer to hold probability variables. Earlier,
+ these were 64-bit on 64-bit architectures, which hurt cache
+ efficiency in the CPU, and thus performance of LZMA. 32-bit
+ architectures are not affected by this change.
+
+ * Fix a theoretical data corruption bug in the LZMA encoder. It is
+ about overflowing a 32-bit integer, whose typical value stays below
+ five. I don't know if it is actually possible to construct to a file
+ that could make it overflow. Even if it were possible, it would "only"
+ make the output file corrupt so that it is 4 GiB too small; there
+ are no other security risks. Now the integer is 64-bit to be sure
+ it won't overflow.
+
+ * Add support for copying timestamps on operating systems that support
+ setting timestamps only by filename, not by file descriptor.
+
+ * Several portability fixes were made.
+
Version 4.32.5

* The percentage shown when --verbose is used, works again. Also some
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/liblzmadec/io.c new/lzma-4.32.6/src/liblzmadec/io.c
--- old/lzma-4.32.5/src/liblzmadec/io.c 2005-12-24 20:50:49.000000000 +0100
+++ new/lzma-4.32.6/src/liblzmadec/io.c 2008-05-07 21:04:35.000000000 +0200
@@ -35,8 +35,9 @@
extern int errno
#endif

-#ifndef SIZE_MAX
-#define SIZE_MAX (~(size_t)0)
+/* Needed for pre-C99 systems that have SIZE_MAX in limits.h. */
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
#endif

#define LZMADEC_NO_STDIO
@@ -45,6 +46,10 @@

#include "private.h"

+#ifndef SIZE_MAX
+#define SIZE_MAX (~(size_t)0)
+#endif
+
#define LZMADEC_BUFSIZE (LZMA_IN_BUFFER_SIZE - LZMA_REQUIRED_IN_BUFFER_SIZE)

#define LZMADEC_IO_STATUS_OK 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/liblzmadec/main.c new/lzma-4.32.6/src/liblzmadec/main.c
--- old/lzma-4.32.5/src/liblzmadec/main.c 2008-01-06 19:05:28.000000000
+0100
+++ new/lzma-4.32.6/src/liblzmadec/main.c 2008-05-10 21:00:39.000000000
+0200
@@ -231,11 +231,12 @@
lzmadec_header_uncompressed (uint_fast64_t *size, uint_fast8_t *is_streamed,
const uint8_t *buffer)
{
+ uint_fast32_t i;
+
/* Streamed files have all 64 bits set in the size field.
We don't know the uncompressed size beforehand. */
*is_streamed = 1; /* Assume streamed. */
*size = 0;
- uint_fast32_t i;
for (i = 0; i < 8; i++) {
*size += (uint_fast64_t)buffer[i] << (i * 8);
if (buffer[i] != 255)
@@ -259,6 +260,7 @@
{
uint_fast32_t i;
uint32_t num_probs;
+ size_t lzmadec_num_probs;

/* Make sure we have been called sanely */
if (STATE->probs != NULL || STATE->dictionary != NULL
@@ -291,7 +293,7 @@
strm->avail_in -= 8;

/* Allocate memory for internal data */
- const size_t lzmadec_num_probs = (LZMA_BASE_SIZE
+ lzmadec_num_probs = (LZMA_BASE_SIZE
+ (LZMA_LIT_SIZE << (STATE->lc + STATE->lp)));
STATE->probs = (CProb *)((strm->lzma_alloc)(strm->opaque, 1,
lzmadec_num_probs * sizeof(CProb)));
@@ -674,8 +676,8 @@
numDirectBits =
LZMA_NUM_ALIGN_BITS;
}
{
- i = 1;
int_fast32_t mi = 1;
+ i = 1;
do {
CProb *prob3 = prob +
mi;
RC_GET_BIT2(prob3, mi,
; , rep0 |= i);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/liblzmadec/private.h
new/lzma-4.32.6/src/liblzmadec/private.h
--- old/lzma-4.32.5/src/liblzmadec/private.h 2008-01-06 19:08:49.000000000
+0100
+++ new/lzma-4.32.6/src/liblzmadec/private.h 2008-05-13 20:51:38.000000000
+0200
@@ -25,8 +25,11 @@
/* uint16_t would be enough for CProb. uint_fast16_t will give a little
extra speed but wastes memory. On 32-bit architechture the amount
of wasted memory is usually only a few kilobytes but the theoretical
- maximum is about 1.5 megabytes (4.5 on 64-bit). */
-#define CProb uint_fast16_t
+ maximum is about 1.5 megabytes (4.5 on 64-bit).
+
+ Update: Now we always use uint32_t, since uint_fast16_t can be 64-bit
+ on 64-bit systems, which is bad for CPU's cache. */
+#define CProb uint32_t

#define LZMA_BASE_SIZE 1846
#define LZMA_LIT_SIZE 768
@@ -121,7 +124,9 @@
Macros
********/

+#ifndef MIN
#define MIN(x,y) ((x) < (y) ? (x) : (y))
+#endif


/**********
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/lzma/Exception.h new/lzma-4.32.6/src/lzma/Exception.h
--- old/lzma-4.32.5/src/lzma/Exception.h 2005-11-26 19:33:20.000000000
+0100
+++ new/lzma-4.32.6/src/lzma/Exception.h 2008-05-14 12:48:48.000000000
+0200
@@ -24,7 +24,6 @@
private:
string message;
public:
- Exception(char *what): message(what) { }
Exception(string what): message(what) { }

~Exception() { }
@@ -35,7 +34,6 @@
class ArgumentException: public Exception
{
public:
- ArgumentException(char *what): Exception(what) { }
ArgumentException(string what): Exception(what) { }

~ArgumentException() { }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/lzma/gettext.h new/lzma-4.32.6/src/lzma/gettext.h
--- old/lzma-4.32.5/src/lzma/gettext.h 2007-10-25 10:34:50.000000000 +0200
+++ new/lzma-4.32.6/src/lzma/gettext.h 2008-05-13 20:16:19.000000000 +0200
@@ -154,7 +154,9 @@

#include <string.h>

-#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
+#ifndef _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
+#endif

#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
#include <stdlib.h>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/lzma/lzmp.cpp new/lzma-4.32.6/src/lzma/lzmp.cpp
--- old/lzma-4.32.5/src/lzma/lzmp.cpp 2008-01-26 14:16:58.000000000 +0100
+++ new/lzma-4.32.6/src/lzma/lzmp.cpp 2008-05-13 20:18:00.000000000 +0200
@@ -49,16 +49,6 @@
#include <utime.h>
#include <sys/time.h> // futimes()

-// Solaris has futimesat() instead of futimes() and some systems
-// don't have anything appropriate.
-#ifndef HAVE_FUTIMES
-# ifdef HAVE_FUTIMESAT
-# define futimes(fd, tv) futimesat(fd, NULL, tv)
-# else
-# define futimes(fd, tv) 0
-# endif
-#endif
-
#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
#include <fcntl.h>
#include <io.h>
@@ -98,7 +88,7 @@
short compression_mode; // -a
short dictionary; // -d
short fast_bytes; // -fb
- wchar_t *match_finder; // -mf
+ const wchar_t *match_finder; // -mf
short literal_context_bits; // -lc
short literal_pos_bits; // -lp
short pos_bits; // -pb
@@ -121,8 +111,8 @@
};

struct extension_pair {
- char *from;
- char *to;
+ const char *from;
+ const char *to;
};

const extension_pair known_extensions[] = {
@@ -654,6 +644,32 @@
return;
}

+static void
+my_utimes(const char *name, int fd, time_t atime, time_t mtime)
+{
+#if defined(HAVE_FUTIMES) || defined(HAVE_FUTIMESAT) || defined(HAVE_UTIMES)
+ // This could use subsecond precision, but it's not portably available
+ // in struct stat, so that feature has to wait for LZMA Utils 5.
+ struct timeval file_times[2];
+ file_times[0].tv_sec = atime;
+ file_times[0].tv_usec = 0;
+ file_times[1].tv_sec = mtime;
+ file_times[1].tv_usec = 0;
+
+# if defined(HAVE_FUTIMES)
+ (void)futimes(fd, file_times);
+# elif defined(HAVE_FUTIMESAT)
+ (void)futimesat(fd, NULL, file_times);
+# else
+ (void)utimes(name, file_times);
+# endif
+
+#elif defined(HAVE_UTIME)
+ struct utimbuf file_times = { atime, mtime };
+ (void)utime(name, &file_times);
+#endif
+}
+
} // namespace lzma


@@ -910,15 +926,8 @@

(void)fchmod(outhandle, mode);

- struct timeval file_times[2];
- // Access time
- file_times[0].tv_sec = in_stats.st_atime;
- file_times[0].tv_usec = 0;
- // Modification time
- file_times[1].tv_sec = in_stats.st_mtime;
- file_times[1].tv_usec = 0;
-
- (void)futimes(outhandle, file_times);
+ my_utimes(output_filename.c_str(), outhandle,
+ in_stats.st_atime, in_stats.st_mtime);
}

// Check that closing the output stream succeeds.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/sdk/7zip/Common/FileStreams.cpp
new/lzma-4.32.6/src/sdk/7zip/Common/FileStreams.cpp
--- old/lzma-4.32.5/src/sdk/7zip/Common/FileStreams.cpp 2007-10-26
07:04:05.000000000 +0200
+++ new/lzma-4.32.6/src/sdk/7zip/Common/FileStreams.cpp 2008-05-13
20:23:38.000000000 +0200
@@ -250,8 +250,6 @@
if(processedSize != NULL)
*processedSize = (UInt32)res;
return S_OK;
-
- return S_OK;
#endif
}

diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/sdk/7zip/Compress/RangeCoder/RangeCoderBitTree.h
new/lzma-4.32.6/src/sdk/7zip/Compress/RangeCoder/RangeCoderBitTree.h
--- old/lzma-4.32.5/src/sdk/7zip/Compress/RangeCoder/RangeCoderBitTree.h
2005-12-04 19:29:29.000000000 +0100
+++ new/lzma-4.32.6/src/sdk/7zip/Compress/RangeCoder/RangeCoderBitTree.h
2008-03-10 10:30:36.000000000 +0100
@@ -108,7 +108,7 @@
};

template <int numMoveBits>
-void ReverseBitTreeEncode(CBitEncoder<numMoveBits> *Models,
+inline void ReverseBitTreeEncode(CBitEncoder<numMoveBits> *Models,
CEncoder *rangeEncoder, int NumBitLevels, UInt32 symbol)
{
UInt32 modelIndex = 1;
@@ -122,7 +122,7 @@
}

template <int numMoveBits>
-UInt32 ReverseBitTreeGetPrice(CBitEncoder<numMoveBits> *Models,
+inline UInt32 ReverseBitTreeGetPrice(CBitEncoder<numMoveBits> *Models,
UInt32 NumBitLevels, UInt32 symbol)
{
UInt32 price = 0;
@@ -138,7 +138,7 @@
}

template <int numMoveBits>
-UInt32 ReverseBitTreeDecode(CBitDecoder<numMoveBits> *Models,
+inline UInt32 ReverseBitTreeDecode(CBitDecoder<numMoveBits> *Models,
CDecoder *rangeDecoder, int NumBitLevels)
{
UInt32 modelIndex = 1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/sdk/7zip/Compress/RangeCoder/RangeCoder.h
new/lzma-4.32.6/src/sdk/7zip/Compress/RangeCoder/RangeCoder.h
--- old/lzma-4.32.5/src/sdk/7zip/Compress/RangeCoder/RangeCoder.h
2005-12-04 19:29:29.000000000 +0100
+++ new/lzma-4.32.6/src/sdk/7zip/Compress/RangeCoder/RangeCoder.h
2008-04-24 09:44:10.000000000 +0200
@@ -14,7 +14,7 @@

class CEncoder
{
- UInt32 _ffNum;
+ UInt64 _ffNum;
Byte _cache;
public:
UInt64 Low;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/src/sdk/Common/Types.h new/lzma-4.32.6/src/sdk/Common/Types.h
--- old/lzma-4.32.5/src/sdk/Common/Types.h 2008-01-07 20:40:16.000000000
+0100
+++ new/lzma-4.32.6/src/sdk/Common/Types.h 2008-05-08 12:56:41.000000000
+0200
@@ -10,11 +10,25 @@
#include <inttypes.h>

typedef uint8_t Byte;
-typedef int_fast16_t Int16;
-typedef uint_fast16_t UInt16;
typedef int32_t Int32;
typedef uint32_t UInt32;
typedef int64_t Int64;
typedef uint64_t UInt64;

+// This looks wrong but earlier we used int_fast16_t and uint_fast16_t
+// which were 32-bit or 64-bit on many systems. 32-bit integers give
+// better speed on some systems with some compilers, so I don't like
+// to change this to real 16-bit integer in LZMA Utils 4.32.x.
+//
+// 64-bit integers pollute the CPU's cache too badly, so it's better
+// to avoid them. Even 32-bit integers aren't good for cache with
+// large lc/lp values, but I still stick to 32-bit integers in 4.32.x
+// since I try to avoid reports "performance got worse in 4.32.6".
+//
+// Some systems have problems with C headers in C++ mode (they don't
+// give fast types) so using fixed-size integer type should help with
+// that problem too.
+typedef int32_t Int16;
+typedef uint32_t UInt16;
+
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/tests/mkdtemp new/lzma-4.32.6/tests/mkdtemp
--- old/lzma-4.32.5/tests/mkdtemp 2008-01-06 19:52:09.000000000 +0100
+++ new/lzma-4.32.6/tests/mkdtemp 2008-05-14 18:11:40.000000000 +0200
@@ -26,7 +26,7 @@
dev_rand=/dev/urandom
if test -r "$dev_rand"; then
# Note: 256-length($chars) == 194; 3 copies of $chars is 186 + 8 = 194.
- head -c$n "$dev_rand" | tr -c $chars 01234567$chars$chars$chars
+ dd ibs=$n count=1 if="$dev_rand" | tr -c $chars 01234567$chars$chars$chars
return
fi

@@ -89,7 +89,9 @@
base_template=`echo "$template"|sed 's/XX*$//'`

# Calculate how many X's we've just removed.
- nx=`expr length "$template" - length "$base_template"`
+ template_length=`echo "$template" | wc -c`
+ nx=`echo "$base_template" | wc -c`
+ nx=`expr $template_length - $nx`

err=
i=1
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/tests/perms new/lzma-4.32.6/tests/perms
--- old/lzma-4.32.5/tests/perms 2007-11-07 15:36:04.000000000 +0100
+++ new/lzma-4.32.6/tests/perms 2008-05-06 11:45:28.000000000 +0200
@@ -1,7 +1,7 @@
#!/bin/sh
# FIXME

-# Copyright (C) 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,6 +28,6 @@
fail=0
lzma in || fail=1
set - `ls -l in.lzma`
-test "x$1" = x-rw-r--r-- || fail
+test "x$1" = x-rw-r--r-- || fail=1

(exit $fail); exit $fail
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn
--exclude=.svnignore --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/lzma-4.32.5/THANKS new/lzma-4.32.6/THANKS
--- old/lzma-4.32.5/THANKS 2008-01-07 10:33:23.000000000 +0100
+++ new/lzma-4.32.6/THANKS 2008-05-14 13:03:16.000000000 +0200
@@ -18,8 +18,15 @@
- Mikko Pouru
- Alexandre Sauvé
- Julian Seward
+ - Stuart Shelton
- Mohammed Adnène Trojette
+ - Vladimir Volovich

Also thanks to all the people who have participated the Tukaani project
and others who I have forgot.

+Note that while I tend to add names of bug reporters to the above list,
+I don't separately ask for people's real names. If all I know about you
+is your IRC or forum nick and you would like to get listed here, please
+contact me via IRC or email, thanks. -- Larhzu
+


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread