commit | 66d45787c865a1807ae397a89a14699394ed4fa4 | [log] [tgz] |
---|---|---|
author | Alexander Monakov <amonakov@ispras.ru> | Sun Jun 28 02:48:30 2015 +0300 |
committer | Rich Felker <dalias@aerifal.cx> | Sat Jun 27 21:48:19 2015 -0400 |
tree | 630a28753ddddafcdcbce2dd54b4dff120f384ec | |
parent | 6ba5517a460c6c438f64d69464fdfc3269a4c91a [diff] [blame] |
dynlink.c: use a faster expression in gnu_hash With -Os, GCC uses a multiply rather than a shift and addition for 'h*33'. Use a more efficient expression explicitely.
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index d2a7249..ec96be1 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c
@@ -156,7 +156,7 @@ const unsigned char *s = (void *)s0; uint_fast32_t h = 5381; for (; *s; s++) - h = h*33 + *s; + h += h*32 + *s; return h; }