[0/7] Remove _STRING_ARCH_unaligned

Message ID 20230213135558.3328727-1-adhemerval.zanella@linaro.org
Headers
Series Remove _STRING_ARCH_unaligned |

Message

Adhemerval Zanella Netto Feb. 13, 2023, 1:55 p.m. UTC
  The _STRING_ARCH_unaligned advertise that the architecture allows
efficient unaligned memory accesses and it is used to optimize some
implementations.

However, some are complete unnecessary and only adds complexity
(getenv), while other can be removed since they add only marginal
improvement on legacy/compat code (crypt and nscd).

The iconv code can be also simplified by using compiler extension
(packaed struct) that allows code efficient code generation without
the need to provide aligned/unaligned variants.

Adhemerval Zanella (7):
  crypto: Remove _STRING_ARCH_unaligned usage
  stdlib: Simplify getenv
  nscd: Remove _STRING_ARCH_unaligned usage
  resolv: Remove _STRING_ARCH_unaligned usage
  iconv: Remove _STRING_ARCH_unaligned usage for get/set macros
  iconv: Remove _STRING_ARCH_unaligned usage
  string: Remove string_private.h

 crypt/md5.c                                 |  24 +-
 crypt/sha256.c                              |  28 +-
 crypt/sha512.c                              |  26 +-
 iconv/gconv_int.h                           |  28 ++
 iconv/gconv_simple.c                        | 282 ++------------------
 iconv/loop.c                                | 139 ++--------
 iconv/skeleton.c                            | 185 ++-----------
 iconvdata/iso-2022-jp-3.c                   |   2 +-
 iconvdata/unicode.c                         |   6 +-
 iconvdata/utf-16.c                          |   6 +-
 iconvdata/utf-32.c                          |   6 +-
 include/arpa/nameser.h                      |  36 ---
 include/string.h                            |   3 -
 nscd/nscd_gethst_r.c                        |   2 -
 nscd/nscd_getserv_r.c                       |   2 -
 nscd/nscd_helper.c                          |   6 -
 stdlib/getenv.c                             |  63 +----
 sysdeps/aarch64/string_private.h            |  20 --
 sysdeps/generic/string_private.h            |  21 --
 sysdeps/m68k/m680x0/m68020/string_private.h |  21 --
 sysdeps/s390/string_private.h               |  20 --
 sysdeps/s390/utf16-utf32-z9.c               |   4 +-
 sysdeps/s390/utf8-utf16-z9.c                |   2 +-
 sysdeps/s390/utf8-utf32-z9.c                |   2 +-
 sysdeps/x86/string_private.h                |  20 --
 25 files changed, 118 insertions(+), 836 deletions(-)
 delete mode 100644 sysdeps/aarch64/string_private.h
 delete mode 100644 sysdeps/generic/string_private.h
 delete mode 100644 sysdeps/m68k/m680x0/m68020/string_private.h
 delete mode 100644 sysdeps/s390/string_private.h
 delete mode 100644 sysdeps/x86/string_private.h