Skip to content

Commit

Permalink
devel/raylib: fix build on powerpc64 elfv2
Browse files Browse the repository at this point in the history
Clang has issues compiling this port on powerpc64 elfv2:
Assertion failed: ((Op.getOpcode() == ISD::FP_TO_SINT || Subtarget.hasFPCVT()) && "i64 FP_TO_UINT is supported only with FPCVT"), function LowerFP_TO_INTForReuse, file /poudriere/jails/powerpc64-elfv2-pkubaj/usr/src/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp, line 7281.
Stack dump:
0.	Program arguments: /usr/bin/cc -cc1 -triple powerpc64-unknown-freebsd13.0 -emit-obj -disable-free -main-file-name raudio.c -mrelocation-model pic -pic-level 2 -mthread-model posix -relaxed-aliasing -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu ppc64 -target-feature +secure-plt -mfloat-abi hard -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /wrkdirs/usr/ports/devel/raylib/work/.build/src/CMakeFiles/raylib.dir/raudio.c.gcno -resource-dir /usr/lib/clang/9.0.1 -dependency-file src/CMakeFiles/raylib.dir/raudio.c.o.d -sys-header-deps -MT src/CMakeFiles/raylib.dir/raudio.c.o -isystem /usr/local/include -isystem /usr/local/include -D GLFW_DLL -D GRAPHICS_API_OPENGL_33 -D PLATFORM_DESKTOP -D RAYLIB_CMAKE=1 -D raylib_EXPORTS -I . -I /wrkdirs/usr/ports/devel/raylib/work/raylib-2.5.0/src/. -O2 -Werror=implicit-function-declaration -Werror=pointer-arith -std=gnu99 -fdebug-compilation-dir /wrkdirs/usr/ports/devel/raylib/work/.build -ferror-limit 19 -fmessage-length 0 -stack-protector 2 -fno-signed-char -fobjc-runtime=gnustep -fdiagnostics-show-option -vectorize-loops -vectorize-slp -faddrsig -o src/CMakeFiles/raylib.dir/raudio.c.o -x c /wrkdirs/usr/ports/devel/raylib/work/raylib-2.5.0/src/raudio.c
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/wrkdirs/usr/ports/devel/raylib/work/raylib-2.5.0/src/raudio.c'.
4.	Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@ma_calculate_frame_count_after_src'
#0 0x000000001371e818 (/usr/bin/cc+0x1371e818)
DankBSD#1 0x000000001371ee94 (/usr/bin/cc+0x1371ee94)
DankBSD#2 0x000000001371c158 (/usr/bin/cc+0x1371c158)
DankBSD#3 0x000000001371f60c (/usr/bin/cc+0x1371f60c)
DankBSD#4 0x000000081520176c (/lib/libthr.so.3+0x1b76c)
cc: error: unable to execute command: Abort trap (core dumped)
cc: error: clang frontend command failed due to signal (use -v to see invocation)
FreeBSD clang version 9.0.1 (git@github.com:llvm/llvm-project.git c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)
Target: powerpc64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin

Use GCC instead. The issue with Clang has been reported upstream.

PR:		243855
Approved by:	freebsd@sysctl.cz (maintainer)
  • Loading branch information
pkubaj committed Feb 4, 2020
1 parent ce6ffb9 commit 87199b4
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion devel/raylib/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,16 @@ PLIST_FILES= include/raylib.h \
lib/libraylib.so.2 \
libdata/pkgconfig/raylib.pc

.include <bsd.port.pre.mk>

.if ${ARCH} == powerpc64
USE_GCC= any
.endif

post-patch: # the equivalent of https://github.com/raysan5/raylib/pull/558 for the -dev branch
@${REINPLACE_CMD} -e 's|if(NOT glfw3_FOUND)|if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW)|' ${WRKSRC}/src/CMakeLists.txt

post-extract: # remove bundled files
@${RM} -r ${WRKSRC}/src/external/glfw ${WRKSRC}/src/external/include ${WRKSRC}/src/rglfw.c

.include <bsd.port.mk>
.include <bsd.port.post.mk>

0 comments on commit 87199b4

Please sign in to comment.