# --hashstyle=both a --hashstyle=gnu jakieś różnice?

## 3lmo

Witam wszystkich forumowiczów. Jestem zadowolonym użytkownikiem Gentoo od kilkunastu m-cy (z małymi przerwami  :Wink:  ).  Przeglądając ostatnio posty natknąłem sie właśnie na opcje --hashstyle=gnu w nowym CONRAD install guide https://forums.gentoo.org/viewtopic-t-549935-highlight-conrad.html

```
8.4 - Editing make.conf for hashstyle__

Kod:

# nano /etc/make.conf

Change 'LDFLAGS="-Wl,-O1"' to

'LDFLAGS="-Wl,--hash-style=gnu"

```

Jaka jest różnica pomiędzy hashstyle=both a tym hashstyle=gnu? Obecnie używam both według HOWTO z Wiki.

Obserwujecie jakieś różnice w działaniu pomiędzy tymi dwoma opcjami linkera, czekam na opinie na ten temat.

----------

## Vegan

Odradzam uzywanie jakichkolwiek flag LDFLAGS uzyj safe flags z gentoowiki dla swoiej architektury , przytrost wydajnosci prawie zadny a bedziesz mial klopoty z kompilacja niektorych pakietow a lbo skompiluja sie z odwrotnym efektem jesli chodzi o wydajnosc, prawdziwa sila gentoo sa flagi USE .

----------

## mbar

Ja używam hash-style od praktycznie samego początku tej flagi, nigdy nie miałem problemów z kompilacją żadnych pakietów, więc Vegan nie mów nic na temat, którego nie sprawdziłeś.

a "gnu" jest lepsze od "both" i tle trzeba wiedzieć  :Smile:  binarki są nieco mniejsze

----------

## nbvcxz

miałem wrażenie, że both -> gnu to tylko zmiana nazewnictwa tego samego mechanizmu hashowania, ale nie porównywałem wielkości binarek wiec może mbar ma rację; a na pewno wiem jedno - nie szkodzi kompilacji żadnego ze znanych mi pakietów (nie do końca rozpoznałem problem z media-video/ffmpeg więc może to być ten jedyny)

----------

## 3lmo

Ok to za radą mbara empirycznie sam sprawdze różnice między gnu i both  :Very Happy:  .Przypomniało mi sie że znalazłem jakąś stronke kiedyś właśnie z opisanymi flagami typu hash, bdirect, zdynsort itd., tylko niemoge sobie przypomnieć gdzie. Spotkał sie ktoś z takową (mógłby podać link)? Bo przeszukałem całe forum gentoo i googlowałem sporo i jakoś nienatknąłem sie na  konkretne definicje hashstyle=both i =gnu . Czyli czekam jeszcze na inne wypowiedzi. Mam nadzieje że znajdzie sie jeszcze ktoś kto zdradzi sekrety hashstyle  :Laughing:  A co do twojego posta Vegan to przeszedłem już w swoim życiu(czyt.obcowania z Gentoo) okres zwany ricerstwem więc niemusisz mi mówić że będe miał problemy jak namieszam we flagach.

----------

## mbar

ten artykuł chyba jest na lwn.net, ale nie pamiętam, czy obejmuje =gnu.

----------

## Arfrever

 *3lmo wrote:*   

> Jaka jest różnica pomiędzy hashstyle=both a tym hashstyle=gnu?

 

LKML: Roland McGrath: [PATCH] vDSO hash-style fix

 *Vegan wrote:*   

> Odradzam uzywanie jakichkolwiek flag LDFLAGS

 

U mnie wszystkie pakiety działają poprawnie z:

```
LDFLAGS="-Wl,-O1,--as-needed,--sort-common,-z,relro"
```

(Nie próbowałem jeszcze używania hash-style.)

Perduodu linkėjimus

Arfrever

----------

## 3lmo

aha, gnu - najnowsze; sysv -stare ; both - obydwa; Dzieki Arfrever, jeżeli niepróbowałeś hashstyle to polecam odczuwa sie przyrost wydajności podczas ładaowania niektórych programów. Mam do ciebie jeszcze pytanie w swoich LDFLAGS masz umieszczone cusik takiego 

```
LDFLAGS="-Wl,-O1,--as-needed,--sort-common,-z,relro"
```

 mógłbyś przybliżyć mi do czego to  rerlo  jest ponieważ man ld niezawiele mi wytłumaczył?

Art z LWN.net znalazłem o hashvals/hashstyle - Optimizing Linker Load Times http://lwn.net/Articles/192624/. Z opcją gnu binarki wychodzą mniejsze tak jak mbar pisał.

----------

## Arfrever

 *3lmo wrote:*   

> Mam do ciebie jeszcze pytanie w swoich LDFLAGS masz umieszczone cusik takiego 
> 
> ```
> LDFLAGS="-Wl,-O1,--as-needed,--sort-common,-z,relro"
> ```
> ...

 

Jakub Jelinek - [RFC PATCH] Little hardening DSOs/executables against exploits.

Perduodu linkėjimus

Arfrever

----------

