diff options
author | 2018-05-28 03:20:25 +0000 | |
---|---|---|
committer | 2018-05-28 03:20:25 +0000 | |
commit | 4f3262728f75ab09c39d31185a1ebdf9938b762e (patch) | |
tree | f8d2bd9fa1ebc2df4b55ad0707c9bb9b0932db14 /lib/libc | |
parent | Mention column-number-mode in the tutorial to clear up a potentially (diff) | |
download | wireguard-openbsd-4f3262728f75ab09c39d31185a1ebdf9938b762e.tar.xz wireguard-openbsd-4f3262728f75ab09c39d31185a1ebdf9938b762e.zip |
Clear the sign bit in the QNAN constants used by strtof, strtod and strtold,
so passing "nan" and "-nan" produces a NaN with the right sign.
Bug reported and diff provided by George Koehler.
ok kettenis@
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/arch/alpha/gdtoa/gd_qnan.h | 8 | ||||
-rw-r--r-- | lib/libc/arch/amd64/gdtoa/gd_qnan.h | 8 | ||||
-rw-r--r-- | lib/libc/arch/arm/gdtoa/gd_qnan.h | 8 | ||||
-rw-r--r-- | lib/libc/arch/i386/gdtoa/gd_qnan.h | 8 |
4 files changed, 16 insertions, 16 deletions
diff --git a/lib/libc/arch/alpha/gdtoa/gd_qnan.h b/lib/libc/arch/alpha/gdtoa/gd_qnan.h index 99313b9adca..a2d71dc2e40 100644 --- a/lib/libc/arch/alpha/gdtoa/gd_qnan.h +++ b/lib/libc/arch/alpha/gdtoa/gd_qnan.h @@ -1,12 +1,12 @@ -#define f_QNAN 0xffc00000 +#define f_QNAN 0x7fc00000 #define d_QNAN0 0x0 -#define d_QNAN1 0xfff80000 +#define d_QNAN1 0x7ff80000 #define ld_QNAN0 0x0 -#define ld_QNAN1 0xfff80000 +#define ld_QNAN1 0x7ff80000 #define ld_QNAN2 0x0 #define ld_QNAN3 0x0 #define ldus_QNAN0 0x0 #define ldus_QNAN1 0x0 #define ldus_QNAN2 0x0 -#define ldus_QNAN3 0xfff8 +#define ldus_QNAN3 0x7ff8 #define ldus_QNAN4 0x0 diff --git a/lib/libc/arch/amd64/gdtoa/gd_qnan.h b/lib/libc/arch/amd64/gdtoa/gd_qnan.h index 87eba8fb319..0b468c49222 100644 --- a/lib/libc/arch/amd64/gdtoa/gd_qnan.h +++ b/lib/libc/arch/amd64/gdtoa/gd_qnan.h @@ -1,12 +1,12 @@ -#define f_QNAN 0xffc00000 +#define f_QNAN 0x7fc00000 #define d_QNAN0 0x0 -#define d_QNAN1 0xfff80000 +#define d_QNAN1 0x7ff80000 #define ld_QNAN0 0x0 #define ld_QNAN1 0xc0000000 -#define ld_QNAN2 0xffff +#define ld_QNAN2 0x7fff #define ld_QNAN3 0x0 #define ldus_QNAN0 0x0 #define ldus_QNAN1 0x0 #define ldus_QNAN2 0x0 #define ldus_QNAN3 0xc000 -#define ldus_QNAN4 0xffff +#define ldus_QNAN4 0x7fff diff --git a/lib/libc/arch/arm/gdtoa/gd_qnan.h b/lib/libc/arch/arm/gdtoa/gd_qnan.h index 9c59e795bf6..68a76685974 100644 --- a/lib/libc/arch/arm/gdtoa/gd_qnan.h +++ b/lib/libc/arch/arm/gdtoa/gd_qnan.h @@ -1,12 +1,12 @@ -#define f_QNAN 0xffffffff +#define f_QNAN 0x7fffffff #define d_QNAN0 0xffffffff -#define d_QNAN1 0xffffffff +#define d_QNAN1 0x7fffffff #define ld_QNAN0 0xffffffff -#define ld_QNAN1 0xffffffff +#define ld_QNAN1 0x7fffffff #define ld_QNAN2 0x0 #define ld_QNAN3 0x0 #define ldus_QNAN0 0xffff #define ldus_QNAN1 0xffff #define ldus_QNAN2 0xffff -#define ldus_QNAN3 0xffff +#define ldus_QNAN3 0x7fff #define ldus_QNAN4 0x0 diff --git a/lib/libc/arch/i386/gdtoa/gd_qnan.h b/lib/libc/arch/i386/gdtoa/gd_qnan.h index 87eba8fb319..0b468c49222 100644 --- a/lib/libc/arch/i386/gdtoa/gd_qnan.h +++ b/lib/libc/arch/i386/gdtoa/gd_qnan.h @@ -1,12 +1,12 @@ -#define f_QNAN 0xffc00000 +#define f_QNAN 0x7fc00000 #define d_QNAN0 0x0 -#define d_QNAN1 0xfff80000 +#define d_QNAN1 0x7ff80000 #define ld_QNAN0 0x0 #define ld_QNAN1 0xc0000000 -#define ld_QNAN2 0xffff +#define ld_QNAN2 0x7fff #define ld_QNAN3 0x0 #define ldus_QNAN0 0x0 #define ldus_QNAN1 0x0 #define ldus_QNAN2 0x0 #define ldus_QNAN3 0xc000 -#define ldus_QNAN4 0xffff +#define ldus_QNAN4 0x7fff |