diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2016-02-26 20:38:23 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2016-02-26 20:38:23 +0000 |
commit | f300000fe3f8618c02619b391a7461449830742e (patch) | |
tree | f156c494d5b9165579ab97397af3b44bc43bb3ca /lib/libc/powerpc/gen/infinity.c | |
parent | ae5b785c597d6b9957bf7fe6abf6e6ad6392eda2 (diff) | |
download | FreeBSD-src-f300000fe3f8618c02619b391a7461449830742e.zip FreeBSD-src-f300000fe3f8618c02619b391a7461449830742e.tar.gz |
Make unions in PowerPC libc endian-safe.
Diffstat (limited to 'lib/libc/powerpc/gen/infinity.c')
-rw-r--r-- | lib/libc/powerpc/gen/infinity.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/libc/powerpc/gen/infinity.c b/lib/libc/powerpc/gen/infinity.c index cf1695e..f532438 100644 --- a/lib/libc/powerpc/gen/infinity.c +++ b/lib/libc/powerpc/gen/infinity.c @@ -11,7 +11,20 @@ __FBSDID("$FreeBSD$"); #include <math.h> /* bytes for +Infinity on powerpc */ -const union __infinity_un __infinity = { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } }; +const union __infinity_un __infinity = { +#if BYTE_ORDER == BIG_ENDIAN + { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } +#else + { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } +#endif +}; /* bytes for NaN */ -const union __nan_un __nan = { { 0xff, 0xc0, 0, 0 } }; +const union __nan_un __nan = { +#if BYTE_ORDER == BIG_ENDIAN + {0xff, 0xc0, 0, 0} +#else + { 0, 0, 0xc0, 0xff } +#endif +}; + |