From 2f808bb1e18bce344638984fa3ff01972853671c Mon Sep 17 00:00:00 2001 From: Packit Bot Date: May 04 2021 22:37:48 +0000 Subject: Apply patch glibc-rh1817513-129.patch patch_name: glibc-rh1817513-129.patch present_in_specfile: true location_in_specfile: 530 --- diff --git a/elf/Versions b/elf/Versions index 3be879c..be88c48 100644 --- a/elf/Versions +++ b/elf/Versions @@ -58,7 +58,7 @@ ld { _dl_allocate_tls; _dl_allocate_tls_init; _dl_argv; _dl_find_dso_for_object; _dl_get_tls_static_info; _dl_deallocate_tls; _dl_make_stack_executable; - _dl_rtld_di_serinfo; _dl_starting_up; + _dl_rtld_di_serinfo; _dl_starting_up; _dl_fatal_printf; _rtld_global; _rtld_global_ro; # Only here for gdb while a better method is developed. diff --git a/elf/dl-misc.c b/elf/dl-misc.c index 3f28de3..508630e 100644 --- a/elf/dl-misc.c +++ b/elf/dl-misc.c @@ -302,6 +302,37 @@ _dl_dprintf (int fd, const char *fmt, ...) va_end (arg); } +void +_dl_printf (const char *fmt, ...) +{ + va_list arg; + + va_start (arg, fmt); + _dl_debug_vdprintf (STDOUT_FILENO, 0, fmt, arg); + va_end (arg); +} + +void +_dl_error_printf (const char *fmt, ...) +{ + va_list arg; + + va_start (arg, fmt); + _dl_debug_vdprintf (STDERR_FILENO, 0, fmt, arg); + va_end (arg); +} + +void +_dl_fatal_printf (const char *fmt, ...) +{ + va_list arg; + + va_start (arg, fmt); + _dl_debug_vdprintf (STDERR_FILENO, 0, fmt, arg); + va_end (arg); + _exit (127); +} +rtld_hidden_def (_dl_fatal_printf) /* Test whether given NAME matches any of the names of the given object. */ int diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 7792349..6cbbaa8 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -762,24 +762,19 @@ ssize_t _dl_write (int fd, const void *buffer, size_t length) /* Write a message on the specified descriptor standard output. The parameters are interpreted as for a `printf' call. */ -#define _dl_printf(fmt, args...) \ - _dl_dprintf (STDOUT_FILENO, fmt, ##args) +void _dl_printf (const char *fmt, ...) + attribute_hidden __attribute__ ((__format__ (__printf__, 1, 2))); /* Write a message on the specified descriptor standard error. The parameters are interpreted as for a `printf' call. */ -#define _dl_error_printf(fmt, args...) \ - _dl_dprintf (STDERR_FILENO, fmt, ##args) +void _dl_error_printf (const char *fmt, ...) + attribute_hidden __attribute__ ((__format__ (__printf__, 1, 2))); /* Write a message on the specified descriptor standard error and exit the program. The parameters are interpreted as for a `printf' call. */ -#define _dl_fatal_printf(fmt, args...) \ - do \ - { \ - _dl_dprintf (STDERR_FILENO, fmt, ##args); \ - _exit (127); \ - } \ - while (1) - +void _dl_fatal_printf (const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 1, 2), __noreturn__)); +rtld_hidden_proto (_dl_fatal_printf) /* An exception raised by the _dl_signal_error function family and caught by _dl_catch_error function family. Exceptions themselves diff --git a/sysdeps/mach/hurd/i386/localplt.data b/sysdeps/mach/hurd/i386/localplt.data index 4b9dbf5..eb79216 100644 --- a/sysdeps/mach/hurd/i386/localplt.data +++ b/sysdeps/mach/hurd/i386/localplt.data @@ -43,6 +43,7 @@ ld.so: _dl_allocate_tls_init ld.so: _dl_exception_create ld.so: _dl_exception_create_format ld.so: _dl_exception_free +ld.so: _dl_fatal_printf ld.so: _dl_find_dso_for_object ld.so: _dl_init_first ld.so: _dl_mcount