unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/28] glibc-hwcaps support
@ 2020-10-01 16:31 Florian Weimer via Libc-alpha
  2020-10-01 16:31 ` [PATCH 01/28] elf: Do not search HWCAP subdirectories in statically linked binaries Florian Weimer via Libc-alpha
                   ` (28 more replies)
  0 siblings, 29 replies; 103+ messages in thread
From: Florian Weimer via Libc-alpha @ 2020-10-01 16:31 UTC (permalink / raw)
  To: libc-alpha

This is a rebase of the previous patch series.  I adjusted it for the
--argv0 ld.so change, added POWER10 support, and switched to the real
subdirectory names in the x86-64 psABI.

I think the patches up to “elf: Enhance ld.so --help to print HWCAP
subdirectories” are useful on their own because they add diagnostics for
existing functionality.  The ld.so.cache extension mechanism and the
string table are also fairly independent parts.

What's still missing?

* documentation (including NEWS file updates)
* negative caching of missing glibc-hwcaps subdirectories (in bulk)
* tests

I would like to work on these aspects in parallel to the patch reviews.
(Lack of negative caching makes it obvious what's going on with strace,
so it's perhaps even helpful that it's currently missing.)

Support in GCC has landed earlier this week:

  <https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=324bec558e95584e>

I filed a separate LLVM bug, but do not plan to work on it for now:

  <https://bugs.llvm.org/show_bug.cgi?id=47686>

Thanks,
Florian

Florian Weimer (28):
  elf: Do not search HWCAP subdirectories in statically linked binaries
  elf: Implement __rtld_malloc_is_full
  elf: Implement _dl_write
  elf: Extract command-line/environment variables state from rtld.c
  elf: Move ld.so error/help output to _dl_usage
  elf: Record whether paths come from LD_LIBRARY_PATH or --library-path
  elf: Implement ld.so --help
  elf: Implement ld.so --version
  scripts/update-copyrights: Update csu/version.c, elf/dl-usage.c
  elf: Use the term "program interpreter" in the ld.so help message
  elf: Print the full name of the dynamic loader in the ld.so help
    message
  elf: Make __rtld_env_path_list and __rtld_search_dirs global variables
  elf: Add library search path information to ld.so --help
  elf: Enhance ld.so --help to print HWCAP subdirectories
  elf: Do not pass GLRO(dl_platform), GLRO(dl_platformlen) to
    _dl_important_hwcaps
  elf: Add glibc-hwcaps support for LD_LIBRARY_PATH
  x86_64: Add glibc-hwcaps support
  powerpc64le: Add glibc-hwcaps support
  s390x: Add Add glibc-hwcaps support
  aarch64: Add glibc-hwcaps support
  elf: Add endianness markup to ld.so.cache
  elf: Add extension mechanism to ld.so.cache
  elf: Unify old and new format cache handling code in ld.so
  elf: Implement a string table for ldconfig, with tail merging
  elf: Implement tail merging of strings in ldconfig
  elf: In ldconfig, extract the new_sub_entry function from search_dir
  elf: Process glibc-hwcaps subdirectories in ldconfig
  elf: Add glibc-hwcaps subdirectory support to ld.so cache processing

 NEWS                                          |   4 +
 elf/Makefile                                  |  22 +-
 elf/cache.c                                   | 400 +++++++++++++--
 elf/dl-cache.c                                | 483 ++++++++++++------
 elf/dl-hwcaps-subdirs.c                       |  29 ++
 elf/dl-hwcaps.c                               | 225 +++++++-
 elf/dl-hwcaps.h                               | 102 ++++
 elf/dl-hwcaps_split.c                         |  77 +++
 elf/dl-load.c                                 |  75 +--
 elf/dl-main.h                                 | 120 +++++
 elf/dl-minimal.c                              |   8 +
 elf/dl-support.c                              |   5 +-
 elf/dl-usage.c                                | 268 ++++++++++
 elf/dl-write.c                                |  56 ++
 elf/ldconfig.c                                | 187 +++++--
 elf/rtld.c                                    | 251 ++++-----
 elf/stringtable.c                             | 201 ++++++++
 elf/stringtable.h                             |  61 +++
 elf/stringtable_free.c                        |  32 ++
 elf/tst-dl-hwcaps_split.c                     | 139 +++++
 elf/tst-stringtable.c                         | 140 +++++
 include/link.h                                |   4 +
 include/rtld-malloc.h                         |   4 +
 scripts/update-copyrights                     |   6 +
 sysdeps/aarch64/dl-hwcaps-subdirs.c           |  31 ++
 sysdeps/generic/dl-cache.h                    | 232 ++++++++-
 sysdeps/generic/ldconfig.h                    |  18 +-
 sysdeps/generic/ldsodefs.h                    |  34 +-
 .../powerpc/powerpc64/le/dl-hwcaps-subdirs.c  |  34 ++
 sysdeps/s390/s390-64/dl-hwcaps-subdirs.c      |  54 ++
 sysdeps/unix/sysv/linux/dl-write.c            |  30 ++
 sysdeps/x86_64/dl-hwcaps-subdirs.c            |  69 +++
 32 files changed, 2977 insertions(+), 424 deletions(-)
 create mode 100644 elf/dl-hwcaps-subdirs.c
 create mode 100644 elf/dl-hwcaps_split.c
 create mode 100644 elf/dl-main.h
 create mode 100644 elf/dl-usage.c
 create mode 100644 elf/dl-write.c
 create mode 100644 elf/stringtable.c
 create mode 100644 elf/stringtable.h
 create mode 100644 elf/stringtable_free.c
 create mode 100644 elf/tst-dl-hwcaps_split.c
 create mode 100644 elf/tst-stringtable.c
 create mode 100644 sysdeps/aarch64/dl-hwcaps-subdirs.c
 create mode 100644 sysdeps/powerpc/powerpc64/le/dl-hwcaps-subdirs.c
 create mode 100644 sysdeps/s390/s390-64/dl-hwcaps-subdirs.c
 create mode 100644 sysdeps/unix/sysv/linux/dl-write.c
 create mode 100644 sysdeps/x86_64/dl-hwcaps-subdirs.c

