[Ltrace-devel] dwarf.exp test failures
Thierry Fauck@linux.vnet.ibm.com
thierry at linux.vnet.ibm.com
Thu Mar 24 16:16:00 UTC 2016
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 {
linkedlisttest at libdwarftest.so({ 5, nil }) * = <void>
-treetest at libdwarftest.so({ 1, { 2, nil, nil }, { 3, nil, { 4, nil, nil
} } } <unfinished ...>
-treetest at libdwarftest.so({ 2, nil, nil }) * = nil
-treetest at libdwarftest.so({ 3, nil, { 4, nil, nil } } <unfinished ...>
-treetest at libdwarftest.so({ 4, nil, nil }) * = nil
-<... treetest resumed> ) * = { 5, nil, nil }
-<... treetest resumed> ) * = { 2, { 3, nil, nil }, { 4, nil, { 5, nil,
nil } } }
+treetest at libdwarftest.so({ 1, { 2, nil, nil }, { 3, nil, { 4, nil, nil
} } }) = { 2, { 3, nil, nil }, { 4, nil, { 5, nil, nil } } }
looptest at libdwarftest.so({ { recurse^, 6 }, 5 }) * = <void>
enumtest at libdwarftest.so(A, B) * = 0
arraytest at libdwarftest.so(.* 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*-__nanosleep_nocancel at libc.so.6"}
set ref_output_e [subst -nocommands -novariables {
ftell at libc.so.6(0x[0-9a-z]*
strlen at libc.so.6('t') * = 4
-usleep at libc.so.6(33 <unfinished ...>
-nanosleep at libc.so.6({ 0, 33000 }, nil) * = 0
-<... usleep resumed> ) * = 0
+usleep at libc.so.6(33) * = 0
nanosleep at libc.so.6({ 0, 44 }, nil) * = 0
} ]
run_dwarf_test $ref_output_e $ltrace_opts_e
On 24/03/2016 17:10, thierry at linux.vnet.ibm.com wrote:
> From: Thierry Fauck <tfauck at free.fr>
>
> Signed-off-by: Thierry Fauck <tfauck at free.fr>
>
> 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
More information about the Ltrace-devel
mailing list