[Ltrace-devel] No output on Ubuntu 16.10

doug doug at hoytech.com
Wed May 31 22:13:51 UTC 2017


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).



More information about the Ltrace-devel mailing list