Move powerpc ports pieces to libc.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Move powerpc ports pieces to libc.

Joseph Myers
This patch moves the powerpc-nofpu port and 4xx string functions from
ports to libc.  Together with the diff below for the README update and
one case where file contents need merging into an existing file, the
following git commands do the directory moves (and removal of the file
from which contents were merged):

git mv ports/sysdeps/powerpc/nofpu sysdeps/powerpc/nofpu
git mv ports/sysdeps/powerpc/soft-fp sysdeps/powerpc/soft-fp
git mv ports/sysdeps/powerpc/powerpc32/405 sysdeps/powerpc/powerpc32/405
git mv ports/sysdeps/powerpc/powerpc32/440 sysdeps/powerpc/powerpc32/440
git mv ports/sysdeps/powerpc/powerpc32/464 sysdeps/powerpc/powerpc32/464
git mv ports/sysdeps/powerpc/powerpc32/476 sysdeps/powerpc/powerpc32/476
git rm ports/sysdeps/powerpc/powerpc32/Makefile
git mv ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu
git mv ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405 sysdeps/unix/sysv/linux/powerpc/powerpc32/405
git mv ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440 sysdeps/unix/sysv/linux/powerpc/powerpc32/440
git mv ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464 sysdeps/unix/sysv/linux/powerpc/powerpc32/464
git mv ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476 sysdeps/unix/sysv/linux/powerpc/powerpc32/476

Tested that for both hard-float and soft-float powerpc32 builds, the
disassembly of installed binaries is the same before and after the
change (paths in debug info are of course different).

2013-09-26  Joseph Myers  <[hidden email]>

        * sysdeps/powerpc/powerpc32/Makefile [$(with-fp) = yes] (+cflags):
        Move -mhard-float appending from
        ports/sysdeps/powerpc/powerpc32/Makefile.
        [$(with-fp) = yes] (ASFLAGS): Likewise.
        [$(with-fp) = yes] (sysdep-LDFLAGS): Likewise.
        * sysdeps/powerpc/nofpu: Move directory from
        ports/sysdeps/powerpc/nofpu.
        * sysdeps/powerpc/soft-fp: Move directory from
        ports/sysdeps/powerpc/soft-fp.
        * sysdeps/powerpc/powerpc32/405: Move directory from
        ports/sysdeps/powerpc/powerpc32/405.
        * sysdeps/powerpc/powerpc32/440: Move directory from
        ports/sysdeps/powerpc/powerpc32/440.
        * sysdeps/powerpc/powerpc32/464: Move directory from
        ports/sysdeps/powerpc/powerpc32/464.
        * sysdeps/powerpc/powerpc32/476: Move directory from
        ports/sysdeps/powerpc/powerpc32/476.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu: Move directory
        from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/405: Move directory
        from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/440: Move directory
        from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/464: Move directory
        from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/476: Move directory
        from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476.
        * README: Update for powerpc-*-linux-gnu software floating point
        support in libc.

ports/ChangeLog.powerpc:
2013-09-26  Joseph Myers  <[hidden email]>

        * ports/sysdeps/powerpc/powerpc32/Makefile: Remove file.
        * sysdeps/powerpc/nofpu: Move directory to
        ../sysdeps/powerpc/nofpu.
        * sysdeps/powerpc/soft-fp: Move directory to
        ../sysdeps/powerpc/soft-fp.
        * sysdeps/powerpc/powerpc32/405: Move directory to
        ../sysdeps/powerpc/powerpc32/405.
        * sysdeps/powerpc/powerpc32/440: Move directory to
        ../sysdeps/powerpc/powerpc32/440.
        * sysdeps/powerpc/powerpc32/464: Move directory to
        ../sysdeps/powerpc/powerpc32/464.
        * sysdeps/powerpc/powerpc32/476: Move directory to
        ../sysdeps/powerpc/powerpc32/476.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu: Move directory
        to ../sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/405: Move directory to
        ../sysdeps/unix/sysv/linux/powerpc/powerpc32/405.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/440: Move directory to
        ../sysdeps/unix/sysv/linux/powerpc/powerpc32/440.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/464: Move directory to
        ../sysdeps/unix/sysv/linux/powerpc/powerpc32/464.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/476: Move directory to
        ../sysdeps/unix/sysv/linux/powerpc/powerpc32/476.

diff --git a/README b/README
index bb4ccb8..e8df988 100644
--- a/README
+++ b/README
@@ -26,7 +26,7 @@ The GNU C Library supports these configurations for using Linux kernels:
 
  i[4567]86-*-linux-gnu
  x86_64-*-linux-gnu Can build either x86_64 or x32
- powerpc-*-linux-gnu Hardware floating point required
+ powerpc-*-linux-gnu Hardware or software floating point
  powerpc64-*-linux-gnu
  s390-*-linux-gnu
  s390x-*-linux-gnu
@@ -47,7 +47,6 @@ located in the `ports' subdirectory of the source tree.
  m68k-*-linux-gnu
  mips-*-linux-gnu
  mips64-*-linux-gnu
- powerpc-*-linux-gnu Software floating point (--without-fp)
  tilegx-*-linux-gnu
  tilepro-*-linux-gnu
 
diff --git a/sysdeps/powerpc/powerpc32/Makefile b/sysdeps/powerpc/powerpc32/Makefile
index 3fdb4b4..cf620c8 100644
--- a/sysdeps/powerpc/powerpc32/Makefile
+++ b/sysdeps/powerpc/powerpc32/Makefile
@@ -1,5 +1,14 @@
 # Powerpc32 specific build options.
 
+# Some Powerpc32 variants assume soft-fp is the default even though there is
+# an fp variant so provide -mhard-float if --with-fp is explicitly passed.
+
+ifeq ($(with-fp),yes)
++cflags += -mhard-float
+ASFLAGS += -mhard-float
+sysdep-LDFLAGS += -mhard-float
+endif
+
 ifeq ($(subdir),gmon)
 sysdep_routines += ppc-mcount compat-ppc-mcount
 static-only-routines += ppc-mcount

--
Joseph S. Myers
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Move powerpc ports pieces to libc.

Roland McGrath-4
I'd also put a note and a FF at the top of ports/ChangeLog.powerpc
explaining its historical nature and clarifying that it should never
be changed again.