>I noticed that Debian package builds of both 7.8(.866-7) and 8.0(.358-1) have >recently started failing on the powerpc architecture. > >https://buildd.debian.org/status/fetch.php?pkg=pike8.0&arch=powerpc&ver=8.0.358-1&stamp=1479857970 > >/«PKGBUILDDIR»/build/linux-3.16.0-4-powerpc64-ppc/pike -DNOT_INSTALLED >-DPRECOMPILED_SEARCH_MORE >-m/«PKGBUILDDIR»/build/linux-3.16.0-4-powerpc64-ppc/master.pike >/«PKGBUILDDIR»/src/post_modules/GL/gen.pike >/«PKGBUILDDIR»/src/post_modules/GL/auto.c.in > auto.c.tmp >Segmentation fault > >This doesn't happen when pike is compiled with -O0, and 7.8.866-6 >built fine (the only difference is that -7 is built with MariaDB >libraries instead of MySQL), so I assume a compiler bug, but perhaps >someone can help figuring out what's triggering it. The backtrace is >perhaps not terribly helpful (from 8.0.358): > >(gdb) bt full >#0 jump_opcode_F_MARK_CALL_LFUN_AND_POP (arg1=272) at >/home/zino/hack/pike8-rel/pike/src/interpret_functions.h:2418 > addr = <optimized out> > jumpaddr = <optimized out>
F_MARK_CALL_LFUN_AND_POP is an OPCODE1_JUMP-opcode, and it looks like neither the ppc32- nor the ppc64-codegenerator uses OPCODE_RETURN_JUMPADDR, so the problem is likely that gcc has implicitly dropped the frame pointer for the function.