-- 
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill


^ permalink raw reply	[flat|nested] 103+ messages in thread

end of thread, other threads:[~2020-11-04 11:57 UTC | newest]

Thread overview: 103+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-01 16:31 [PATCH 00/28] glibc-hwcaps support Florian Weimer via Libc-alpha
2020-10-01 16:31 ` [PATCH 01/28] elf: Do not search HWCAP subdirectories in statically linked binaries Florian Weimer via Libc-alpha
2020-10-01 18:22   ` Adhemerval Zanella via Libc-alpha
2020-10-01 18:24     ` Carlos O'Donell via Libc-alpha
2020-10-01 18:29       ` Adhemerval Zanella via Libc-alpha
2020-10-01 20:24         ` Carlos O'Donell via Libc-alpha
2020-10-01 16:31 ` [PATCH 02/28] elf: Implement __rtld_malloc_is_full Florian Weimer via Libc-alpha
2020-10-01 18:23   ` Adhemerval Zanella via Libc-alpha
2020-10-08  9:44     ` Florian Weimer via Libc-alpha
2020-10-01 16:31 ` [PATCH 03/28] elf: Implement _dl_write Florian Weimer via Libc-alpha
2020-10-05 19:46   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:31 ` [PATCH 04/28] elf: Extract command-line/environment variables state from rtld.c Florian Weimer via Libc-alpha
2020-10-06 20:45   ` Adhemerval Zanella via Libc-alpha
2020-10-08 11:32     ` Florian Weimer via Libc-alpha
2020-10-01 16:32 ` [PATCH 05/28] elf: Move ld.so error/help output to _dl_usage Florian Weimer via Libc-alpha
2020-10-06 21:06   ` Adhemerval Zanella via Libc-alpha
2020-10-08 12:19     ` Florian Weimer via Libc-alpha
2020-10-01 16:32 ` [PATCH 06/28] elf: Record whether paths come from LD_LIBRARY_PATH or --library-path Florian Weimer via Libc-alpha
2020-10-07 16:39   ` Adhemerval Zanella via Libc-alpha
2020-10-07 16:49     ` Florian Weimer
2020-10-01 16:32 ` [PATCH 07/28] elf: Implement ld.so --help Florian Weimer via Libc-alpha
2020-10-07 17:16   ` Adhemerval Zanella via Libc-alpha
2020-10-08 13:13     ` Florian Weimer via Libc-alpha
2020-10-01 16:32 ` [PATCH 08/28] elf: Implement ld.so --version Florian Weimer via Libc-alpha
2020-10-07 18:36   ` Adhemerval Zanella via Libc-alpha
2020-10-07 18:38     ` Adhemerval Zanella via Libc-alpha
2020-10-08 13:37     ` Florian Weimer via Libc-alpha
2020-10-01 16:32 ` [PATCH 09/28] scripts/update-copyrights: Update csu/version.c, elf/dl-usage.c Florian Weimer via Libc-alpha
2020-10-07 18:41   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:32 ` [PATCH 10/28] elf: Use the term "program interpreter" in the ld.so help message Florian Weimer via Libc-alpha
2020-10-07 21:08   ` Adhemerval Zanella via Libc-alpha
2020-10-08 14:08     ` Florian Weimer via Libc-alpha
2020-10-01 16:32 ` [PATCH 11/28] elf: Print the full name of the dynamic loader " Florian Weimer via Libc-alpha
2020-10-08 12:38   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:32 ` [PATCH 12/28] elf: Make __rtld_env_path_list and __rtld_search_dirs global variables Florian Weimer via Libc-alpha
2020-10-08 13:27   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:32 ` [PATCH 13/28] elf: Add library search path information to ld.so --help Florian Weimer via Libc-alpha
2020-10-08 16:22   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:33 ` [PATCH 14/28] elf: Enhance ld.so --help to print HWCAP subdirectories Florian Weimer via Libc-alpha
2020-10-08 16:27   ` Adhemerval Zanella via Libc-alpha
2020-10-09  8:18     ` Florian Weimer via Libc-alpha
2020-10-09 13:49   ` Matheus Castanho via Libc-alpha
2020-10-09 17:08     ` Florian Weimer via Libc-alpha
2020-10-09 17:12       ` Florian Weimer via Libc-alpha
2020-10-09 18:54         ` Matheus Castanho via Libc-alpha
2020-10-12  9:47           ` Florian Weimer via Libc-alpha
2020-10-01 16:33 ` [PATCH 15/28] elf: Do not pass GLRO(dl_platform), GLRO(dl_platformlen) to _dl_important_hwcaps Florian Weimer via Libc-alpha
2020-10-08 18:04   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:33 ` [PATCH 16/28] elf: Add glibc-hwcaps support for LD_LIBRARY_PATH Florian Weimer via Libc-alpha
2020-10-08 10:13   ` Szabolcs Nagy via Libc-alpha
2020-10-09  9:08     ` Florian Weimer via Libc-alpha
2020-10-09 10:50       ` Szabolcs Nagy via Libc-alpha
2020-10-09 10:55         ` Florian Weimer via Libc-alpha
2020-10-09 11:03           ` Szabolcs Nagy via Libc-alpha
2020-10-08 23:16   ` Paul A. Clarke via Libc-alpha
2020-10-09  8:56     ` Florian Weimer via Libc-alpha
2020-10-09 13:19   ` Adhemerval Zanella via Libc-alpha
2020-10-12 11:54     ` Florian Weimer via Libc-alpha
2020-10-01 16:33 ` [PATCH 17/28] x86_64: Add glibc-hwcaps support Florian Weimer via Libc-alpha
2020-10-01 16:33 ` [PATCH 18/28] powerpc64le: " Florian Weimer via Libc-alpha
2020-10-01 18:56   ` Paul A. Clarke via Libc-alpha
2020-10-05  9:47     ` Florian Weimer via Libc-alpha
2020-10-05 19:15       ` Paul A. Clarke via Libc-alpha
2020-10-06 12:20         ` Florian Weimer via Libc-alpha
2020-10-06 17:45           ` Paul A. Clarke via Libc-alpha
2020-10-09  9:06             ` Florian Weimer via Libc-alpha
2020-10-01 16:33 ` [PATCH 19/28] s390x: Add " Florian Weimer via Libc-alpha
2020-10-01 16:33 ` [PATCH 20/28] aarch64: " Florian Weimer via Libc-alpha
2020-10-14 13:46   ` Adhemerval Zanella via Libc-alpha
2020-10-14 14:08     ` Florian Weimer via Libc-alpha
2020-10-14 14:15       ` Adhemerval Zanella via Libc-alpha
2020-10-14 14:37         ` Szabolcs Nagy via Libc-alpha
2020-10-14 14:43           ` Adhemerval Zanella via Libc-alpha
2020-10-14 15:13             ` Florian Weimer via Libc-alpha
2020-10-14 14:44           ` Florian Weimer via Libc-alpha
2020-10-14 15:09             ` Szabolcs Nagy via Libc-alpha
2020-10-01 16:33 ` [PATCH 21/28] elf: Add endianness markup to ld.so.cache Florian Weimer via Libc-alpha
2020-10-14 14:07   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:33 ` [PATCH 22/28] elf: Add extension mechanism " Florian Weimer via Libc-alpha
2020-10-15 17:52   ` Adhemerval Zanella via Libc-alpha
2020-10-30 12:22     ` Florian Weimer via Libc-alpha
2020-11-03 12:45       ` Adhemerval Zanella via Libc-alpha
2020-11-03 15:30         ` Florian Weimer via Libc-alpha
2020-10-01 16:34 ` [PATCH 23/28] elf: Unify old and new format cache handling code in ld.so Florian Weimer via Libc-alpha
2020-10-16 14:37   ` Adhemerval Zanella via Libc-alpha
2020-10-30 13:22     ` Florian Weimer via Libc-alpha
2020-11-03 13:02       ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:34 ` [PATCH 24/28] elf: Implement a string table for ldconfig, with tail merging Florian Weimer via Libc-alpha
2020-10-20 14:25   ` Adhemerval Zanella via Libc-alpha
2020-10-30 17:08     ` Florian Weimer via Libc-alpha
2020-11-03 13:05       ` Adhemerval Zanella via Libc-alpha
2020-11-03 15:29         ` Florian Weimer via Libc-alpha
2020-10-01 16:34 ` [PATCH 25/28] elf: Implement tail merging of strings in ldconfig Florian Weimer via Libc-alpha
2020-10-22 21:08   ` Adhemerval Zanella via Libc-alpha
2020-10-30 17:36     ` Florian Weimer via Libc-alpha
2020-10-01 16:34 ` [PATCH 26/28] elf: In ldconfig, extract the new_sub_entry function from search_dir Florian Weimer via Libc-alpha
2020-10-27 13:15   ` Adhemerval Zanella via Libc-alpha
2020-10-01 16:34 ` [PATCH 27/28] elf: Process glibc-hwcaps subdirectories in ldconfig Florian Weimer via Libc-alpha
2020-10-27 17:28   ` Adhemerval Zanella via Libc-alpha
2020-11-04 11:57     ` Florian Weimer via Libc-alpha
2020-10-01 16:34 ` [PATCH 28/28] elf: Add glibc-hwcaps subdirectory support to ld.so cache processing Florian Weimer via Libc-alpha
2020-10-01 16:50 ` [PATCH 00/28] glibc-hwcaps support H.J. Lu via Libc-alpha
2020-10-01 16:54   ` Florian Weimer via Libc-alpha

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