[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-13 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #5 from Julian Seward  ---
(In reply to Claus Strasburger from comment #4)
> more -- this one is 0xFEBB0B40, VRINTM.f64), in code generated with
> -mcpu=cortex-a53 -mfpu=neon-fp-armv8 (for the Raspberry Pi 3, gcc 4.9.2)
> 
> Should I open new bugs for these?

In general, new problems should go on new bug reports.  Having a single
bug report tracking multiple failures is confusing.

In this particular case, try svn up-ing and trying again.  Vex r3292
supports VRINTM.f64 and some other instructions -- as far as I can tell,
all the instructions that "gcc-5.4 -mfpu=neon-fp-armv8".

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-13 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #6 from Julian Seward  ---
> all the instructions that "gcc-5.4 -mfpu=neon-fp-armv8".
+= "generates."

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-16 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #7 from Claus Strasburger  ---
Indeed, my tests are happy.

You guys are awesome! Thanks for all the hard work.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-10 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

Julian Seward  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #3 from Julian Seward  ---
Fixed, vex r3289.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-11 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #4 from Claus Strasburger  ---
Thanks! I can verify that gets me past the OpenSSL setup.
I'm finding another unhandled instruction (and I'm guessing there will be more
-- this one is 0xFEBB0B40, VRINTM.f64), in code generated with
-mcpu=cortex-a53 -mfpu=neon-fp-armv8 (for the Raspberry Pi 3, gcc 4.9.2)

Should I open new bugs for these?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2016-11-22 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

Claus Strasburger  changed:

   What|Removed |Added

 CC||c+...@cfs.im

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2016-11-25 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #1 from Julian Seward  ---
Ach, the logic there that verifies whether the instruction decode is
valid, is wrong.  Try this:

change

 // Paranoia ..
 vassert(szBlg2 <= 3);
 if (szBlg2 < 3) { vassert(tt2 == 16/*invalid*/); }
else { vassert(tt2 <= 14); }
 if (isLoad) { vassert(dd == 16/*invalid*/); }
else { vassert(dd <= 14); }
 // If we're still good even after all that, generate the IR.

by wrapping "if (gate) { .. }" around it:

if (gate) {
 // Paranoia ..
 vassert(szBlg2 <= 3);
 if (szBlg2 < 3) { vassert(tt2 == 16/*invalid*/); }
else { vassert(tt2 <= 14); }
 if (isLoad) { vassert(dd == 16/*invalid*/); }
else { vassert(dd <= 14); }
 // If we're still good even after all that, generate the IR.
}

This isn't a proper fix, though.  Can you use objdump to find the insn
it is failing on?  I'll need that to test it properly.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2016-12-01 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #2 from Claus Strasburger  ---
Okay, I used LD_DEBUG=files to subtract the base address of libcrypto, and got
414b0 (x->). which seems to be the return of OPENSSL_cpuid_setup (??)
   414a4:   ebfffa93bl  3fef8 <__sigsetjmp@plt>
   414a8:   e350cmp r0, #0
   414ac:   1a06bne 414cc 
x->414b0:   eb000e4cbl  44de8 
   414b4:   e59f3068ldr r3, [pc, #104]  ; 41524

   414b8:   e59d2004ldr r2, [sp, #4]
   414bc:   e7922003ldr r2, [r2, r3]

I took the address from 
"Thread 1: status = VgTs_Runnable (lwpid 27114)
==27114==at 0x48B54B0: OPENSSL_cpuid_setup (in
/usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0)"


Applying the fix you mentioned gets me farther, until:
disInstr(arm): unhandled instruction: 0xEE190F1D
 cond=14(0xE) 27:20=225(0xE1) 4:4=1 3:0=13(0xD)
==30349== valgrind: Unrecognised instruction at address 0x48b8de8 (minus base
address: 44de8, y->).

   44dac:   e593ldr r0, [r3]
   44db0:   e212andsr0, r0, #2
   44db4:   012fff1ebxeqlr
   44db8:   ea0ab   44de8 
   44dbc:   0011d254andseq  sp, r1, r4, asr r2
   44dc0:   224candeq   r2, r0, ip, asr #4
...
   44de0:   f26ee1fevorrq15, q15, q15
   44de4:   e12fff1ebx  lr
y->44de8:   ee190f1dmrc 15, 0, r0, cr9, cr13, {0}
   44dec:   e12fff1ebx  lr

Which is the address we were trying to jump to the last attempt...

Does that help?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-13 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #5 from Julian Seward  ---
(In reply to Claus Strasburger from comment #4)
> more -- this one is 0xFEBB0B40, VRINTM.f64), in code generated with
> -mcpu=cortex-a53 -mfpu=neon-fp-armv8 (for the Raspberry Pi 3, gcc 4.9.2)
> 
> Should I open new bugs for these?

In general, new problems should go on new bug reports.  Having a single
bug report tracking multiple failures is confusing.

In this particular case, try svn up-ing and trying again.  Vex r3292
supports VRINTM.f64 and some other instructions -- as far as I can tell,
all the instructions that "gcc-5.4 -mfpu=neon-fp-armv8".

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-13 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #6 from Julian Seward  ---
> all the instructions that "gcc-5.4 -mfpu=neon-fp-armv8".
+= "generates."

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-16 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #7 from Claus Strasburger  ---
Indeed, my tests are happy.

You guys are awesome! Thanks for all the hard work.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-10 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

Julian Seward  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #3 from Julian Seward  ---
Fixed, vex r3289.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2017-01-11 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #4 from Claus Strasburger  ---
Thanks! I can verify that gets me past the OpenSSL setup.
I'm finding another unhandled instruction (and I'm guessing there will be more
-- this one is 0xFEBB0B40, VRINTM.f64), in code generated with
-mcpu=cortex-a53 -mfpu=neon-fp-armv8 (for the Raspberry Pi 3, gcc 4.9.2)

Should I open new bugs for these?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2016-11-22 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

Claus Strasburger  changed:

   What|Removed |Added

 CC||c+...@cfs.im

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2016-11-25 Thread Julian Seward
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #1 from Julian Seward  ---
Ach, the logic there that verifies whether the instruction decode is
valid, is wrong.  Try this:

change

 // Paranoia ..
 vassert(szBlg2 <= 3);
 if (szBlg2 < 3) { vassert(tt2 == 16/*invalid*/); }
else { vassert(tt2 <= 14); }
 if (isLoad) { vassert(dd == 16/*invalid*/); }
else { vassert(dd <= 14); }
 // If we're still good even after all that, generate the IR.

by wrapping "if (gate) { .. }" around it:

if (gate) {
 // Paranoia ..
 vassert(szBlg2 <= 3);
 if (szBlg2 < 3) { vassert(tt2 == 16/*invalid*/); }
else { vassert(tt2 <= 14); }
 if (isLoad) { vassert(dd == 16/*invalid*/); }
else { vassert(dd <= 14); }
 // If we're still good even after all that, generate the IR.
}

This isn't a proper fix, though.  Can you use objdump to find the insn
it is failing on?  I'll need that to test it properly.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 372794] LibVEX 'Assertion szBlg2 <= 3'

2016-12-01 Thread Claus Strasburger
https://bugs.kde.org/show_bug.cgi?id=372794

--- Comment #2 from Claus Strasburger  ---
Okay, I used LD_DEBUG=files to subtract the base address of libcrypto, and got
414b0 (x->). which seems to be the return of OPENSSL_cpuid_setup (??)
   414a4:   ebfffa93bl  3fef8 <__sigsetjmp@plt>
   414a8:   e350cmp r0, #0
   414ac:   1a06bne 414cc 
x->414b0:   eb000e4cbl  44de8 
   414b4:   e59f3068ldr r3, [pc, #104]  ; 41524

   414b8:   e59d2004ldr r2, [sp, #4]
   414bc:   e7922003ldr r2, [r2, r3]

I took the address from 
"Thread 1: status = VgTs_Runnable (lwpid 27114)
==27114==at 0x48B54B0: OPENSSL_cpuid_setup (in
/usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0)"


Applying the fix you mentioned gets me farther, until:
disInstr(arm): unhandled instruction: 0xEE190F1D
 cond=14(0xE) 27:20=225(0xE1) 4:4=1 3:0=13(0xD)
==30349== valgrind: Unrecognised instruction at address 0x48b8de8 (minus base
address: 44de8, y->).

   44dac:   e593ldr r0, [r3]
   44db0:   e212andsr0, r0, #2
   44db4:   012fff1ebxeqlr
   44db8:   ea0ab   44de8 
   44dbc:   0011d254andseq  sp, r1, r4, asr r2
   44dc0:   224candeq   r2, r0, ip, asr #4
...
   44de0:   f26ee1fevorrq15, q15, q15
   44de4:   e12fff1ebx  lr
y->44de8:   ee190f1dmrc 15, 0, r0, cr9, cr13, {0}
   44dec:   e12fff1ebx  lr

Which is the address we were trying to jump to the last attempt...

Does that help?

-- 
You are receiving this mail because:
You are watching all bug changes.