ref: 5c52d6f04546608133646a1c638bef93662ecdc0
parent: 0cc84635c9c4e924afe32a1d143e13de88010134
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Mar 17 14:25:12 EDT 2018
pc64: fix _intrr(), avoid the linker moving _intrr() arround
--- a/sys/src/9/pc64/l.s
+++ b/sys/src/9/pc64/l.s
@@ -902,10 +902,6 @@
BYTE $0x48; SYSRET /* SYSRETQ */
-TEXT noteret(SB), 1, $-4
- CLI
- JMP _intrestore
-
/*
* Interrupt/exception handling.
*/
@@ -951,8 +947,8 @@
PUSHQ SP
CALL trap(SB)
-_intrestore:
TEXT _intrr(SB), 1, $-4
+_intrestore:
POPQ AX
POPQ AX
@@ -980,6 +976,10 @@
_iretnested:
ADDQ $40, SP
IRETQ
+
+TEXT noteret(SB), 1, $-4
+ CLI
+ JMP _intrestore
TEXT vectortable(SB), $0
CALL _strayintr(SB); BYTE $0x00 /* divide error */
--
⑨