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: