SPECS: zlib.spec - fixed cflags.

Jakub Bogusz qboosh w pld-linux.org
Czw, 26 Lut 2004, 10:38:05 CET


On Thu, Feb 26, 2004 at 10:16:29AM +0100, Paweł Sikora wrote:
> On Thursday 26 of February 2004 09:54, Jakub Bogusz wrote:
> > > -CFLAGS="-D_REENTRANT -fPIC %{rpmcflags}%{?with_asmopt: -DASMV}" \
> > > -CC="%{__cc}" \
> > > +CFLAGS="%{rpmcflags} -O3 %{?with_asmopt:-DASMV}"; export
> > > CFLAGS="$CFLAGS" ./configure \
> > >  	--prefix=%{_prefix} \
> > >  	--shared
> >
> > A co to???
> > CC jest przekazywane nie bez powodu.
> 
> znasz ten powod?

Ten sam co wszędzie - żeby można było przekazać inny kompilator.
W przypadku zliba jak najbardziej ma to sens - żeby zbudować dla
dietlibca czy uClibca.

> > -fPIC też było nie bez powodu.
> 
> j.w.
> ktos chce zapinac prelinka do zliba?

Jakiego prelinka???
-fPIC jest potrzebne dla kodu użytego w bibliotekach dzielonych.
Na części architektur jest niezbędne (alpha, amd64), na innych jego brak
może powodować wolniejsze linkowanie w runtime.

> > Masz konkretne wyniki testów wydajności z -O3?
> 
> http://www.muppetlabs.com/~breadbox/pub/software/zlib-1.1.2-686.diff.gz

Tam jest tylko dodany kod w asemblerze.

> autorzy chyba wiedza lepiej skoro tak (-O3 -DASMV) zalecaja.
> zreszta ./configure tez wstawia -O3.

W różnych projektach wymyślają różne dziwne rzeczy (typu -O6 czy -O20),
więc to nie musi o niczym świadczyć.

Z -O3 biblioteka (na i686) jest ~5% większa.
Jeśli mimo to jest szybsza, to można użyć -O3 (dodając do %specflags,
nie tam gdzie jest) po przeprowadzeniu jakichś testów.
Oczywiście tylko dla tych architektur, na których jest szybsza niż z -O2,
bo nie musi tak być na wszystkich.

> jesli to byly te flagi byly krytyczne, to poprawie jak bylo,
> ale milo bedzie uslyszec cos wiecej niz "nie bez powodu" :)

-fPIC jest krytyczne, CC jest przydatne, -O3 jest odejściem od standardu
- jak na razie bez uzasadnienia.


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl