public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Florian Weimer <fweimer@redhat.com>
To: libc-alpha@sourceware.org
Subject: [PATCH v6 00/11] vfprintf refactor
Date: Fri, 16 Dec 2022 21:15:03 +0100	[thread overview]
Message-ID: <cover.1671221440.git.fweimer@redhat.com> (raw)

This should address Adhemerval's review comments, I hope.

I retested it on latest master on i686-linux-gnu and x86_64-linux-gnu.
Built with build-many-glibcs.py.  The tests included “elf: Fix
tst-relro-symbols.py argument passing” (thanks for that!).

Thanks,
Florian

Florian Weimer (11):
  locale: Implement struct grouping_iterator
  stdio-common: Introduce buffers for implementing printf
  stdio-common: Add __printf_function_invoke
  stdio-common: Add __translated_number_width
  stdio-common: Convert vfprintf and related functions to buffers
  stdio-common: Add lock optimization to vfprintf and vfwprintf
  libio: Convert __vsprintf_internal to buffers
  libio: Convert __vasprintf_internal to buffers
  libio: Convert __vdprintf_internal to buffers
  libio: Convert __obstack_vprintf_internal to buffers (bug 27124)
  libio: Convert __vswprintf_internal to buffers (bug 27857)

 elf/Makefile                                  |   7 +-
 include/printf.h                              |  52 +-
 include/printf_buffer.h                       | 358 +++++++++
 libio/iovdprintf.c                            |  67 +-
 libio/iovsprintf.c                            |  70 +-
 libio/obprintf.c                              | 170 ++--
 libio/strfile.h                               |   3 -
 libio/tst-vtables-common.c                    |   9 +-
 libio/tst_swprintf.c                          |  31 +-
 libio/vasprintf.c                             | 141 ++--
 libio/vsnprintf.c                             | 131 ++--
 libio/vswprintf.c                             | 100 +--
 manual/stdio.texi                             |   7 +-
 stdio-common/Makefile                         |  28 +-
 stdio-common/Xprintf_buffer_done.c            |  40 +
 stdio-common/Xprintf_buffer_flush.c           |  72 ++
 stdio-common/Xprintf_buffer_pad_1.c           |  44 ++
 stdio-common/Xprintf_buffer_putc_1.c          |  29 +
 stdio-common/Xprintf_buffer_puts_1.c          |  38 +
 stdio-common/Xprintf_buffer_write.c           |  44 ++
 stdio-common/Xprintf_function_invoke.c        |  58 ++
 stdio-common/grouping_iterator.c              | 126 +++
 stdio-common/grouping_iterator.h              |  65 ++
 stdio-common/printf_buffer-char.h             |  24 +
 stdio-common/printf_buffer-wchar_t.h          |  24 +
 stdio-common/printf_buffer_as_file.c          | 148 ++++
 stdio-common/printf_buffer_as_file.h          |  87 +++
 stdio-common/printf_buffer_done.c             |  21 +
 stdio-common/printf_buffer_flush.c            |  81 ++
 stdio-common/printf_buffer_pad_1.c            |  21 +
 stdio-common/printf_buffer_putc_1.c           |  21 +
 stdio-common/printf_buffer_puts_1.c           |  21 +
 stdio-common/printf_buffer_to_file.c          | 122 +++
 stdio-common/printf_buffer_to_file.h          |  57 ++
 stdio-common/printf_buffer_write.c            |  21 +
 stdio-common/printf_fp.c                      | 736 ++++++++----------
 stdio-common/printf_fphex.c                   | 260 +++----
 stdio-common/printf_function_invoke.c         |  22 +
 stdio-common/translated_number_width.c        |  42 +
 stdio-common/tst-grouping_iterator.c          | 262 +++++++
 stdio-common/vfprintf-internal.c              | 672 +++++-----------
 stdio-common/vfprintf-process-arg.c           | 172 ++--
 stdio-common/wprintf_buffer_as_file.c         | 153 ++++
 stdio-common/wprintf_buffer_done.c            |  21 +
 stdio-common/wprintf_buffer_flush.c           |  42 +
 stdio-common/wprintf_buffer_pad_1.c           |  21 +
 stdio-common/wprintf_buffer_putc_1.c          |  21 +
 stdio-common/wprintf_buffer_puts_1.c          |  21 +
 stdio-common/wprintf_buffer_to_file.c         |  55 ++
 stdio-common/wprintf_buffer_write.c           |  21 +
 stdio-common/wprintf_function_invoke.c        |  22 +
 stdlib/strfmon_l.c                            | 196 ++---
 stdlib/strfrom-skeleton.c                     |  38 +-
 sysdeps/ia64/fpu/printf_fphex.c               |   8 +-
 .../ieee754/ldbl-128/printf_fphex_macros.h    |  36 +-
 sysdeps/ieee754/ldbl-128ibm/printf_fphex.c    |  36 +-
 sysdeps/ieee754/ldbl-96/printf_fphex.c        |  22 +-
 sysdeps/x86_64/fpu/printf_fphex.c             |  21 +-
 58 files changed, 3421 insertions(+), 1817 deletions(-)
 create mode 100644 include/printf_buffer.h
 create mode 100644 stdio-common/Xprintf_buffer_done.c
 create mode 100644 stdio-common/Xprintf_buffer_flush.c
 create mode 100644 stdio-common/Xprintf_buffer_pad_1.c
 create mode 100644 stdio-common/Xprintf_buffer_putc_1.c
 create mode 100644 stdio-common/Xprintf_buffer_puts_1.c
 create mode 100644 stdio-common/Xprintf_buffer_write.c
 create mode 100644 stdio-common/Xprintf_function_invoke.c
 create mode 100644 stdio-common/grouping_iterator.c
 create mode 100644 stdio-common/grouping_iterator.h
 create mode 100644 stdio-common/printf_buffer-char.h
 create mode 100644 stdio-common/printf_buffer-wchar_t.h
 create mode 100644 stdio-common/printf_buffer_as_file.c
 create mode 100644 stdio-common/printf_buffer_as_file.h
 create mode 100644 stdio-common/printf_buffer_done.c
 create mode 100644 stdio-common/printf_buffer_flush.c
 create mode 100644 stdio-common/printf_buffer_pad_1.c
 create mode 100644 stdio-common/printf_buffer_putc_1.c
 create mode 100644 stdio-common/printf_buffer_puts_1.c
 create mode 100644 stdio-common/printf_buffer_to_file.c
 create mode 100644 stdio-common/printf_buffer_to_file.h
 create mode 100644 stdio-common/printf_buffer_write.c
 create mode 100644 stdio-common/printf_function_invoke.c
 create mode 100644 stdio-common/translated_number_width.c
 create mode 100644 stdio-common/tst-grouping_iterator.c
 create mode 100644 stdio-common/wprintf_buffer_as_file.c
 create mode 100644 stdio-common/wprintf_buffer_done.c
 create mode 100644 stdio-common/wprintf_buffer_flush.c
 create mode 100644 stdio-common/wprintf_buffer_pad_1.c
 create mode 100644 stdio-common/wprintf_buffer_putc_1.c
 create mode 100644 stdio-common/wprintf_buffer_puts_1.c
 create mode 100644 stdio-common/wprintf_buffer_to_file.c
 create mode 100644 stdio-common/wprintf_buffer_write.c
 create mode 100644 stdio-common/wprintf_function_invoke.c


base-commit: 71e408e45dcacf429a94b2807f75aaadd8d37cb9
-- 
2.38.1


             reply	other threads:[~2022-12-16 20:15 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-16 20:15 Florian Weimer [this message]
2022-12-16 20:15 ` [PATCH v6 01/11] locale: Implement struct grouping_iterator Florian Weimer
2022-12-16 20:15 ` [PATCH v6 02/11] stdio-common: Introduce buffers for implementing printf Florian Weimer
2022-12-16 20:41   ` Noah Goldstein
2022-12-16 20:59     ` Florian Weimer
2022-12-16 21:14       ` Noah Goldstein
2022-12-16 22:32         ` Florian Weimer
2022-12-17  0:32           ` Noah Goldstein
2022-12-17 12:55             ` Florian Weimer
2022-12-16 20:15 ` [PATCH v6 03/11] stdio-common: Add __printf_function_invoke Florian Weimer
2022-12-16 20:15 ` [PATCH v6 04/11] stdio-common: Add __translated_number_width Florian Weimer
2023-01-30  9:40   ` Dmitry V. Levin
2023-01-30 10:42     ` Florian Weimer
2023-01-30 10:51       ` Dmitry V. Levin
2023-01-30 11:03         ` Florian Weimer
2023-01-30 11:06           ` Dmitry V. Levin
2022-12-16 20:15 ` [PATCH v6 05/11] stdio-common: Convert vfprintf and related functions to buffers Florian Weimer
2022-12-16 20:15 ` [PATCH v6 06/11] stdio-common: Add lock optimization to vfprintf and vfwprintf Florian Weimer
2022-12-16 20:15 ` [PATCH v6 07/11] libio: Convert __vsprintf_internal to buffers Florian Weimer
2022-12-16 20:15 ` [PATCH v6 08/11] libio: Convert __vasprintf_internal " Florian Weimer
2022-12-19 16:37   ` Adhemerval Zanella Netto
2022-12-16 20:15 ` [PATCH v6 09/11] libio: Convert __vdprintf_internal " Florian Weimer
2022-12-19 16:39   ` Adhemerval Zanella Netto
2022-12-16 20:15 ` [PATCH v6 10/11] libio: Convert __obstack_vprintf_internal to buffers (bug 27124) Florian Weimer
2022-12-19 17:37   ` Adhemerval Zanella Netto
2022-12-16 20:15 ` [PATCH v6 11/11] libio: Convert __vswprintf_internal to buffers (bug 27857) Florian Weimer
2022-12-19 17:53   ` Adhemerval Zanella Netto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1671221440.git.fweimer@redhat.com \
    --to=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).