AArch64 objc_msgSend: Fix argument corruption due to invalid stack pointer offset (#266)

* Fix argument corruption due to invalid sp offset

* Bump runtime version
main
Hugo Melder 2 years ago committed by GitHub
parent adedd68048
commit 5cf2b7350e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -134,9 +134,9 @@ function(addtest_flags TEST_NAME FLAGS TEST_SOURCE)
endfunction(addtest_flags)
function(addtest_variants TEST TEST_SOURCE LEGACY)
addtest_flags(${TEST} "-O0 -fobjc-runtime=gnustep-2.0 -UNDEBUG -DGS_RUNTIME_V2" "${TEST_SOURCE}")
addtest_flags(${TEST} "-O0 -fobjc-runtime=gnustep-2.2 -UNDEBUG -DGS_RUNTIME_V2" "${TEST_SOURCE}")
target_sources(${TEST} PRIVATE $<TARGET_OBJECTS:test_runtime>)
addtest_flags("${TEST}_optimised" "-O3 -fobjc-runtime=gnustep-2.0 -UNDEBUG -DGS_RUNTIME_V2" "${TEST_SOURCE}")
addtest_flags("${TEST}_optimised" "-O3 -fobjc-runtime=gnustep-2.2 -UNDEBUG -DGS_RUNTIME_V2" "${TEST_SOURCE}")
target_sources("${TEST}_optimised" PRIVATE $<TARGET_OBJECTS:test_runtime>)
# -fobjc-arc is not supported on platforms using the legacy runtime

@ -169,7 +169,7 @@ CDECL(objc_msgSend_stret):
EH_NOP
ldp x2, x3, [sp, #32]
EH_NOP
ldp x4, x5, [sp, #64]
ldp x4, x5, [sp, #48]
EH_NOP
ldp x6, x7, [sp, #64]
EH_NOP

Loading…
Cancel
Save