summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/locore.s
diff options
context:
space:
mode:
Diffstat (limited to 'sys/amd64/amd64/locore.s')
-rw-r--r--sys/amd64/amd64/locore.s8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/amd64/amd64/locore.s b/sys/amd64/amd64/locore.s
index ab3dad5..4fff220 100644
--- a/sys/amd64/amd64/locore.s
+++ b/sys/amd64/amd64/locore.s
@@ -44,6 +44,7 @@
*/
#include "opt_bootp.h"
+#include "opt_compat.h"
#include "opt_nfsroot.h"
#include <sys/syscall.h>
@@ -416,6 +417,7 @@ NON_GPROF_ENTRY(sigcode)
int $0x80 /* enter kernel with args */
0: jmp 0b
+#ifdef COMPAT_43
ALIGN_TEXT
osigcode:
call *SIGF_HANDLER(%esp) /* call signal handler */
@@ -425,11 +427,11 @@ osigcode:
jne 9f
movl SC_GS(%eax),%gs /* restore %gs */
9:
- movl $0x01d516,SC_TRAPNO(%eax) /* magic: 0ldSiG */
- movl $SYS_sigreturn,%eax
+ movl $SYS_osigreturn,%eax
pushl %eax /* junk to fake return addr. */
int $0x80 /* enter kernel with args */
0: jmp 0b
+#endif /* COMPAT_43 */
ALIGN_TEXT
esigcode:
@@ -438,8 +440,10 @@ esigcode:
.globl szsigcode, szosigcode
szsigcode:
.long esigcode-sigcode
+#ifdef COMPAT_43
szosigcode:
.long esigcode-osigcode
+#endif
.text
/**********************************************************************
OpenPOWER on IntegriCloud