This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/3]: Initial Sparc multiarch support


Following this posting are three patches that add initial
multiarch support for sparc.  And below is the GIT pull
information to grab this work from my davem/sparc branch.

The first two patches make changes that ease the implementation
of multiarch.

We pull the __align_cpy_*() routines out of memcpy and remove
any dependency they have on the memcpy code.  Incidentally these
are still not used by gcc at all. :-)  In fact I doubt there are
any actual users.

Next we toss the memmove and bcopy bits in favor of the generic
code.  This is a temporary measure and new optimized routines
will be added to the multiarch area at a later date.

Finally we multiarch everything.  Now distribution makers only
have to build glibc 3 times to cover all possible cases.
Once for sparc-*-linux, once for sparcv9-*-linux and once for
sparc64-*-linux.

This is compared to the _9_ variants required beforehand.

Please pull, thanks a lot!

The following changes since commit 4a1297d761c3754ca2643ab6cd9e9cf952d77cf5:
  Ulrich Drepper (1):
        We can use the 64-bit register versions of the double functions.

are available in the git repository at:

  ssh://sourceware.org/git/glibc.git davem/sparc

David S. Miller (3):
      sparc: Reimplement 64-bit aligned copy routines and remove from memcpy files.
      sparc: Pull bcopy/memmove out of memcpy.S implementations.
      sparc: Add multiarch support for memset/bzero/memcpy.

 ChangeLog                                          |   57 ++
 sysdeps/sparc/Makefile                             |    5 +
 sysdeps/sparc/elf/rtld-global-offsets.sym          |    7 +
 sysdeps/sparc/sparc32/bcopy.c                      |    1 -
 sysdeps/sparc/sparc32/memcpy.S                     |  347 +---------
 sysdeps/sparc/sparc32/memmove.c                    |    1 -
 sysdeps/sparc/sparc32/sparcv9/bcopy.c              |    1 -
 sysdeps/sparc/sparc32/sparcv9/memmove.c            |    1 -
 sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile   |    4 +
 .../sparc32/sparcv9/multiarch/memcpy-niagara1.S    |    2 +
 .../sparc32/sparcv9/multiarch/memcpy-niagara2.S    |    2 +
 .../sparc32/sparcv9/multiarch/memcpy-ultra3.S      |    2 +
 sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S   |    4 +
 .../sparc32/sparcv9/multiarch/memset-niagara1.S    |    2 +
 sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S   |    4 +
 sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S    |    2 -
 sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S    |    2 -
 sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S    |    2 -
 sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S   |    2 -
 sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S   |    2 -
 sysdeps/sparc/sparc64/Makefile                     |    4 +
 sysdeps/sparc/sparc64/align-cpy.S                  |   85 +++
 sysdeps/sparc/sparc64/bcopy.c                      |    1 -
 sysdeps/sparc/sparc64/memcopy.h                    |    1 +
 sysdeps/sparc/sparc64/memcpy.S                     |  353 ---------
 sysdeps/sparc/sparc64/memmove.c                    |    1 -
 sysdeps/sparc/sparc64/multiarch/Makefile           |    4 +
 sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S  |  342 +++++++++
 sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S  |  492 +++++++++++++
 sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S    |  320 +++++++++
 sysdeps/sparc/sparc64/multiarch/memcpy.S           |  107 +++
 .../memset.S => multiarch/memset-niagara1.S}       |   17 +-
 sysdeps/sparc/sparc64/multiarch/memset.S           |  145 ++++
 sysdeps/sparc/sparc64/sparcv9b/memcpy.S            |  610 ----------------
 sysdeps/sparc/sparc64/sparcv9v/memcpy.S            |  596 ----------------
 sysdeps/sparc/sparc64/sparcv9v2/memcpy.S           |  746 --------------------
 sysdeps/sparc/sparc64/sparcv9v2/memset.S           |    1 -
 37 files changed, 1599 insertions(+), 2676 deletions(-)
 create mode 100644 sysdeps/sparc/elf/rtld-global-offsets.sym
 delete mode 100644 sysdeps/sparc/sparc32/bcopy.c
 delete mode 100644 sysdeps/sparc/sparc32/memmove.c
 delete mode 100644 sysdeps/sparc/sparc32/sparcv9/bcopy.c
 delete mode 100644 sysdeps/sparc/sparc32/sparcv9/memmove.c
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara1.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara2.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra3.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara1.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S
 delete mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S
 delete mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S
 delete mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S
 delete mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S
 delete mode 100644 sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S
 create mode 100644 sysdeps/sparc/sparc64/align-cpy.S
 delete mode 100644 sysdeps/sparc/sparc64/bcopy.c
 create mode 100644 sysdeps/sparc/sparc64/memcopy.h
 delete mode 100644 sysdeps/sparc/sparc64/memmove.c
 create mode 100644 sysdeps/sparc/sparc64/multiarch/Makefile
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memcpy.S
 rename sysdeps/sparc/sparc64/{sparcv9v/memset.S => multiarch/memset-niagara1.S} (94%)
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memset.S
 delete mode 100644 sysdeps/sparc/sparc64/sparcv9b/memcpy.S
 delete mode 100644 sysdeps/sparc/sparc64/sparcv9v/memcpy.S
 delete mode 100644 sysdeps/sparc/sparc64/sparcv9v2/memcpy.S
 delete mode 100644 sysdeps/sparc/sparc64/sparcv9v2/memset.S


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]