https://bugs.kde.org/show_bug.cgi?id=386945
--- Comment #39 from Mark Wielaard <m...@klomp.org> --- With that gcc backport https://gcc.gnu.org/ml/gcc-patches/2018-11/msg02161.html and the valgrind fixes we get rid of all the Conditional jump or move depends on uninitialised value(s) issues, but unfortunately we still have an issue with the some Invalid read of size 4. The simplest example is the last C program: #include <stdlib.h> #include <string.h> int main() { char *foo = calloc(3, 1); return strcmp(foo, "a"); } gcc -g -O2 -o t t.c valgrind -q ./t ==31430== Invalid read of size 4 ==31430== at 0x10000510: main (t.c:8) ==31430== Address 0x42e0044 is 1 bytes after a block of size 3 alloc'd ==31430== at 0x40874C8: calloc (vg_replace_malloc.c:752) ==31430== by 0x100004FF: main (t.c:6) ==31430== The issue is the following ldbrx: Dump of assembler code for function main: 0x00000000100004e0 <+0>: lis r2,4098 0x00000000100004e4 <+4>: addi r2,r2,32512 0x00000000100004e8 <+8>: mflr r0 0x00000000100004ec <+12>: li r4,1 0x00000000100004f0 <+16>: li r3,3 0x00000000100004f4 <+20>: std r0,16(r1) 0x00000000100004f8 <+24>: stdu r1,-32(r1) 0x00000000100004fc <+28>: bl 0x10000480 <00000022.plt_call.calloc@@GLIBC_2.17> 0x0000000010000500 <+32>: ld r2,24(r1) 0x0000000010000504 <+36>: addis r4,r2,-2 0x0000000010000508 <+40>: li r10,0 0x000000001000050c <+44>: addi r4,r4,-30120 => 0x0000000010000510 <+48>: ldbrx r7,0,r3 0x0000000010000514 <+52>: ldbrx r8,0,r4 0x0000000010000518 <+56>: cmpb r10,r7,r10 0x000000001000051c <+60>: cmpb r9,r7,r8 0x0000000010000520 <+64>: orc. r10,r10,r9 0x0000000010000524 <+68>: bne 0x10000548 <main+104> 0x0000000010000528 <+72>: addi r9,r3,8 0x000000001000052c <+76>: ldbrx r7,0,r9 0x0000000010000530 <+80>: addi r9,r4,8 0x0000000010000534 <+84>: ldbrx r8,0,r9 0x0000000010000538 <+88>: cmpb r10,r7,r10 0x000000001000053c <+92>: cmpb r9,r7,r8 0x0000000010000540 <+96>: orc. r10,r10,r9 0x0000000010000544 <+100>: beq 0x10000570 <main+144> 0x0000000010000548 <+104>: cntlzd r9,r10 0x000000001000054c <+108>: addi r9,r9,8 0x0000000010000550 <+112>: rldcl r3,r7,r9,56 0x0000000010000554 <+116>: rldcl r9,r8,r9,56 0x0000000010000558 <+120>: subf r3,r9,r3 0x000000001000055c <+124>: addi r1,r1,32 0x0000000010000560 <+128>: extsw r3,r3 0x0000000010000564 <+132>: ld r0,16(r1) 0x0000000010000568 <+136>: mtlr r0 0x000000001000056c <+140>: blr 0x0000000010000570 <+144>: addi r9,r3,16 0x0000000010000574 <+148>: ldbrx r7,0,r9 0x0000000010000578 <+152>: addi r9,r4,16 0x000000001000057c <+156>: ldbrx r8,0,r9 0x0000000010000580 <+160>: cmpb r10,r7,r10 0x0000000010000584 <+164>: cmpb r9,r7,r8 0x0000000010000588 <+168>: orc. r10,r10,r9 0x000000001000058c <+172>: bne 0x10000548 <main+104> 0x0000000010000590 <+176>: addi r9,r3,24 0x0000000010000594 <+180>: ldbrx r7,0,r9 0x0000000010000598 <+184>: addi r9,r4,24 0x000000001000059c <+188>: ldbrx r8,0,r9 0x00000000100005a0 <+192>: cmpb r10,r7,r10 0x00000000100005a4 <+196>: cmpb r9,r7,r8 0x00000000100005a8 <+200>: orc. r10,r10,r9 0x00000000100005ac <+204>: bne 0x10000548 <main+104> 0x00000000100005b0 <+208>: addi r9,r3,32 0x00000000100005b4 <+212>: ldbrx r7,0,r9 0x00000000100005b8 <+216>: addi r9,r4,32 0x00000000100005bc <+220>: ldbrx r8,0,r9 0x00000000100005c0 <+224>: cmpb r10,r7,r10 0x00000000100005c4 <+228>: cmpb r9,r7,r8 0x00000000100005c8 <+232>: orc. r10,r10,r9 0x00000000100005cc <+236>: bne 0x10000548 <main+104> 0x00000000100005d0 <+240>: addi r9,r3,40 0x00000000100005d4 <+244>: ldbrx r7,0,r9 0x00000000100005d8 <+248>: addi r9,r4,40 0x00000000100005dc <+252>: ldbrx r8,0,r9 0x00000000100005e0 <+256>: cmpb r10,r7,r10 0x00000000100005e4 <+260>: cmpb r9,r7,r8 0x00000000100005e8 <+264>: orc. r10,r10,r9 0x00000000100005ec <+268>: bne 0x10000548 <main+104> 0x00000000100005f0 <+272>: addi r9,r3,48 0x00000000100005f4 <+276>: ldbrx r7,0,r9 0x00000000100005f8 <+280>: addi r9,r4,48 0x00000000100005fc <+284>: ldbrx r8,0,r9 0x0000000010000600 <+288>: cmpb r10,r7,r10 0x0000000010000604 <+292>: cmpb r9,r7,r8 0x0000000010000608 <+296>: orc. r10,r10,r9 0x000000001000060c <+300>: bne 0x10000548 <main+104> 0x0000000010000610 <+304>: addi r9,r3,56 0x0000000010000614 <+308>: ldbrx r7,0,r9 0x0000000010000618 <+312>: addi r9,r4,56 0x000000001000061c <+316>: ldbrx r8,0,r9 0x0000000010000620 <+320>: cmpb r10,r7,r10 0x0000000010000624 <+324>: cmpb r9,r7,r8 0x0000000010000628 <+328>: orc. r10,r10,r9 0x000000001000062c <+332>: bne 0x10000548 <main+104> 0x0000000010000630 <+336>: addi r4,r4,64 0x0000000010000634 <+340>: addi r3,r3,64 0x0000000010000638 <+344>: bl 0x100004c0 <00000022.plt_call.strcmp@@GLIBC_2.17> 0x000000001000063c <+348>: ld r2,24(r1) 0x0000000010000640 <+352>: b 0x1000055c <main+124> 0x0000000010000644 <+356>: .long 0x0 0x0000000010000648 <+360>: .long 0x1000000 0x000000001000064c <+364>: .long 0x80 -- You are receiving this mail because: You are watching all bug changes.