Unconditionally link lm in makefile on linux to avoid 'undefined sqrtf' when __builtin_sqrtf is not resolved to a CPU instruction intrinsic

This commit is contained in:
UnknownShadow200 2025-12-15 20:50:43 +11:00
parent 14b5df3e2c
commit b4fdd26946
3 changed files with 8 additions and 6 deletions

View File

@ -21,7 +21,7 @@ jobs:
id: compile id: compile
run: | run: |
cd misc/ios cd misc/ios
sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer sudo xcode-select -s /Applications/Xcode_15.0.1.app/Contents/Developer
xcodebuild -sdk iphoneos -configuration Release CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO xcodebuild -sdk iphoneos -configuration Release CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
cd build/Release-iphoneos cd build/Release-iphoneos
mkdir Payload mkdir Payload

View File

@ -79,7 +79,8 @@ ifeq ($(PLAT),mingw)
endif endif
ifeq ($(PLAT),linux) ifeq ($(PLAT),linux)
LIBS = -lX11 -lXi -lpthread -lGL -ldl # -lm may be needed for __builtin_sqetf (in cases where it isn't replaced by a CPU instruction intrinsic)
LIBS = -lX11 -lXi -lpthread -lGL -ldl -lm
BUILD_DIR = build/linux BUILD_DIR = build/linux
# Detect MCST LCC, where -O3 is about equivalent to -O1 # Detect MCST LCC, where -O3 is about equivalent to -O1

View File

@ -32,8 +32,8 @@
#define R_VAL r2 // r2 = value to fill #define R_VAL r2 // r2 = value to fill
BEG_ARM_FUNC(fastset_256_bytes) BEG_ARM_FUNC(fastset_256_bytes)
// Spill callee saved registers + LR onto stack // Spill callee saved registers
stmfd sp!, {r4-r9, lr} stmfd sp!, {r4-r9}
// Clone 'value' for 'store multi CPU registers' loop // Clone 'value' for 'store multi CPU registers' loop
mov r3, R_VAL mov r3, R_VAL
@ -56,8 +56,9 @@ fastset_loop:
stmltia R_CUR!, {r2-r9} stmltia R_CUR!, {r2-r9}
blt fastset_loop blt fastset_loop
// Restore saved CPU registers + set PC to LR // Restore saved CPU registers
ldmfd sp!, {r4-r9, pc} ldmfd sp!, {r4-r9}
bx lr
END_FUNC(fastset_256_bytes) END_FUNC(fastset_256_bytes)