[Arm-dev] Tracking Down "Illegal instruction" Sources

Wed Jul 17 19:34:13 UTC 2019
Stephan GUILLOUX <stephan.guilloux at free.fr>

In such situation, I would try to use GDB.

- gdb <application> and run the whole, till it crashes.

- gdb attached to a daemon, with option -p

- gdb on a core file, but might need to enable that, system wide.


My 2 cents.

Regards,

Stephan.


On 14-Jul-19 16:55, Gordan Bobic wrote:

> I'm trying to track down the executables/libraries that are behind the 
> "Illegal instruction" errors I am seeing on my Tegra 2 devices. It 
> seems a given that this is due to some packages from the GL stack 
> (Mesa, libglvnd, etc.) having been build with assumptions of NEON 
> always being present, but I'm trying to figure out a way to determine 
> this definitively.
>
> I have tried the approach along the lines of:
>
> objdump -Ds $file | grep -E 'vadd\.|vmul\.'
>
> since vadd and vmul are both NEON assembly instructions, but this 
> seems to flag up nearly everything, most of which is in fact working 
> (e.g. Firefox 52.x).
>
> So either my approach is wrong or there are many binaries that do some 
> kind of runtime detection and selectively use NEON if supported by the 
> hardware.
>
> The reason i am looking into this is because gdm doesn't work without 
> working GL (even software mesa GL). It works on my Chromebook without 
> hardware accelerated drivers, but doesn't work on my Tegra laptop 
> without accelerated drivers. On the Chromebook (Exynos) glxgears runs 
> (albeit slowly), but on Tegra, it crashes with "Illegal instruction".
>
> I tried rebuilding libglvnd and mesa on the local machine in a hope 
> that NEON capability is auto-detected but that doesn't seem to have 
> made any difference.
>
> Any advice/suggestions/insights gratefully received.
>
> _______________________________________________
> Arm-dev mailing list
> Arm-dev at centos.org
> https://lists.centos.org/mailman/listinfo/arm-dev