Michael Matz changed bug 1204710
What Removed Added
CC   matz@suse.com, schwab@suse.com

Comment # 2 on bug 1204710 from
Yhat was only speculation, though.  I think it's not triggered by that:

% cat hello.c
#include <stdio.h>
int main(void) { printf ("hello\n"); return 0; }
% gcc hello.c
% readelf -d a.out | grep NOW
% LD_DEBUG=bindings ./a.out
     19645:
     19645:     calling init: /lib64/ld-linux-x86-64.so.2
     19645:
     19645:
     19645:     calling init: /lib64/libc.so.6
     19645:
     19645:
     19645:     initialize program: ./a.out
     19645:
     19645:
     19645:     transferring control: ./a.out
     19645:
hello

     19645:
     19645:     calling fini: ./a.out [0]
     19645:

So, something in ld.so changed that the bindings debug messages aren't emitted
anymore, and if that wasn't by design we have a regression.  I can see this
behaviour with glibc 2.36 on tumbleweed.  With glibc 2.35 (on an older TW):

% gcc -Wl,-z,now hello.c
% LD_DEBUG=bindings ./a.out
     30703:     binding file linux-vdso.so.1 [0] to linux-vdso.so.1 [0]: normal
symbol `__vdso_clock_gettime' [LINUX_2.6]
     30703:     binding file linux-vdso.so.1 [0] to linux-vdso.so.1 [0]: normal
symbol `__vdso_gettimeofday' [LINUX_2.6]
     30703:     binding file linux-vdso.so.1 [0] to linux-vdso.so.1 [0]: normal
symbol `__vdso_time' [LINUX_2.6]
...
     30703:     binding file ./a.out [0] to /lib64/libc.so.6 [0]: normal symbol
`puts' [GLIBC_2.2.5]
...

and so on.  This is just to demonstrate the -znow in itself is not the cause,
but the glibc version is.  CCing Andreas.


You are receiving this mail because: