From 1a502f5260f1513b9ba38b68d8087e48bc0ede0c Mon Sep 17 00:00:00 2001 From: "Gabriel F. T. Gomes" Date: Fri, 23 Nov 2018 14:00:06 -0200 Subject: [PATCH] Add *-ldbl.h headers to include/bits On some platforms, long double may have either the same format as double or another, wider format, such as the Quadruple IEC 60559 long double format or the IBM Extended Precision format (both 128-bits wide). Selecting between the available formats is done by using one of the following compiler switches: -mlong-double-128, for the wider format, or -mlong-double-64, for the narrower. On all platforms that provide this choice, the wider format is the default. When the non-default format is selected by user code (i.e.: when building with -mlong-double-64) calls to functions that take long double parameters or return a long double type (e.g.: strfroml) are redirected to a compat function, via assembler redirection, by headers such as bits/stdlib-ldbl.h or bits/misc-ldbl.h. In glibc builds, however, these headers are currently being read from the system directories (/usr/include/bits) rather than from the source directory. Although this works correctly today, it raises reproducibility concerns. Besides that, builds for powerpc64le will need these files from the source directory, because on powerpc64le, the new redirections for long double with IEEE binary128 format will be implemented in these headers. Tested for powerpc64 and powerpc64le. --- ChangeLog | 9 +++++++++ include/bits/monetary-ldbl.h | 1 + include/bits/printf-ldbl.h | 1 + include/bits/stdio-ldbl.h | 1 + include/bits/stdlib-ldbl.h | 1 + include/bits/syslog-ldbl.h | 1 + include/bits/wchar-ldbl.h | 1 + 7 files changed, 15 insertions(+) create mode 100644 include/bits/monetary-ldbl.h create mode 100644 include/bits/printf-ldbl.h create mode 100644 include/bits/stdio-ldbl.h create mode 100644 include/bits/stdlib-ldbl.h create mode 100644 include/bits/syslog-ldbl.h create mode 100644 include/bits/wchar-ldbl.h diff --git a/ChangeLog b/ChangeLog index b8d794d43a..7a78b6b752 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2018-12-11 Gabriel F. T. Gomes + + * include/bits/monetary-ldbl.h: New file. + * include/bits/printf-ldbl.h: Likewise. + * include/bits/stdio-ldbl.h: Likewise. + * include/bits/stdlib-ldbl.h: Likewise. + * include/bits/syslog-ldbl.h: Likewise. + * include/bits/wchar-ldbl.h: Likewise. + 2018-12-11 Gabriel F. T. Gomes * libio/libio.h: Remove redirection for _IO_vfprintf. diff --git a/include/bits/monetary-ldbl.h b/include/bits/monetary-ldbl.h new file mode 100644 index 0000000000..6b6713ffc1 --- /dev/null +++ b/include/bits/monetary-ldbl.h @@ -0,0 +1 @@ +#include diff --git a/include/bits/printf-ldbl.h b/include/bits/printf-ldbl.h new file mode 100644 index 0000000000..10d534b9b3 --- /dev/null +++ b/include/bits/printf-ldbl.h @@ -0,0 +1 @@ +#include diff --git a/include/bits/stdio-ldbl.h b/include/bits/stdio-ldbl.h new file mode 100644 index 0000000000..1f7d3ce1c6 --- /dev/null +++ b/include/bits/stdio-ldbl.h @@ -0,0 +1 @@ +#include diff --git a/include/bits/stdlib-ldbl.h b/include/bits/stdlib-ldbl.h new file mode 100644 index 0000000000..62509494a3 --- /dev/null +++ b/include/bits/stdlib-ldbl.h @@ -0,0 +1 @@ +#include diff --git a/include/bits/syslog-ldbl.h b/include/bits/syslog-ldbl.h new file mode 100644 index 0000000000..e86815632b --- /dev/null +++ b/include/bits/syslog-ldbl.h @@ -0,0 +1 @@ +#include diff --git a/include/bits/wchar-ldbl.h b/include/bits/wchar-ldbl.h new file mode 100644 index 0000000000..29baa2f4d5 --- /dev/null +++ b/include/bits/wchar-ldbl.h @@ -0,0 +1 @@ +#include -- 2.43.5