authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-01-27 05:23:02+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-01-27 05:23:31+01:00
log519f1eb3613a95343d4401f0b3643636b1ee721e
tree03bf4154144bb0d38aa157e4ae3719300f86879c
parent4e3fadd90ea6ddb24b5f98b049ad3374d1db0ab8
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

musl: zero fp/lr registers in _start() and clone() on hexagon


2 files changed, 4 insertions(+), 0 deletions(-)

lib/libc/musl/arch/hexagon/crt_arch.h+1
......@@ -13,6 +13,7 @@ START ": \n"
1313" r1 = memw(r2)\n"
1414" r1 = add(r2, r1)\n"
1515" r30 = #0 // Signals the end of backtrace\n"
16" r31 = #0\n"
1617" r0 = r29 // Pointer to argc/argv\n"
1718" r29 = and(r29, #-16) // Align\n"
1819" memw(r29+#-8) = r29\n"
lib/libc/musl/src/thread/hexagon/clone.s+3
......@@ -29,6 +29,9 @@ __clone:
2929 p0 = cmp.eq(r0, #0)
3030 if (!p0) dealloc_return
3131
32 { r30 = #0
33 r31 = #0 }
34
3235 { r0 = r10
3336 callr r11 }
3437