Commit Graph

855 Commits

Author SHA1 Message Date
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
054b90e3aa update-alternatives*: Remove obsolete files. 2006-09-22 12:11:39 +00:00
8ced535fc7 4.0.4-alt67
- autodeps/linux.req.in:FindLibReqs():
  If object contains .gnu.hash section but does not
  contain .hash section, add rtld(GNU_HASH) requirement.
- GROUPS: Removed trailing whitespaces (#9963).
- Rename athlonxp platform to athlon_xp (#9991).
- scripts/brp-compress.in:
  Recognize "false|no|none|off" as well as "skip" (#9854).
- scripts/brp-strip.in:
  Recognize "skip" as well as "false|no|none|off" (#9854).
- rpmdb: Honor rpmdbInit() return code (#9406).
- rpmQueryVerify(): when rpmReadPackageManifest() is disabled,
  treat RPMRC_BADMAGIC return code from rpmReadPackageHeader()
  like other read errors (#9433).
- showMatches(): Backported --querybynumber looping fix (#9773).
2006-09-21 16:20:26 +00:00
7be2f91309 showMatches: Backport --querybynumber looping fix (#9773). 2006-09-16 23:27:20 +00:00
5839b94303 autodeps/linux.req.in:FindLibReqs(): Do not add requirement on program interpreter, out glibc is not ready yet. 2006-09-17 03:03:59 +04:00
fe838e98f7 rpmQueryVerify: when rpmReadPackageManifest() is disabled, treat RPMRC_BADMAGIC return code from rpmReadPackageHeader() like other read errors (#9433). 2006-09-16 23:00:55 +00:00
25f6805891 Honor rpmdbInit() return code (#9406). 2006-09-16 22:34:18 +00:00
dcc423b54b scripts/brp-compress.in:
Recognize false|no|none|off as well skip.
scripts/brp-strip.in:
	skip as well as false|no|none|off.

Fixes #9854.
2006-09-16 22:20:03 +00:00
894d09e31b Rename athlonxp platform to athlon_xp (#9991). 2006-09-16 21:50:43 +00:00
5c925b55a6 GROUPS: Remove trailing whitespaces (#9963). 2006-09-11 16:05:14 +00:00
64246a06ac autodeps/linux.req.in:FindLibReqs():
+ Add requirement on program interpreter.
	+ If object contains .gnu.hash section but does not
	  contain .hash section, add rtld(GNU_HASH) requirement.
2006-08-22 19:47:25 +00:00
bbddd38759 Removed const from getBuildTime(). 2006-05-15 04:54:03 +04:00
df61ee0b9e Include local headers. 2006-05-15 03:26:57 +04:00
8787ee5d55 Fixed "type qualifiers ignored on function return type" issue. 2006-05-15 02:48:59 +04:00
f431605c03 4.0.4-alt66 2006-05-14 18:21:28 +04:00
5416277102 Removed cvsid tags. 2006-05-14 17:05:34 +04:00
03ad765c9c VERIFY_ELF_STACK: check for statically linked ELF executables too 2006-04-04 21:14:07 +00:00
8517bad154 4.0.4-alt65 2006-04-04 16:49:57 +00:00
67cb12effe set %_verify_elf_method to arch=normal,fhs=normal,rpath=normal,stack=normal,textrel=normal,unresolved=normal 2006-04-04 16:46:59 +00:00
f2cdd50995 Implemented VERIFY_ELF_STACK 2006-04-04 16:42:49 +00:00
ed45223b24 Ignore RPMTAG_BUILDROOT completely. 2006-04-03 16:41:43 +00:00
3e85ced9e2 fixed typo 2006-03-20 15:02:36 +00:00
001a83bacc 4.0.4-alt64 2006-03-20 14:53:07 +00:00
7412cdf5ca add athlonxp 2006-03-20 14:50:02 +00:00