928 Commits

Author SHA1 Message Date
4c4920e2d8 lib/query.c (showQueryPackage): Check all header strings to resize buffer (CVE-2006-5466, RH#212833)
Backported from rpm-4.4.8
2007-05-18 00:33:44 +00:00
6e81fe8727 lib/package.c (readPackageHeaders): Remove insecure legacy providePackageNVR() call 2007-05-18 00:20:42 +00:00
8a189d448b lib/formats.c (i18nTag): Avoid segfault on header without RPMTAG_NAME (RH#239557)
https://lists.dulug.duke.edu/pipermail/rpm-devel/2007-May/002653.html
2007-05-16 13:20:45 +00:00
20400c24b8 rpmio/macro.c (doFoo): Fix potential buffer overflow in %homedir macro processing 2007-04-11 18:18:01 +00:00
36d31bbf3c 4.0.4-alt76
- rpmRunTransactions:
  Ignore unavailable mount points instead of bailing out.
2007-04-09 21:13:58 +00:00
0da910fb46 lib/transaction.c (rpmRunTransactions): Ignore unavailable mount points instead of bailing out 2007-03-29 16:03:42 +00:00
9eb6e27e8a 4.0.4-alt75
- Changed /mnt/* mountpoints handling to behave the same way
  as other mountpoints.
- Fixed support of filesystems with f_bsize==0.
- files.req.list: Added /etc/hooks directory.
2007-03-27 22:43:15 +00:00
94bc3f23e1 scripts/files.req.list: Add /etc/hooks 2007-03-27 22:36:28 +00:00
2aea31a78f lib/transaction.c (rpmRunTransactions): Drop "/mnt" support 2007-03-27 15:41:57 +00:00
8708708cac lib/fs.c (getFilesystemList): Drop "/mnt" support 2007-03-27 15:41:38 +00:00
af0adf575e 4.0.4-alt74
- find-provides, find-requires:
  + Added support for files of type "Mono/.Net assembly" to repair
    Mono support when new file(1) is installed (#11088, ildar@).
2007-03-17 20:09:40 +00:00
c226f12904 autodeps/linux.{prov,req}.in: Handle files of type "Mono/.Net assembly" (#11088, ildar@) 2007-03-17 19:59:55 +00:00
c2248551ff 4.0.4-alt73
- Updated gendiff utility (Alexey Tourbin).
- Added hooks for Java autoreq facility (Damir Shayhutdinov).
- build/expression.c (doPrimary): Read closing parenthesis (Michael Schroeder).
- files.req.list: Added /etc/udev/rules.d firectory.
- Changed default nice change value from 10 to 8.
- Made nice change value configurable via %%nice_change macro.
2007-02-23 03:12:42 +03:00
5d54cdc0ec rpmqv.c (main): Make "nice change" value configurable via %nice_change macro; change default "nice change" value from 10 to 8 2007-02-23 00:12:39 +00:00
86ad8ff400 build/expression.c (doPrimary): Read closing parenthesis, patch from Michael Schroeder 2007-02-23 00:05:37 +00:00
7227d450ca Merge branch 'master' of git.alt:/people/damir/packages/rpm 2007-02-11 22:08:09 +00:00
6a53902827 scripts/files.req.list: Add /etc/udev/rules.d 2007-02-11 21:26:45 +00:00
Damir Shayhutdinov
280e69d9a5 Added hooks for Java autoreq facility.
Signed-off-by: Damir Shayhutdinov <damir@altlinux.ru>
2007-02-10 19:16:04 +03:00
Alexey Tourbin
2c8f2dc263 gendiff: I guess "||" is somewhat better than "&&" (at least two bytes shorter!) 2007-01-25 00:32:34 +03:00
Alexey Tourbin
c003160cf3 gendiff: output empty line before `ls -l "$patch"'
This is probably the last gendiff-related commit for now.
I think I want to propose the following changelog entry
for next rpm release:

- enhanced gendiff(1), which can now recognize whitespace-related
  subset of GNU diff options (Alexey Tourbin)

TODO: make it recognize more diff options.
But option values must be quoted...
2007-01-24 22:18:29 +03:00
Alexey Tourbin
a8d5415029 gendiff.1: added OPTIONS (copied from ls.1.gz) 2007-01-24 21:51:45 +03:00
Alexey Tourbin
16a368fe4a gendiff.1: removed two stupid lines 2007-01-24 21:44:51 +03:00
Alexey Tourbin
b30ac548a0 gendiff.1: added note about Vim patchmode option 2007-01-24 21:41:54 +03:00
Alexey Tourbin
659c1c5c8f gendiff.1: explain [patch-name] argument 2007-01-24 21:35:41 +03:00
Alexey Tourbin
80a9a27015 gendiff, gendiff.1: unified "usage" sentence 2007-01-24 20:37:48 +03:00
Alexey Tourbin
ca61d563ea gendiff: strip leading "./" in file paths before running diff 2007-01-24 20:16:59 +03:00
Alexey Tourbin
f913650145 gendiff: use shell pattern to strip suffix 2007-01-24 20:15:34 +03:00
Alexey Tourbin
ac0e78e658 gendiff: try "#!/bin/sh -efu" mode 2007-01-24 19:51:08 +03:00
Alexey Tourbin
1c68b0e030 gendiff: enhanced patch handling 2007-01-24 19:36:32 +03:00
Alexey Tourbin
9b7c287810 gendiff: check directory 2007-01-24 18:52:54 +03:00
Alexey Tourbin
c0768bbe98 gendiff: recognize whitespace-related diff options 2007-01-24 18:30:57 +03:00
Alexey Tourbin
9071750955 gendiff: pass -p to diff to show functions name after @@ 2007-01-24 17:56:02 +03:00
Alexey Tourbin
c9e81ef8ee gendiff: use 'read -r' for 'read' 2007-01-24 17:41:51 +03:00
Alexey Tourbin
bc2fda3644 gendiff: sort file list, so that the file order is stable 2007-01-24 17:40:57 +03:00
501f22adb7 4.0.4-alt72
- rpmrc.in: Use -mtune=i686 instead of -mtune=generic for i[3456]86
  (same as generic in gcc4.1, better backwards compatibility).
2007-01-11 14:36:35 +00:00
94a5f49889 rpmrc.in: Use -mtune=i686 instead of -mtune=generic for i[3456]86
-mtune=i686 does not differ from -mtune=generic for gcc-4.1.x
(see gcc/config/i386/i386.c for details),
but -mtune=generic is not implemented in older gcc.
2007-01-11 14:34:51 +00:00
24428aa9d8 4.0.4-alt71
- platform.in: Changed %%optflags_kernel to %%nil.
- rpmrc.in: Changed %%optflags_default to use -mtune=generic
  instead of -mtune=pentium4 for i[3456]86 (Alexey Tourbin).
2007-01-10 22:20:31 +00:00
Alexey Tourbin
0e8ab4e05c rpmrc.in: use -mtune=generic instead of -mtune=pentium4 for i[3456]86
We use i586 as our default generic arch for x86 processors.
But -mtune=pentium4 is preferable only for Intel processors,
and possibly disadvantageous for AMD chips.

I suggest we use -mtune=generic instead.  Here is what "man gcc" says
about -mtune=generic:

    Produce code optimized for the most common IA32/AMD64/EM64T
    processors.  If you know the CPU on which your code will run, then
    you should use the corresponding -mtune option instead of
    -mtune=generic.  But, if you do not know exactly what CPU users of
    your application will have, then you should use this option.

    As new processors are deployed in the marketplace, the behavior of
    this option will change.  Therefore, if you upgrade to a newer
    version of GCC, the code generated option will change to reflect the
    processors that were most common when that version of GCC was
    released.

Now if you're willing to take a look at gcc/gcc/config/i386/i386.c,
you can see that -mtune= option affects only "instruction costs".
For example, AMD chips take fewer cycles to execute some divide/mod
instructions than Intel processors.  Instruction costs can affect
peephole optimizer or something to make the resulting instruction
sequence take fewer cycles.  It appears that "generic32_cost" provides
reasonable compromise so that the resulting code runs quite well
on all modern CPUs.

Update.  I've been requested to provide some numbers.
I use perlbench-0.93 suite to measure libperl.so performance.

A) libperl.so compiled with -march=i586 -mtune=pentium4
B) libperl.so compiled with -march=i586 -mtune=generic

AMD Athlon 64              A       B
-------------            ---     ---
arith/mixed              100     106
arith/trig               100     100
array/copy               100     104
array/foreach            100      94
array/index              100     108
array/pop                100     109
array/shift              100     107
array/sort-num           100     103
array/sort               100     100
call/0arg                100     105
call/1arg                100      96
call/2arg                100     101
call/9arg                100     107
call/empty               100     108
call/fib                 100     103
call/method              100     106
call/wantarray           100     107
hash/copy                100      99
hash/each                100      91
hash/foreach-sort        100      96
hash/foreach             100     100
hash/get                 100     102
hash/set                 100     110
loop/for-c               100     104
loop/for-range-const     100     102
loop/for-range           100     103
loop/getline             100     106
loop/while-my            100     109
loop/while               100     113
re/const                 100     104
re/w                     100     102
startup/fewmod           100     104
startup/lotsofsub        100     107
startup/noprog           100     100
string/base64            100     102
string/htmlparser        100     102
string/index-const       100     110
string/index-var         100      74
string/ipol              100     105
string/tr                100     102
AVERAGE                  100     103

Intel Xeon                 A       B
----------               ---     ---
arith/mixed              100      98
arith/trig               100     138
array/copy               100     101
array/foreach            100     100
array/index              100      94
array/pop                100      99
array/shift              100     117
array/sort-num           100     103
array/sort               100     105
call/0arg                100     101
call/1arg                100      97
call/2arg                100      93
call/9arg                100      98
call/empty               100     100
call/fib                 100     116
call/method              100      92
call/wantarray           100     101
hash/copy                100     104
hash/each                100     102
hash/foreach-sort        100     102
hash/foreach             100      98
hash/get                 100     102
hash/set                 100      96
loop/for-c               100     128
loop/for-range-const     100     100
loop/for-range           100     103
loop/getline             100      94
loop/while-my            100     107
loop/while               100     102
re/const                 100      99
re/w                     100      92
startup/fewmod           100     101
startup/lotsofsub        100      98
startup/noprog           100     101
string/base64            100     100
string/htmlparser        100      70
string/index-const       100     103
string/index-var         100     101
string/ipol              100     105
string/tr                100      94
AVERAGE                  100     101

Look ma, I've got about 3% performance boost on Athlon64 and even some
minor improvement on Intel Xeon!  Also notice that, on Xeon, the
numbers are more diverse.  I believe that the numbers prove that,
compared to -mtune=pentium4, -mtune=generic is beneficial for Athlon64
and at least makes no harm for Xeon.

Here is how to run perlbench:

$ echo ${PWD##*/}
perlbench-0.93
$ cat perl1 perl2
LD_LIBRARY_PATH=$PWD/lib1 exec /usr/bin/perl "$@"
LD_LIBRARY_PATH=$PWD/lib2 exec /usr/bin/perl "$@"
$ ls -l lib?/libperl*
-rw-r--r-- 1 at at 1173944 Jan  9 03:42 lib1/libperl.so.5.8
-rw-r--r-- 1 at at 1204984 Jan  9 03:46 lib2/libperl.so.5.8
$ ./perlbench-run ./perl1 ./perl2
...
2007-01-09 04:54:07 +03:00
94bd71f657 platform.in: Change %optflags_kernel to %nil 2006-12-18 17:00:44 +00:00
190f999dee 4.0.4-alt70
- platform.in: Add %%_target_libdir macro.
2006-11-30 16:36:50 +00:00
f2f42b1c47 platform.in: Add %_target_libdir macro. 2006-11-29 18:15:01 +00:00
aac8f6b97c 4.0.4-alt69
- GROUPS: New group: Graphical desktop/Rox (#10268).
- Makefile.am: Link rpm.static with -pthread.
- lib/query.c: Flush query format buffer before listing files (CVE-2006-5466).
- build/parsePrep.c:
  + Change %patch to be more verbose by default, introduce -s option
    to make %patch as silent as before this change (#10261).
  + Change %setup to enable -q option by default, introduce -v option
    to make %setup as verbose as before this change.
2006-11-19 00:25:22 +00:00
5ed9fe36e1 build/parsePrep.c: Change %setup to enable -q option by default, introduce -v option to make %setup as verbose as before this change. 2006-11-19 00:24:59 +00:00
1e771d2a5a build/parsePrep.c: Change %patch to be more verbose by default, introduce -s option to make %patch as silent as before this change (#10261). 2006-11-19 00:21:38 +00:00
e681f13889 lib/query.c: flush query format buffer before listing files (RH#212833, CVE-2006-5466). 2006-11-18 23:17:15 +00:00
7d7be451d9 Link rpm.static with -pthread. 2006-11-17 00:01:44 +00:00
49467482f5 New group: Graphical desktop/Rox (#10268). 2006-11-16 23:38:25 +00:00
8bf537618a 4.0.4-alt68
- rpmio/rpmrpc.c (Glob): Override gl_stat to allow broken symlinks.
- Implemented mono reqprov hooks and enabled them by default,
  based on patch from Ildar Mulyukov (#9426).
2006-10-04 16:18:40 +00:00
f283a6dc1a Implement mono reqprov hooks and enable them by default (#9426). 2006-10-04 16:18:31 +00:00
08a6500862 rpmio/rpmrpc.c (Glob): Override gl_stat to allow broken symlinks. 2006-10-04 16:18:09 +00:00