Собираю libpqxx-3.1 и каждый раз получаю разный бинарь:
> ./configure --enable-shared --disable-static
> make
> cp src/.libs/libpqxx-3.1.so ./
> make clean
> make
> md5sum {src/.libs/,}libpqxx-3.1.so
53931f189d7ea7bf027e24d7032a9452 src/.libs/libpqxx-3.1.so
42fc41bd8ff8add2ad17b56caf95fb12 libpqxx-3.1.so
> strip --strip-unneeded {src/.libs/,}libpqxx-3.1.so
> md5sum {src/.libs/,}libpqxx-3.1.so
c8a33471a76aefa4d311033632d4dc6d src/.libs/libpqxx-3.1.so
0e56e3a4fbba81e976b550cb77379a8f libpqxx-3.1.so
При сборке с -O0 и -save-temps diff показывает много различий вроде
> diff a/cursor.s b/cursor.s
12366c12366
< .section .gnu.linkonce.t._ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc,"ax",@progbits
---
> .section .gnu.linkonce.t._ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc,"ax",@progbits
12368,12370c12368,12370
< .weak _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc
< .type _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc, @function
< _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc:
---
> .weak _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc
> .type _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc, @function
> _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc:
12408c12408
< .size _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc, .-_ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc
---
> .size _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc, .-_ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc
13022c13022
< call _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc@PLT
---
> call _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc@PLT
13063c13063
< call _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc@PLT
---
> call _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc@PLT
14477c14477
< call _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc@PLT
---
> call _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc@PLT
14518c14518
< call _ZN39_GLOBAL__N_cursor.cxx_00000000_5616376313useless_trailEc@PLT
---
> call _ZN39_GLOBAL__N_cursor.cxx_00000000_B814713413useless_trailEc@PLT
P.S. проверено на gcc версий 2.95, 3.3.6, 3.4.6, 4.1.2, 4.1.3, а вот на 4.8.3 бинарник всегда одинаковый