On Tue, Jun 13, 2023 at 11:57:43AM +0200, Matthias Schmidt wrote:
> 
> I have some more packages that abort with SIGILL upon startup:
> 
> $ pkg_info -vv neovim | head -30 
> Information for inst:neovim-0.9.1
> [...]
> Size: 28354538
> Signature:
> neovim-0.9.1,10,@desktop-file-utils-0.26,@gettext-runtime-0.21.1,@gtk4-update-icon-cache-4.10.4,@libmpack-1.0.3,@libtermkey-0.22,@libuv-1.44.2,@libvterm-0.3v0,@lua-5.1.5p7,@lua-compat53-0.9,@lua-libmpack-1.0.3,@msgpack-2.1.5p0,@tree-sitter-0.20.8,@unibilium-2.1.0,c++abi.6.0,c.97.0,iconv.7.1,intl.7.0,m.10.1,msgpackc.1.0,pthread.27.0,termkey.0.2,tree-sitter.3.0,unibilium.1.1,util.16.0,uv.4.1,vterm.2.0
> Packing-list:
> @name neovim-0.9.1
> @url 
> https://cdn.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/neovim-0.9.1.tgz
> @version 10
> @signer openbsd-73-pkg
> @digital-signature signify2:2023-06-11T20:30:08Z:external
> @option manual-installation
> @comment pkgpath=editors/neovim ftp=yes
> 
> $ egdb /usr/local/bin/nvim nvim.core                                          
>                                                                               
>                                                                               
>  
> Reading symbols from /usr/local/bin/nvim...
> (No debugging symbols found in /usr/local/bin/nvim)
> [New process 155716]
> Core was generated by `nvim'.
> Program terminated with signal SIGILL, Illegal instruction.
> #0  0x000008374ed28152 in lj_BC_FUNCC ()
> (gdb) bt
> #0  0x000008374ed28152 in lj_BC_FUNCC ()
> #1  0x000008374ed9ef1a in luaL_openlibs ()
> #2  0x000008374ef78d54 in nlua_init ()
> #3  0x000008374edab3b5 in main ()

luajit has asm files which need correction.


> Latest screen aborts as well.  Both the vanilla version and my own
> compilation (same as in ports plus 256 color support).
> 
> $ pkg_info -vv screen | head -30 
> Information for inst:screen-4.9.0
> [...]
> Size: 1244302
> Signature: screen-4.9.0,10,c.97.0,curses.14.0,util.16.0
> Packing-list:
> @comment $OpenBSD: PLIST,v 1.24 2019/08/15 21:01:49 naddy Exp $
> @name screen-4.9.0
> @url file:./screen-4.9.0.tgz
> @version 10
> 
> $ egdb /usr/local/bin/screen screen.core                                      
>                                                                               
>                                                                               
>   
> Reading symbols from /usr/local/bin/screen... 
> (No debugging symbols found in /usr/local/bin/screen)
> [New process 352402]                          
> Core was generated by `screen'.               
> Program terminated with signal SIGILL, Illegal instruction.
> #0  0x00000e68ac0e6780 in _start ()           
> (gdb) bt                                                                      
>                                                    
> #0  0x00000e68ac0e6780 in _start ()           
> (gdb) disassemble                             
> Dump of assembler code for function _start:   
> => 0x00000e68ac0e6780 <+0>:     mov    rcx,rdx
> 0x00000e68ac0e6783 <+3>:     mov    rdi,QWORD PTR [rsp]
> 0x00000e68ac0e6787 <+7>:     lea    rdx,[rsp+rdi*8+0x10]
> 0x00000e68ac0e678c <+12>:    lea    rsi,[rsp+0x8]          

the _start function doesn't begin with `endbr64'. the compiler which generated 
it doesn't use the -fcf-protection=branch option.

please ensure your base system is up to date, and next rebuild the package with 
the newly installed compiler.

thanks.
-- 
Sebastien Marie

Reply via email to