aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/riscv/gen
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/riscv/gen')
-rw-r--r--lib/libc/riscv/gen/Makefile.inc2
-rw-r--r--lib/libc/riscv/gen/_ctx_start.S2
-rw-r--r--lib/libc/riscv/gen/_setjmp.S5
-rw-r--r--lib/libc/riscv/gen/fabs.S2
-rw-r--r--lib/libc/riscv/gen/flt_rounds.c13
-rw-r--r--lib/libc/riscv/gen/fpgetmask.c3
-rw-r--r--lib/libc/riscv/gen/fpsetmask.c3
-rw-r--r--lib/libc/riscv/gen/infinity.c3
-rw-r--r--lib/libc/riscv/gen/makecontext.c3
-rw-r--r--lib/libc/riscv/gen/setjmp.S5
-rw-r--r--lib/libc/riscv/gen/sigsetjmp.S2
11 files changed, 6 insertions, 37 deletions
diff --git a/lib/libc/riscv/gen/Makefile.inc b/lib/libc/riscv/gen/Makefile.inc
index f5914e630694..443e029946bf 100644
--- a/lib/libc/riscv/gen/Makefile.inc
+++ b/lib/libc/riscv/gen/Makefile.inc
@@ -1,5 +1,3 @@
-# $FreeBSD$
-
SRCS+= _ctx_start.S \
fabs.S \
flt_rounds.c \
diff --git a/lib/libc/riscv/gen/_ctx_start.S b/lib/libc/riscv/gen/_ctx_start.S
index cda5397ac22d..69d19fc9403b 100644
--- a/lib/libc/riscv/gen/_ctx_start.S
+++ b/lib/libc/riscv/gen/_ctx_start.S
@@ -33,8 +33,6 @@
*/
#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
ENTRY(_ctx_start)
jalr s0 /* Call func from makecontext */
mv a0, s1 /* Load ucp saved in makecontext */
diff --git a/lib/libc/riscv/gen/_setjmp.S b/lib/libc/riscv/gen/_setjmp.S
index ded6705ef7ee..4554f736f72a 100644
--- a/lib/libc/riscv/gen/_setjmp.S
+++ b/lib/libc/riscv/gen/_setjmp.S
@@ -33,8 +33,6 @@
*/
#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
#include <machine/setjmp.h>
ENTRY(_setjmp)
@@ -131,6 +129,9 @@ ENTRY(_longjmp)
/* Load the return value */
mv a0, a1
+ bnez a1, 1f
+ li a0, 1
+1:
ret
botch:
diff --git a/lib/libc/riscv/gen/fabs.S b/lib/libc/riscv/gen/fabs.S
index 036d50eddf90..21304036fc0f 100644
--- a/lib/libc/riscv/gen/fabs.S
+++ b/lib/libc/riscv/gen/fabs.S
@@ -37,8 +37,6 @@
*/
#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
ENTRY(fabs)
#ifdef __riscv_float_abi_double
fabs.d fa0, fa0
diff --git a/lib/libc/riscv/gen/flt_rounds.c b/lib/libc/riscv/gen/flt_rounds.c
index 5dec6e45f400..bccd7d8baa44 100644
--- a/lib/libc/riscv/gen/flt_rounds.c
+++ b/lib/libc/riscv/gen/flt_rounds.c
@@ -32,30 +32,17 @@
* SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <sys/types.h>
#include <fenv.h>
#include <float.h>
-#ifdef __riscv_float_abi_soft
-#include "softfloat-for-gcc.h"
-#include "milieu.h"
-#include "softfloat.h"
-#endif
-
int
__flt_rounds(void)
{
uint64_t mode;
-#ifdef __riscv_float_abi_soft
- mode = __softfloat_float_rounding_mode;
-#else
__asm __volatile("csrr %0, fcsr" : "=r" (mode));
-#endif
switch (mode & _ROUND_MASK) {
case FE_TOWARDZERO:
diff --git a/lib/libc/riscv/gen/fpgetmask.c b/lib/libc/riscv/gen/fpgetmask.c
index f461cc2ba10e..7835a17cff60 100644
--- a/lib/libc/riscv/gen/fpgetmask.c
+++ b/lib/libc/riscv/gen/fpgetmask.c
@@ -27,9 +27,6 @@
* SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <sys/types.h>
#include <ieeefp.h>
diff --git a/lib/libc/riscv/gen/fpsetmask.c b/lib/libc/riscv/gen/fpsetmask.c
index 6eeac9de8bef..024f1fd8d8bc 100644
--- a/lib/libc/riscv/gen/fpsetmask.c
+++ b/lib/libc/riscv/gen/fpsetmask.c
@@ -27,9 +27,6 @@
* SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <sys/types.h>
#include <ieeefp.h>
diff --git a/lib/libc/riscv/gen/infinity.c b/lib/libc/riscv/gen/infinity.c
index 115c4702d895..ae44d5195a3b 100644
--- a/lib/libc/riscv/gen/infinity.c
+++ b/lib/libc/riscv/gen/infinity.c
@@ -2,9 +2,6 @@
* infinity.c
*/
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <math.h>
/* bytes for +Infinity on riscv */
diff --git a/lib/libc/riscv/gen/makecontext.c b/lib/libc/riscv/gen/makecontext.c
index 3633a5dd66e1..e5371d082b2c 100644
--- a/lib/libc/riscv/gen/makecontext.c
+++ b/lib/libc/riscv/gen/makecontext.c
@@ -32,9 +32,6 @@
* SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <sys/param.h>
#include <machine/riscvreg.h>
diff --git a/lib/libc/riscv/gen/setjmp.S b/lib/libc/riscv/gen/setjmp.S
index c0458e907ce0..efac05ecc611 100644
--- a/lib/libc/riscv/gen/setjmp.S
+++ b/lib/libc/riscv/gen/setjmp.S
@@ -33,8 +33,6 @@
*/
#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
#include <machine/setjmp.h>
ENTRY(setjmp)
@@ -161,6 +159,9 @@ ENTRY(longjmp)
/* Load the return value */
mv a0, a1
+ bnez a1, 1f
+ li a0, 1
+1:
ret
botch:
diff --git a/lib/libc/riscv/gen/sigsetjmp.S b/lib/libc/riscv/gen/sigsetjmp.S
index 6eca3c1cdd23..4f32d9fb4daf 100644
--- a/lib/libc/riscv/gen/sigsetjmp.S
+++ b/lib/libc/riscv/gen/sigsetjmp.S
@@ -33,8 +33,6 @@
*/
#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
#include <machine/setjmp.h>
ENTRY(sigsetjmp)