[Arm-dev] Tracking Down "Illegal instruction" Sources
stephan.guilloux at free.fr
Wed Jul 17 19:34:13 UTC 2019
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.
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
> 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
More information about the Arm-dev