Skip to content
This repository was archived by the owner on Sep 29, 2025. It is now read-only.

Commit fe2ba8c

Browse files
authored
Merge pull request #1710 from reicast/skmp/fix-naked-stack-overflow
Fix naked functions & stack overflow
2 parents 2dc1ed2 + ba8bc66 commit fe2ba8c

File tree

3 files changed

+3
-10
lines changed

3 files changed

+3
-10
lines changed

libswirl/jit/backend/arm32/rec_arm.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -317,14 +317,6 @@ struct arm_reg_alloc: RegAlloc<eReg,eFSReg,false>
317317
arm_reg_alloc reg;
318318

319319

320-
#ifdef naked
321-
#undef naked
322-
#define naked __attribute__((naked))
323-
#endif
324-
325-
326-
327-
328320
u32 blockno=0;
329321

330322
#include <map>

libswirl/jit/backend/arm64/rec_arm64.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
#include "types.h"
2121

22+
2223
#if FEAT_SHREC == DYNAREC_JIT
2324

2425
#include <unistd.h>
@@ -1414,7 +1415,7 @@ void Arm64RegAlloc::Writeback_FPU(u32 reg, eFReg nreg)
14141415
}
14151416

14161417

1417-
extern "C" void do_sqw_nommu_area_3(u32 dst, u8* sqb)
1418+
extern "C" naked void do_sqw_nommu_area_3(u32 dst, u8* sqb)
14181419
{
14191420
__asm__
14201421
(

libswirl/types.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ using namespace std;
351351
#if defined(X86) && COMPILER_VC==BUILD_COMPILER
352352
#define naked __declspec( naked )
353353
#else
354-
#define naked
354+
#define naked __attribute__((naked))
355355
#endif
356356

357357

0 commit comments

Comments
 (0)