Hi there. I have a WRAP board which was running 12.3 (i386) and recently upgraded it to 12.4 but unfortunately sudo doesn't work any more. It throws a SIGILL for an illegal instruction in what looks to be /libexec/ld-elf.so.7.
I know technically sudo is a package/port, but I've re-installed the package a few times and no change and the backtrace looks to be in the installed libs. I've even built it from /usr/ports and the new binary also throws a core dump. The backtrace looks as follows:
I've checked the libc and ld-elf shared libraries against the release and they both match the pristine i386 release in terms of size and sum. I suspect the next steps are to produce a libc and ld-elf with symbols but this isn't a development machine so it'll be a bit tricky. build-world would not be reasonable as the board has 512MB. I'm at a loss for why there's an illegal instruction in there and there's nothing untoward in ENV. I'll keep poking around, but I was hoping someone might have some suggestions.
I know technically sudo is a package/port, but I've re-installed the package a few times and no change and the backtrace looks to be in the installed libs. I've even built it from /usr/ports and the new binary also throws a core dump. The backtrace looks as follows:
Code:
# gdb ./sudo sudo.core
GNU gdb (GDB) 13.1 [GDB v13.1 for FreeBSD]
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "i386-portbld-freebsd12.4".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./sudo...
[New LWP 100295]
Core was generated by `./sudo id'.
Program terminated with signal SIGILL, Illegal instruction.
Privileged opcode.
#0 0x0040f590 in getenv ()
(gdb) where
#0 0x0040f590 in getenv ()
#1 0x2082d838 in ?? () from /lib/libc.so.7
#2 0x2082e45e in ?? () from /lib/libc.so.7
#3 0x2043ceef in ?? () from /libexec/ld-elf.so.1
#4 0x2043bbb5 in ?? () from /libexec/ld-elf.so.1
#5 0x2043961e in ?? () from /libexec/ld-elf.so.1
I've checked the libc and ld-elf shared libraries against the release and they both match the pristine i386 release in terms of size and sum. I suspect the next steps are to produce a libc and ld-elf with symbols but this isn't a development machine so it'll be a bit tricky. build-world would not be reasonable as the board has 512MB. I'm at a loss for why there's an illegal instruction in there and there's nothing untoward in ENV. I'll keep poking around, but I was hoping someone might have some suggestions.