Module Name: src
Committed By: rin
Date: Sat Sep 18 06:32:41 UTC 2021
Modified Files:
src/sys/arch/sh3/sh3: cpu_in_cksum.S
Log Message:
Support __PIC__ build, in order to avoid text relocations for
/usr/tests/net/in_cksum/in_cksum.
Now, all the tests for in_cksum successfully pass for sh[34].
No binary changes for kernel.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sh3/sh3/cpu_in_cksum.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/sh3/sh3/cpu_in_cksum.S
diff -u src/sys/arch/sh3/sh3/cpu_in_cksum.S:1.6 src/sys/arch/sh3/sh3/cpu_in_cksum.S:1.7
--- src/sys/arch/sh3/sh3/cpu_in_cksum.S:1.6 Sat Sep 18 06:31:46 2021
+++ src/sys/arch/sh3/sh3/cpu_in_cksum.S Sat Sep 18 06:32:41 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu_in_cksum.S,v 1.6 2021/09/18 06:31:46 rin Exp $ */
+/* $NetBSD: cpu_in_cksum.S,v 1.7 2021/09/18 06:32:41 rin Exp $ */
/*-
* Copyright (c) 2000 SHIMIZU Ryo <[email protected]>
@@ -34,7 +34,7 @@
#include <machine/asm.h>
#include "assym.h"
-__KERNEL_RCSID(0, "$NetBSD: cpu_in_cksum.S,v 1.6 2021/09/18 06:31:46 rin Exp $")
+__KERNEL_RCSID(0, "$NetBSD: cpu_in_cksum.S,v 1.7 2021/09/18 06:32:41 rin Exp $")
#define reg_tmp0 r0
@@ -98,6 +98,7 @@ __KERNEL_RCSID(0, "$NetBSD: cpu_in_cksum
*/
ENTRY(cpu_in_cksum)
sts.l pr,@-sp
+ PIC_PROLOGUE(.L_got)
tst reg_len, reg_len
bt/s mbuf_loop_done
@@ -222,6 +223,7 @@ mbuf_loop_done:
in_cksum_return:
not reg_sum,r0
+ PIC_EPILOGUE
lds.l @sp+,pr
rts
extu.w r0,r0
@@ -233,15 +235,17 @@ out_of_mbufs:
mov.l reg_sum,@-sp /* save: call clobbered register */
- jsr @reg_tmp3
+1: CALL reg_tmp3
mov reg_tmp0,r4
bra in_cksum_return
mov.l @sp+,reg_sum /* restore */
.align 2
+.L_got:
+ PIC_GOT_DATUM
.L_printf:
- .long _C_LABEL(printf)
+ CALL_DATUM(_C_LABEL(printf), 1b)
.align 2 /* mova target */
.L_message_out_of_data: