diff options
Diffstat (limited to 'sysdeps')
11 files changed, 136 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-opt/Versions b/sysdeps/ieee754/ldbl-opt/Versions index 1842a1a..5d6051a 100644 --- a/sysdeps/ieee754/ldbl-opt/Versions +++ b/sysdeps/ieee754/ldbl-opt/Versions @@ -80,6 +80,8 @@ libc { } GLIBC_2.30 { __nldbl_argp_error; __nldbl_argp_failure; + __nldbl_warn; __nldbl_vwarn; __nldbl_warnx; __nldbl_vwarnx; + __nldbl_err; __nldbl_verr; __nldbl_errx; __nldbl_verrx; } } libm { diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-compat.c b/sysdeps/ieee754/ldbl-opt/nldbl-compat.c index 4f70207..6883814 100644 --- a/sysdeps/ieee754/ldbl-opt/nldbl-compat.c +++ b/sysdeps/ieee754/ldbl-opt/nldbl-compat.c @@ -23,6 +23,7 @@ #define __GLIBC_USE_DEPRECATED_SCANF 1 #include <argp.h> +#include <err.h> #include <stdarg.h> #include <stdio.h> #include <libio/strfile.h> @@ -1011,6 +1012,66 @@ __nldbl_argp_failure (const struct argp_state *state, int status, va_end (ap); } +#define VA_CALL(call) \ +{ \ + va_list ap; \ + va_start (ap, format); \ + call (format, ap, PRINTF_LDBL_IS_DBL); \ + va_end (ap); \ +} + +void +__nldbl_err (int status, const char *format, ...) +{ + VA_CALL (__vwarn_internal) + exit (status); +} + +void +__nldbl_errx (int status, const char *format, ...) +{ + VA_CALL (__vwarnx_internal) + exit (status); +} + +void +__nldbl_verr (int status, const char *format, __gnuc_va_list ap) +{ + __vwarn_internal (format, ap, PRINTF_LDBL_IS_DBL); + exit (status); +} + +void +__nldbl_verrx (int status, const char *format, __gnuc_va_list ap) +{ + __vwarnx_internal (format, ap, PRINTF_LDBL_IS_DBL); + exit (status); +} + +void +__nldbl_warn (const char *format, ...) +{ + VA_CALL (__vwarn_internal) +} + +void +__nldbl_warnx (const char *format, ...) +{ + VA_CALL (__vwarnx_internal) +} + +void +__nldbl_vwarn (const char *format, __gnuc_va_list ap) +{ + __vwarn_internal (format, ap, PRINTF_LDBL_IS_DBL); +} + +void +__nldbl_vwarnx (const char *format, __gnuc_va_list ap) +{ + __vwarnx_internal (format, ap, PRINTF_LDBL_IS_DBL); +} + #if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) compat_symbol (libc, __nldbl__IO_printf, _IO_printf, GLIBC_2_0); compat_symbol (libc, __nldbl__IO_sprintf, _IO_sprintf, GLIBC_2_0); diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-compat.h b/sysdeps/ieee754/ldbl-opt/nldbl-compat.h index 9f58365..eeda11b 100644 --- a/sysdeps/ieee754/ldbl-opt/nldbl-compat.h +++ b/sysdeps/ieee754/ldbl-opt/nldbl-compat.h @@ -27,6 +27,7 @@ /* Avoid long double prototypes. */ #define __NO_LONG_DOUBLE_MATH 1 #include <argp.h> +#include <err.h> #include <stdarg.h> #include <stdlib.h> #include <stdint.h> @@ -79,6 +80,14 @@ NLDBL_DECL (__isoc99_vfwscanf); NLDBL_DECL (__isoc99_vswscanf); NLDBL_DECL (argp_error); NLDBL_DECL (argp_failure); +NLDBL_DECL (warn); +NLDBL_DECL (vwarn); +NLDBL_DECL (warnx); +NLDBL_DECL (vwarnx); +NLDBL_DECL (err); +NLDBL_DECL (verr); +NLDBL_DECL (errx); +NLDBL_DECL (verrx); /* These do not exist in the normal interface, but must exist in the __nldbl interface so that they can be called from libnldbl. */ diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 454a01d..1b95af1 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2206,6 +2206,14 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index b689f20..8973a44 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2166,6 +2166,14 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 8b6d72a..c89ca3e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2199,6 +2199,14 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 2c14eae..1b0f108 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2029,6 +2029,14 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 450d427..02504ae 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -2233,4 +2233,12 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 9e61840..c46f111 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2161,6 +2161,14 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 9a8a4b2..47b0be5 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2065,6 +2065,14 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index e1d35a4..854708e 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2155,6 +2155,14 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 __nldbl_argp_error F GLIBC_2.30 __nldbl_argp_failure F +GLIBC_2.30 __nldbl_err F +GLIBC_2.30 __nldbl_errx F +GLIBC_2.30 __nldbl_verr F +GLIBC_2.30 __nldbl_verrx F +GLIBC_2.30 __nldbl_vwarn F +GLIBC_2.30 __nldbl_vwarnx F +GLIBC_2.30 __nldbl_warn F +GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 gettid F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F |