Hi, I've noticed ltrace not working in certain cases too. I think it might have something to do with binaries compiled with "relro now". This is a security feature where all the symbols are looked up on startup, not lazily, so that the GOT can be made read-only.
I'm still on Ubuntu 16.04 so I can still ltrace ls just fine. However, I can't ltrace curl. Here's the reason I think it's related to relro now (LAZY vs NOW in the scanelf output): $ scanelf -a /bin/ls /usr/bin/curl ET_EXEC PeMRxS 0755 LE RW- R-- RW- - - LAZY /bin/ls ET_DYN PeMRxS 0755 LE RW- R-- RW- - - NOW /usr/bin/curl I added a little test case to the stack overflow question: https://stackoverflow.com/questions/43213505/no-output-when-running-ltrace/44295494 Note that this issue was reported earlier on this list by Martin Cermak: http://lists.alioth.debian.org/pipermail/ltrace-devel/2016-May/001378.html Regards, Doug PS. This also seems to affect LD_AUDIT (and therefore latrace, where I'm going to report another bug right after this). _______________________________________________ Ltrace-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel
