FYI! :) ----- Forwarded message from David Miller <da...@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-al...@sourceware.org Subject: [PATCH 0/3]: Initial Sparc multiarch support From: David Miller <da...@davemloft.net> Mailing-List: contact libc-alpha-h...@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. -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100226141142.ga18...@orion.carnet.hr