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 v4 00/11] vfprintf refactor
Date: Thu, 18 Aug 2022 10:53:18 +0200	[thread overview]
Message-ID: <cover.1660812721.git.fweimer@redhat.com> (raw)

Mostly unchanged.  I removed a VLA from printf callback invocation, and
stopped using mempcpy.

Tested on i686-linux-gnu and x86_64-linux-gnu.

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                                  |   1 -
 include/printf.h                              |  52 +-
 include/printf_buffer.h                       | 332 ++++++++
 libio/iovdprintf.c                            |  69 +-
 libio/iovsprintf.c                            |  70 +-
 libio/obprintf.c                              | 170 ++--
 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 +-
 57 files changed, 3395 insertions(+), 1810 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: 1d7829991112ac32c28bc6e3c4f1695125c1aa44
-- 
2.37.1


             reply	other threads:[~2022-08-18  8:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-18  8:53 Florian Weimer [this message]
2022-08-18  8:53 ` [PATCH v4 01/11] locale: Implement struct grouping_iterator Florian Weimer
2022-08-18  8:54 ` [PATCH v4 02/11] stdio-common: Introduce buffers for implementing printf Florian Weimer
2022-08-18  8:54 ` [PATCH v4 03/11] stdio-common: Add __printf_function_invoke Florian Weimer
2022-08-18  8:54 ` [PATCH v4 04/11] stdio-common: Add __translated_number_width Florian Weimer
2022-08-18  8:54 ` [PATCH v4 05/11] stdio-common: Convert vfprintf and related functions to buffers Florian Weimer
2022-08-18  8:54 ` [PATCH v4 06/11] stdio-common: Add lock optimization to vfprintf and vfwprintf Florian Weimer
2022-08-18  8:54 ` [PATCH v4 07/11] libio: Convert __vsprintf_internal to buffers Florian Weimer
2022-08-18  8:54 ` [PATCH v4 08/11] libio: Convert __vasprintf_internal " Florian Weimer
2022-08-18  8:55 ` [PATCH v4 09/11] libio: Convert __vdprintf_internal " Florian Weimer
2022-08-18  8:55 ` [PATCH v4 10/11] libio: Convert __obstack_vprintf_internal to buffers (bug 27124) Florian Weimer
2022-08-18  8:55 ` [PATCH v4 11/11] libio: Convert __vswprintf_internal to buffers (bug 27857) Florian Weimer

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.1660812721.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).