Hello,
Is someone checking the testsuite code for dwarfm.exp test ?
Here are the changes I suspect could be made ... if someone can validate
or comment on other arch that would be great !
diff --git a/testsuite/ltrace.main/dwarf.exp
b/testsuite/ltrace.main/dwarf.exp
index 0c8611c..b80c148 100644
--- a/testsuite/ltrace.main/dwarf.exp
+++ b/testsuite/ltrace.main/dwarf.exp
@@ -50,9 +50,9 @@ set ltrace_opts_l {"-A5" "-l" "libdwarftest.so"}
 set ref_output_l [subst -nocommands -novariables {
 dwarf->linkedlisttest({ 5, nil }) * = <void>
 dwarf->treetest({ 1, { 2, nil, nil }, { 3, nil, { 4, nil, nil } } }
<unfinished ...>
-libdwarftest.so->treetest({ 2, nil, nil }) * = nil
+libdwarftest.so->treetest({ 2, nil, nil }) * = { 2, nil, nil }
 libdwarftest.so->treetest({ 3, nil, { 4, nil, nil } } <unfinished ...>
-libdwarftest.so->treetest({ 4, nil, nil }) * = nil
+libdwarftest.so->treetest({ 4, nil, nil }) * = { 4, nil, nil }
 <... treetest resumed> ) * = { 5, nil, nil }
 <... treetest resumed> ) * = { 2, { 3, nil, nil }, { 4, nil, { 5, nil,
nil } } }
 dwarf->looptest({ { recurse^, 6 }, 5 }) * = <void>
@@ -81,12 +81,7 @@ run_dwarf_test $ref_output_demangling
$ltrace_opts_demangling
 set ltrace_opts_x {"-A5" "-L" "-x" "@libdwarftest.so"}
 set ref_output_x [subst -nocommands -novariables {
 [email protected]({ 5, nil }) * = <void>
[email protected]({ 1, { 2, nil, nil }, { 3, nil, { 4, nil, nil
} } } <unfinished ...>
[email protected]({ 2, nil, nil }) * = nil
[email protected]({ 3, nil, { 4, nil, nil } } <unfinished ...>
[email protected]({ 4, nil, nil }) * = nil
-<... treetest resumed> ) * = { 5, nil, nil }
-<... treetest resumed> ) * = { 2, { 3, nil, nil }, { 4, nil, { 5, nil,
nil } } }
[email protected]({ 1, { 2, nil, nil }, { 3, nil, { 4, nil, nil
} } }) = { 2, { 3, nil, nil }, { 4, nil, { 5, nil, nil } } }
 [email protected]({ { recurse^, 6 }, 5 }) * = <void>
 [email protected](A, B) * = 0
 [email protected](.* 1.000000, 2.000000, 1.000000, 2.000000,
1.000000 [^\\\.*]* * = 1.000000
@@ -104,9 +99,9 @@ run_dwarf_test $ref_output_x $ltrace_opts_x
 
 set ltrace_opts_e {"-A5" "-e" "@libdwarftest.so"}
 set ref_output_e [subst -nocommands -novariables {
-libdwarftest.so->treetest({ 2, nil, nil }) * = nil
+libdwarftest.so->treetest({ 2, nil, nil }) * = { 2, nil, nil }
 libdwarftest.so->treetest({ 3, nil, { 4, nil, nil } } <unfinished ...>
-libdwarftest.so->treetest({ 4, nil, nil }) * = nil
+libdwarftest.so->treetest({ 4, nil, nil }) * = { 4, nil, nil }
 <... treetest resumed> ) * = { 5, nil, nil }
 libdwarftest.so->_Z3f127Colors2(GREEN2) * = RED1
 libdwarftest.so->_Z3f347Colors4(BLUE4) * = RED3
@@ -117,7 +112,7 @@ run_dwarf_test $ref_output_e $ltrace_opts_e
 set ltrace_opts_e {"-l" "libc.so*"}
 set ref_output_e [subst -nocommands -novariables {
 libdwarftest.so->ftell(0x[0-9a-z]*) * = -1
-libdwarftest.so->strlen('t') * = 4
+libdwarftest.so->strlen('t' <unfinished ...>
 dwarf->usleep(33) * = 0
 dwarf->nanosleep({ 0, 44 }, nil) * = 0
 } ]
@@ -127,9 +122,7 @@ set ltrace_opts_e {"-L" "-x"
"@libc.so*[email protected]"}
 set ref_output_e [subst -nocommands -novariables {
 [email protected](0x[0-9a-z]*
 [email protected]('t') * = 4
[email protected](33 <unfinished ...>
[email protected]({ 0, 33000 }, nil) * = 0
-<... usleep resumed> ) * = 0
[email protected](33) * = 0
 [email protected]({ 0, 44 }, nil) * = 0
 } ]
 run_dwarf_test $ref_output_e $ltrace_opts_e



On 24/03/2016 17:10, [email protected] wrote:
> From: Thierry Fauck <[email protected]>
>
> Signed-off-by: Thierry Fauck <[email protected]>
>
>       modified:   sysdeps/linux-gnu/ppc/fetch.c
> ---
>  sysdeps/linux-gnu/ppc/fetch.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/sysdeps/linux-gnu/ppc/fetch.c b/sysdeps/linux-gnu/ppc/fetch.c
> index e4045a0..860cb86 100644
> --- a/sysdeps/linux-gnu/ppc/fetch.c
> +++ b/sysdeps/linux-gnu/ppc/fetch.c
> @@ -609,7 +609,11 @@ arch_fetch_retval(struct fetch_context *ctx, enum tof 
> type,
>       if (ctx->ret_struct) {
>               assert(info->type == ARGTYPE_STRUCT);
>
> -             uint64_t addr = read_gpr(ctx, proc, 3);
> +             uint64_t addr;
> +             if ( ctx->regs.r32[1] == 0 )
> +                        addr = read_gpr(ctx, proc, 3);
> +                else
> +                        addr = read_gpr(ctx, proc, 4);
>               value_init(valuep, proc, NULL, info, 0);
>
>               valuep->where = VAL_LOC_INFERIOR;


-- 
Thierry Fauck @ linux.vnet.ibm


_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel

Reply via email to