I tested different things and could track down the problem to following:

typedef int *restrict my_type;
void foo(my_type t) {...}

Using the getParams() function, the parameter t has size 0 (instead of
pointer size). If I take away the typedef...

void foo(int *restrict t) {...}

...then the size will be 4 which is also not correct on my 64bit machine.
I assume this somehow relates to dwarfWalker.C not
handling DW_TAG_restrict_type. I quickly tried to handle this tag the same
way as DW_TAG_const_type but this didn't help.


Bill Williams <[email protected]> schrieb am Tue Dec 16 2014 at 22:19:28:

> Do you mind sending over your mutatee (libpng and/or the program using
> it)? I can poke around with dwarfdump and our dwarf parser's debug
> output and see what's up here. Turnaround may be a bit slow, between the
> holidays and some other projects with fixed deadlines I've got going,
> but I'll do what I can.
>
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to