[Ltrace-devel] PIE support

Petr Machata pmachata at redhat.com
Mon Nov 27 20:31:47 CET 2006


Ian Wienand wrote:
> On Fri, Nov 24, 2006 at 05:02:45PM +0100, Petr Machata wrote:
>> I've written a PIE (position independent executables) support for
>> ltrace.
> 
> Thanks!  Is this from Redhat shipping this and stack randomisation by
> default for security?

No idea if there are plans to PIE everything.  But certain network
related and security sensitive apps are, and it sucks when ltrace can't
handle them.

> I'm having a play, and I wonder if I'm seeing what you're seeing.
> On x86, for example, I don't see it picking up the puts call for a

Hmm, interesting.  Moreso that __libc_start_main gets picked.  I'll try
to reproduce that.

> ianw at jj:/tmp$ gcc -pie -o pie pie.c
^^^ could you try to compile with `gcc -fpie -pie -o pie pie.c`?  Might
be that...

> printf?  And on ia64 it doesn't seem to pick anything up at all, and
> breaks the testsuite (I haven't quite figured out why yet -- can

Aha, that's not very surprising.  I dind't touch ia64 yet.  It's on my
todo though.

> anyone give some pointers for running individual parts of the test
> suite and seeing what it is doing?)

E.g. `runtest ltrace.main/something.exp` will run a test for you, if
that is what you ask :)  But apart from attach stuff, which is really
irritating to set up, almost everything is pretty simple to test
directly on prepared binaries.

> 
> -i
> 
> ---- ia64 ----
> 
> ianw at lime:~/programs/ltrace/ltrace/trunk$ ./ltrace /tmp/pie
> pie
> +++ exited (status 4) +++

This probably means breakpoints end up in some insane place.  That's how
ltrace acted on all pie binaries before.  I'll look inside.

PM



More information about the Ltrace-devel mailing list