An alternatve to rebuilding Qt with the patch applied is to binary patch the Qt libs and test:
I copied libQtCore.so and libQtGui.so (the two Qt deps of the simple Qt app which crashes) in the current dir
Then
sed -i 's/\x04\(\xbf.\xe8\x00.\)/\x02\1/' libQtCore.so.4
same on QtGui
export LD_LIBRARY_PATH=.
ldd ./crasherapp (just to confirm it ineed gets the libs from the current dir)
This sed invocation changes itt to ittt in the places where a strexeq follows
The app crashes in the same way so unlikely imho that the patch is the issue, or that indeed the patch is incorrect.
With ittt objdump -d annotates that disas line with
beq.n 1242c8 <_ZN12QApplication11qt_metacastEPKc+0x5c> ; unpredictable <IT:eq>
because it is unclear whether the ittt of the previous teq should affect the conditional bits in the beqeq instruction
An alternatve to rebuilding Qt with the patch applied is to binary patch the Qt libs and test:
I copied libQtCore.so and libQtGui.so (the two Qt deps of the simple Qt app which crashes) in the current dir (\xbf.\ xe8\x00. \)/\x02\ 1/' libQtCore.so.4
Then
sed -i 's/\x04\
same on QtGui
export LD_LIBRARY_PATH=.
ldd ./crasherapp (just to confirm it ineed gets the libs from the current dir)
This sed invocation changes itt to ittt in the places where a strexeq follows
The app crashes in the same way so unlikely imho that the patch is the issue, or that indeed the patch is incorrect.
With ittt objdump -d annotates that disas line with ion11qt_ metacastEPKc+ 0x5c> ; unpredictable <IT:eq>
beq.n 1242c8 <_ZN12QApplicat
because it is unclear whether the ittt of the previous teq should affect the conditional bits in the beqeq instruction