[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Fw: [PATCH 0/3]: Initial Sparc multiarch support



FYI! :)

----- Forwarded message from David Miller <davem@davemloft.net> -----

Just FYI... This will decrease the overhead of building glibc
on sparc when/if this propagates some day into the debian tree.

Date: Fri, 26 Feb 2010 05:19:34 -0800 (PST)
To: libc-alpha@sourceware.org
Subject: [PATCH 0/3]: Initial Sparc multiarch support
From: David Miller <davem@davemloft.net>
Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm


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


----- End forwarded message -----

-- 
     2. That which causes joy or happiness.


Reply to: