[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PPC64 Illegal Instruction



On Sat, Mar 02, 2019 at 10:48:34PM +0000, Noah Wolfe wrote:
> I just wanted to alert you that VLC, Audacity, Audacious, and
> many other applications, do not start when launched from a
> graphical menu, and immediately give out "Illegal instruction"
> when launched via Terminal in PPC64, 

Confirmed on Mac G5.  Mpv crashes on invocation with the
following backtrace in the x265 library:

Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007fffb3f561f8 in __static_initialization_and_destruction_0
(__priority=65535, __initialize_p=1)
    at ./source/common/ppc/intrapred_altivec.cpp:30808
30808	./source/common/ppc/intrapred_altivec.cpp: No such file
    or directory.
(gdb) bt
#0  0x00007fffb3f561f8 in __static_initialization_and_destruction_0
    (__priority=65535, __initialize_p=1)
        at ./source/common/ppc/intrapred_altivec.cpp:30808
#1  _GLOBAL__sub_I_intrapred_altivec.cpp(void) () at
	./source/common/ppc/intrapred_altivec.cpp:30808
#2  0x00007fffb9bc5ca8 in call_init (env=0x7ffff4dda8e0,
	argv=0x7ffff4dda8c8, argc=2, l=<optimized out>) at dl-init.c:72
#3  call_init (l=<optimized out>, argc=<optimized out>,
	argv=0x7ffff4dda8c8, env=0x7ffff4dda8e0) at dl-init.c:28
#4  0x00007fffb9bc5dfc in _dl_init (main_map=0x7fffb9bf11f0,
	argc=<optimized out>, argv=0x7ffff4dda8c8, env=0x7ffff4dda8e0)
	    at dl-init.c:119
#5  0x00007fffb9bb3c3c in ._dl_start_user () from /lib64/ld64.so.1

Disassembling lists the following offending instruction:

=> 0x00007fffb3f561f8 <+88>:	stxvw4x vs32,0,r9

I don't see that instruction in the Altivec programming manual from
Freescale.  Gcc manual lists this instruction as being VSX which
is used if -mvsx is given on compilation invocation.  There is also
a comment that stxvw4x will be used if one of the vec_vsx_st()
built-ins are used (but there is no such usage in the x265
source file.)

I see in the x265 build-log on the compilation invocataions the
definition "-DX265_ARCH_POWER8=1".  Maybe that's the problem?  The
buildd is a Power8 (or even a Power9) machine, no?  Looks like x265
is being built for the buildd, not for ppc64.

I've run out of time to investigate further, sorry.

Cheers,
Michael.


Reply to: