[Bug 263845] graphics/libglvnd: Library compiled in ARM mode, but executes in Thumb mode, crashing programs on FreeBSD 13 armv7 with SIGILL
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 263845] graphics/libglvnd: crashes on armv7 with SIGILL"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Jun 2022 13:24:45 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263845 Robert Clausecker <fuz@fuz.su> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #234353|maintainer-approval?(x11@Fr | Flags|eeBSD.org) | Attachment #234353|0 |1 is obsolete| | Attachment #234421| |maintainer-approval? Flags| | --- Comment #7 from Robert Clausecker <fuz@fuz.su> --- Created attachment 234421 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=234421&action=edit graphics/libglvnd: fix on armv6/armv7 The .thumb_func directive does not switch to thumb mode in clang's integrated assembler. This causes the code to be miscompiled in that it is generated as ARM code but the symbols are tagged as thumb. The resulting library is unusable. Every call into it crashes. Fix this issue by applying an upstream patch set to have the entry stubs be in ARM mode instead of Thumb mode. See also: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/267 See also: https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/232 PR: 263845 Tested with Poudriere on armv7 arm64 FreeBSD 13. Portlint likes the port. -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug.