Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/nolibc: Fix & improve headers #1002

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lib/nolibc/Makefile.uk
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ LIBNOLIBC_GLOBAL_INCLUDES-y += -I$(LIBNOLIBC_BASE)/include
LIBNOLIBC_GLOBAL_INCLUDES-y += -I$(LIBNOLIBC_BASE)/arch/$(ARCH)
LIBNOLIBC_GLOBAL_INCLUDES-y += -I$(LIBNOLIBC_BASE)/musl-imported/include
LIBNOLIBC_GLOBAL_INCLUDES-y += -I$(LIBNOLIBC_BASE)/musl-imported/arch/generic
LIBNOLIBC_GLOBAL_INCLUDES-y += -I$(LIBNOLIBC_BASE)/musl-imported/arch/$(ARCH)
CINCLUDES-$(CONFIG_LIBNOLIBC) += $(LIBNOLIBC_GLOBAL_INCLUDES-y)
CXXINCLUDES-$(CONFIG_LIBNOLIBC) += $(LIBNOLIBC_GLOBAL_INCLUDES-y)

Expand Down
2 changes: 1 addition & 1 deletion lib/nolibc/include/limits.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
extern "C" {
#endif

#define CHAR_BITS __C_BITS
#define CHAR_BIT __C_BITS
#define CHAR_MIN __C_MIN
#define CHAR_MAX __C_MAX
#define UCHAR_MAX __UC_MAX
Expand Down
20 changes: 20 additions & 0 deletions lib/nolibc/include/stdint.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,26 @@ typedef __sptr intptr_t;
#define INTMAX_MAX __LL_MAX
#define UINTMAX_MAX __ULL_MAX

#define INT8_C(c) c
#define INT16_C(c) c
#define INT32_C(c) c

#define UINT8_C(c) c
#define UINT16_C(c) c
#define UINT32_C(c) c ## U

#if UINTPTR_MAX == UINT64_MAX
#define INT64_C(c) c ## L
#define UINT64_C(c) c ## UL
#define INTMAX_C(c) c ## L
#define UINTMAX_C(c) c ## UL
#else
#define INT64_C(c) c ## LL
#define UINT64_C(c) c ## ULL
#define INTMAX_C(c) c ## LL
#define UINTMAX_C(c) c ## ULL
#endif

#ifdef __cplusplus
}
#endif
Expand Down
16 changes: 16 additions & 0 deletions lib/nolibc/musl-imported/arch/aarch64/bits/float.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#define FLT_EVAL_METHOD 0

#define LDBL_TRUE_MIN 6.47517511943802511092443895822764655e-4966L
#define LDBL_MIN 3.36210314311209350626267781732175260e-4932L
#define LDBL_MAX 1.18973149535723176508575932662800702e+4932L
#define LDBL_EPSILON 1.92592994438723585305597794258492732e-34L

#define LDBL_MANT_DIG 113
#define LDBL_MIN_EXP (-16381)
#define LDBL_MAX_EXP 16384

#define LDBL_DIG 33
#define LDBL_MIN_10_EXP (-4931)
#define LDBL_MAX_10_EXP 4932

#define DECIMAL_DIG 36
20 changes: 20 additions & 0 deletions lib/nolibc/musl-imported/arch/x86_64/bits/float.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#ifdef __FLT_EVAL_METHOD__
#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
#else
#define FLT_EVAL_METHOD 0
#endif

#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L
#define LDBL_MIN 3.3621031431120935063e-4932L
#define LDBL_MAX 1.1897314953572317650e+4932L
#define LDBL_EPSILON 1.0842021724855044340e-19L

#define LDBL_MANT_DIG 64
#define LDBL_MIN_EXP (-16381)
#define LDBL_MAX_EXP 16384

#define LDBL_DIG 18
#define LDBL_MIN_10_EXP (-4931)
#define LDBL_MAX_10_EXP 4932

#define DECIMAL_DIG 21
52 changes: 52 additions & 0 deletions lib/nolibc/musl-imported/include/float.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#ifndef _FLOAT_H
#define _FLOAT_H

#ifdef __cplusplus
extern "C" {
#endif

int __flt_rounds(void);
#define FLT_ROUNDS (__flt_rounds())

#define FLT_RADIX 2

#define FLT_TRUE_MIN 1.40129846432481707092e-45F
#define FLT_MIN 1.17549435082228750797e-38F
#define FLT_MAX 3.40282346638528859812e+38F
#define FLT_EPSILON 1.1920928955078125e-07F

#define FLT_MANT_DIG 24
#define FLT_MIN_EXP (-125)
#define FLT_MAX_EXP 128
#define FLT_HAS_SUBNORM 1

#define FLT_DIG 6
#define FLT_DECIMAL_DIG 9
#define FLT_MIN_10_EXP (-37)
#define FLT_MAX_10_EXP 38

#define DBL_TRUE_MIN 4.94065645841246544177e-324
#define DBL_MIN 2.22507385850720138309e-308
#define DBL_MAX 1.79769313486231570815e+308
#define DBL_EPSILON 2.22044604925031308085e-16

#define DBL_MANT_DIG 53
#define DBL_MIN_EXP (-1021)
#define DBL_MAX_EXP 1024
#define DBL_HAS_SUBNORM 1

#define DBL_DIG 15
#define DBL_DECIMAL_DIG 17
#define DBL_MIN_10_EXP (-307)
#define DBL_MAX_10_EXP 308

#define LDBL_HAS_SUBNORM 1
#define LDBL_DECIMAL_DIG DECIMAL_DIG

#include <bits/float.h>

#ifdef __cplusplus
}
#endif

#endif