aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-10-04 16:02:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-10-04 16:02:33 +0000
commit29d73d867e1df54d703542cf7d076c5620dc2fb7 (patch)
treef6f0dd2a285848ae56b9bedaac2d817818bc674f
parente246b347599a402119c5cb6726d7853cb6307f0f (diff)
downloadglibc-29d73d867e1df54d703542cf7d076c5620dc2fb7.zip
glibc-29d73d867e1df54d703542cf7d076c5620dc2fb7.tar.gz
glibc-29d73d867e1df54d703542cf7d076c5620dc2fb7.tar.bz2
Move powerpc ports pieces to libc.
-rw-r--r--ChangeLog30
-rw-r--r--README3
-rw-r--r--ports/ChangeLog.powerpc31
-rw-r--r--ports/sysdeps/powerpc/powerpc32/Makefile8
-rw-r--r--sysdeps/powerpc/nofpu/Makefile (renamed from ports/sysdeps/powerpc/nofpu/Makefile)0
-rw-r--r--sysdeps/powerpc/nofpu/Subdirs (renamed from ports/sysdeps/powerpc/nofpu/Subdirs)0
-rw-r--r--sysdeps/powerpc/nofpu/Versions (renamed from ports/sysdeps/powerpc/nofpu/Versions)0
-rw-r--r--sysdeps/powerpc/nofpu/fclrexcpt.c (renamed from ports/sysdeps/powerpc/nofpu/fclrexcpt.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fedisblxcpt.c (renamed from ports/sysdeps/powerpc/nofpu/fedisblxcpt.c)0
-rw-r--r--sysdeps/powerpc/nofpu/feenablxcpt.c (renamed from ports/sysdeps/powerpc/nofpu/feenablxcpt.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fegetenv.c (renamed from ports/sysdeps/powerpc/nofpu/fegetenv.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fegetexcept.c (renamed from ports/sysdeps/powerpc/nofpu/fegetexcept.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fegetround.c (renamed from ports/sysdeps/powerpc/nofpu/fegetround.c)0
-rw-r--r--sysdeps/powerpc/nofpu/feholdexcpt.c (renamed from ports/sysdeps/powerpc/nofpu/feholdexcpt.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fenv_const.c (renamed from ports/sysdeps/powerpc/nofpu/fenv_const.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fenv_libc.h (renamed from ports/sysdeps/powerpc/nofpu/fenv_libc.h)0
-rw-r--r--sysdeps/powerpc/nofpu/fesetenv.c (renamed from ports/sysdeps/powerpc/nofpu/fesetenv.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fesetround.c (renamed from ports/sysdeps/powerpc/nofpu/fesetround.c)0
-rw-r--r--sysdeps/powerpc/nofpu/feupdateenv.c (renamed from ports/sysdeps/powerpc/nofpu/feupdateenv.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fgetexcptflg.c (renamed from ports/sysdeps/powerpc/nofpu/fgetexcptflg.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fraiseexcpt.c (renamed from ports/sysdeps/powerpc/nofpu/fraiseexcpt.c)0
-rw-r--r--sysdeps/powerpc/nofpu/fsetexcptflg.c (renamed from ports/sysdeps/powerpc/nofpu/fsetexcptflg.c)0
-rw-r--r--sysdeps/powerpc/nofpu/ftestexcept.c (renamed from ports/sysdeps/powerpc/nofpu/ftestexcept.c)0
-rw-r--r--sysdeps/powerpc/nofpu/get-rounding-mode.h (renamed from ports/sysdeps/powerpc/nofpu/get-rounding-mode.h)0
-rw-r--r--sysdeps/powerpc/nofpu/libm-test-ulps (renamed from ports/sysdeps/powerpc/nofpu/libm-test-ulps)0
-rw-r--r--sysdeps/powerpc/nofpu/shlib-versions (renamed from ports/sysdeps/powerpc/nofpu/shlib-versions)0
-rw-r--r--sysdeps/powerpc/nofpu/sim-full.c (renamed from ports/sysdeps/powerpc/nofpu/sim-full.c)0
-rw-r--r--sysdeps/powerpc/nofpu/soft-supp.h (renamed from ports/sysdeps/powerpc/nofpu/soft-supp.h)0
-rw-r--r--sysdeps/powerpc/powerpc32/405/memcmp.S (renamed from ports/sysdeps/powerpc/powerpc32/405/memcmp.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/405/memcpy.S (renamed from ports/sysdeps/powerpc/powerpc32/405/memcpy.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/405/memset.S (renamed from ports/sysdeps/powerpc/powerpc32/405/memset.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/405/strcmp.S (renamed from ports/sysdeps/powerpc/powerpc32/405/strcmp.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/405/strcpy.S (renamed from ports/sysdeps/powerpc/powerpc32/405/strcpy.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/405/strlen.S (renamed from ports/sysdeps/powerpc/powerpc32/405/strlen.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/405/strncmp.S (renamed from ports/sysdeps/powerpc/powerpc32/405/strncmp.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/440/Implies (renamed from ports/sysdeps/powerpc/powerpc32/440/Implies)0
-rw-r--r--sysdeps/powerpc/powerpc32/464/Implies (renamed from ports/sysdeps/powerpc/powerpc32/464/Implies)0
-rw-r--r--sysdeps/powerpc/powerpc32/476/Implies (renamed from ports/sysdeps/powerpc/powerpc32/476/Implies)0
-rw-r--r--sysdeps/powerpc/powerpc32/476/memset.S (renamed from ports/sysdeps/powerpc/powerpc32/476/memset.S)0
-rw-r--r--sysdeps/powerpc/powerpc32/Makefile9
-rw-r--r--sysdeps/powerpc/soft-fp/sfp-machine.h (renamed from ports/sysdeps/powerpc/soft-fp/sfp-machine.h)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S (renamed from ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S)0
65 files changed, 71 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 43be44d..6c0d322 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,35 @@
2013-10-04 Joseph Myers <joseph@codesourcery.com>
+ * 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.
+
* sysdeps/unix/sysv/linux/configure.in (powerpc/powerpc32): Change
case to powerpc/powerpc32*.
* sysdeps/unix/sysv/linux/configure: Regenerated.
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/ports/ChangeLog.powerpc b/ports/ChangeLog.powerpc
index 773c240..9f04afa 100644
--- a/ports/ChangeLog.powerpc
+++ b/ports/ChangeLog.powerpc
@@ -1,5 +1,36 @@
+This file describes changes to the soft-float powerpc port while it
+was in the ports add-on directory. This port is no longer part of an
+add-on and so future changes to it should be listed in the top-level
+ChangeLog file, not here.
+
+
+
2013-10-04 Joseph Myers <joseph@codesourcery.com>
+ * 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.
+
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S:
diff --git a/ports/sysdeps/powerpc/powerpc32/Makefile b/ports/sysdeps/powerpc/powerpc32/Makefile
deleted file mode 100644
index 3d235de..0000000
--- a/ports/sysdeps/powerpc/powerpc32/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# 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
diff --git a/ports/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile
index 6bdff45..6bdff45 100644
--- a/ports/sysdeps/powerpc/nofpu/Makefile
+++ b/sysdeps/powerpc/nofpu/Makefile
diff --git a/ports/sysdeps/powerpc/nofpu/Subdirs b/sysdeps/powerpc/nofpu/Subdirs
index 87eadf3..87eadf3 100644
--- a/ports/sysdeps/powerpc/nofpu/Subdirs
+++ b/sysdeps/powerpc/nofpu/Subdirs
diff --git a/ports/sysdeps/powerpc/nofpu/Versions b/sysdeps/powerpc/nofpu/Versions
index 1a29319..1a29319 100644
--- a/ports/sysdeps/powerpc/nofpu/Versions
+++ b/sysdeps/powerpc/nofpu/Versions
diff --git a/ports/sysdeps/powerpc/nofpu/fclrexcpt.c b/sysdeps/powerpc/nofpu/fclrexcpt.c
index fabda0a..fabda0a 100644
--- a/ports/sysdeps/powerpc/nofpu/fclrexcpt.c
+++ b/sysdeps/powerpc/nofpu/fclrexcpt.c
diff --git a/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c b/sysdeps/powerpc/nofpu/fedisblxcpt.c
index e06c8f7..e06c8f7 100644
--- a/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c
+++ b/sysdeps/powerpc/nofpu/fedisblxcpt.c
diff --git a/ports/sysdeps/powerpc/nofpu/feenablxcpt.c b/sysdeps/powerpc/nofpu/feenablxcpt.c
index 93249ab..93249ab 100644
--- a/ports/sysdeps/powerpc/nofpu/feenablxcpt.c
+++ b/sysdeps/powerpc/nofpu/feenablxcpt.c
diff --git a/ports/sysdeps/powerpc/nofpu/fegetenv.c b/sysdeps/powerpc/nofpu/fegetenv.c
index 51bcef3..51bcef3 100644
--- a/ports/sysdeps/powerpc/nofpu/fegetenv.c
+++ b/sysdeps/powerpc/nofpu/fegetenv.c
diff --git a/ports/sysdeps/powerpc/nofpu/fegetexcept.c b/sysdeps/powerpc/nofpu/fegetexcept.c
index ea39a82..ea39a82 100644
--- a/ports/sysdeps/powerpc/nofpu/fegetexcept.c
+++ b/sysdeps/powerpc/nofpu/fegetexcept.c
diff --git a/ports/sysdeps/powerpc/nofpu/fegetround.c b/sysdeps/powerpc/nofpu/fegetround.c
index c232ae3..c232ae3 100644
--- a/ports/sysdeps/powerpc/nofpu/fegetround.c
+++ b/sysdeps/powerpc/nofpu/fegetround.c
diff --git a/ports/sysdeps/powerpc/nofpu/feholdexcpt.c b/sysdeps/powerpc/nofpu/feholdexcpt.c
index ba6a53a..ba6a53a 100644
--- a/ports/sysdeps/powerpc/nofpu/feholdexcpt.c
+++ b/sysdeps/powerpc/nofpu/feholdexcpt.c
diff --git a/ports/sysdeps/powerpc/nofpu/fenv_const.c b/sysdeps/powerpc/nofpu/fenv_const.c
index 291b1ac..291b1ac 100644
--- a/ports/sysdeps/powerpc/nofpu/fenv_const.c
+++ b/sysdeps/powerpc/nofpu/fenv_const.c
diff --git a/ports/sysdeps/powerpc/nofpu/fenv_libc.h b/sysdeps/powerpc/nofpu/fenv_libc.h
index 14a2d04..14a2d04 100644
--- a/ports/sysdeps/powerpc/nofpu/fenv_libc.h
+++ b/sysdeps/powerpc/nofpu/fenv_libc.h
diff --git a/ports/sysdeps/powerpc/nofpu/fesetenv.c b/sysdeps/powerpc/nofpu/fesetenv.c
index 3f35909..3f35909 100644
--- a/ports/sysdeps/powerpc/nofpu/fesetenv.c
+++ b/sysdeps/powerpc/nofpu/fesetenv.c
diff --git a/ports/sysdeps/powerpc/nofpu/fesetround.c b/sysdeps/powerpc/nofpu/fesetround.c
index 028c130..028c130 100644
--- a/ports/sysdeps/powerpc/nofpu/fesetround.c
+++ b/sysdeps/powerpc/nofpu/fesetround.c
diff --git a/ports/sysdeps/powerpc/nofpu/feupdateenv.c b/sysdeps/powerpc/nofpu/feupdateenv.c
index 163f673..163f673 100644
--- a/ports/sysdeps/powerpc/nofpu/feupdateenv.c
+++ b/sysdeps/powerpc/nofpu/feupdateenv.c
diff --git a/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c b/sysdeps/powerpc/nofpu/fgetexcptflg.c
index 2373fa4..2373fa4 100644
--- a/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c
+++ b/sysdeps/powerpc/nofpu/fgetexcptflg.c
diff --git a/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c b/sysdeps/powerpc/nofpu/fraiseexcpt.c
index cd142b6..cd142b6 100644
--- a/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c
+++ b/sysdeps/powerpc/nofpu/fraiseexcpt.c
diff --git a/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c b/sysdeps/powerpc/nofpu/fsetexcptflg.c
index 3dc368f..3dc368f 100644
--- a/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c
+++ b/sysdeps/powerpc/nofpu/fsetexcptflg.c
diff --git a/ports/sysdeps/powerpc/nofpu/ftestexcept.c b/sysdeps/powerpc/nofpu/ftestexcept.c
index f5d01e8..f5d01e8 100644
--- a/ports/sysdeps/powerpc/nofpu/ftestexcept.c
+++ b/sysdeps/powerpc/nofpu/ftestexcept.c
diff --git a/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h b/sysdeps/powerpc/nofpu/get-rounding-mode.h
index 20eb810..20eb810 100644
--- a/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h
+++ b/sysdeps/powerpc/nofpu/get-rounding-mode.h
diff --git a/ports/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps
index ad5a9cd..ad5a9cd 100644
--- a/ports/sysdeps/powerpc/nofpu/libm-test-ulps
+++ b/sysdeps/powerpc/nofpu/libm-test-ulps
diff --git a/ports/sysdeps/powerpc/nofpu/shlib-versions b/sysdeps/powerpc/nofpu/shlib-versions
index 72085dd..72085dd 100644
--- a/ports/sysdeps/powerpc/nofpu/shlib-versions
+++ b/sysdeps/powerpc/nofpu/shlib-versions
diff --git a/ports/sysdeps/powerpc/nofpu/sim-full.c b/sysdeps/powerpc/nofpu/sim-full.c
index e167033..e167033 100644
--- a/ports/sysdeps/powerpc/nofpu/sim-full.c
+++ b/sysdeps/powerpc/nofpu/sim-full.c
diff --git a/ports/sysdeps/powerpc/nofpu/soft-supp.h b/sysdeps/powerpc/nofpu/soft-supp.h
index 64a3d2a..64a3d2a 100644
--- a/ports/sysdeps/powerpc/nofpu/soft-supp.h
+++ b/sysdeps/powerpc/nofpu/soft-supp.h
diff --git a/ports/sysdeps/powerpc/powerpc32/405/memcmp.S b/sysdeps/powerpc/powerpc32/405/memcmp.S
index 2849461..2849461 100644
--- a/ports/sysdeps/powerpc/powerpc32/405/memcmp.S
+++ b/sysdeps/powerpc/powerpc32/405/memcmp.S
diff --git a/ports/sysdeps/powerpc/powerpc32/405/memcpy.S b/sysdeps/powerpc/powerpc32/405/memcpy.S
index b01d539..b01d539 100644
--- a/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
+++ b/sysdeps/powerpc/powerpc32/405/memcpy.S
diff --git a/ports/sysdeps/powerpc/powerpc32/405/memset.S b/sysdeps/powerpc/powerpc32/405/memset.S
index b73dba8..b73dba8 100644
--- a/ports/sysdeps/powerpc/powerpc32/405/memset.S
+++ b/sysdeps/powerpc/powerpc32/405/memset.S
diff --git a/ports/sysdeps/powerpc/powerpc32/405/strcmp.S b/sysdeps/powerpc/powerpc32/405/strcmp.S
index c0b2190..c0b2190 100644
--- a/ports/sysdeps/powerpc/powerpc32/405/strcmp.S
+++ b/sysdeps/powerpc/powerpc32/405/strcmp.S
diff --git a/ports/sysdeps/powerpc/powerpc32/405/strcpy.S b/sysdeps/powerpc/powerpc32/405/strcpy.S
index d7c8456..d7c8456 100644
--- a/ports/sysdeps/powerpc/powerpc32/405/strcpy.S
+++ b/sysdeps/powerpc/powerpc32/405/strcpy.S
diff --git a/ports/sysdeps/powerpc/powerpc32/405/strlen.S b/sysdeps/powerpc/powerpc32/405/strlen.S
index 77d22ea..77d22ea 100644
--- a/ports/sysdeps/powerpc/powerpc32/405/strlen.S
+++ b/sysdeps/powerpc/powerpc32/405/strlen.S
diff --git a/ports/sysdeps/powerpc/powerpc32/405/strncmp.S b/sysdeps/powerpc/powerpc32/405/strncmp.S
index 3e2ba5f..3e2ba5f 100644
--- a/ports/sysdeps/powerpc/powerpc32/405/strncmp.S
+++ b/sysdeps/powerpc/powerpc32/405/strncmp.S
diff --git a/ports/sysdeps/powerpc/powerpc32/440/Implies b/sysdeps/powerpc/powerpc32/440/Implies
index 70c0d2e..70c0d2e 100644
--- a/ports/sysdeps/powerpc/powerpc32/440/Implies
+++ b/sysdeps/powerpc/powerpc32/440/Implies
diff --git a/ports/sysdeps/powerpc/powerpc32/464/Implies b/sysdeps/powerpc/powerpc32/464/Implies
index c3e52c5..c3e52c5 100644
--- a/ports/sysdeps/powerpc/powerpc32/464/Implies
+++ b/sysdeps/powerpc/powerpc32/464/Implies
diff --git a/ports/sysdeps/powerpc/powerpc32/476/Implies b/sysdeps/powerpc/powerpc32/476/Implies
index 2829f9c..2829f9c 100644
--- a/ports/sysdeps/powerpc/powerpc32/476/Implies
+++ b/sysdeps/powerpc/powerpc32/476/Implies
diff --git a/ports/sysdeps/powerpc/powerpc32/476/memset.S b/sysdeps/powerpc/powerpc32/476/memset.S
index 48c21d6..48c21d6 100644
--- a/ports/sysdeps/powerpc/powerpc32/476/memset.S
+++ b/sysdeps/powerpc/powerpc32/476/memset.S
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
diff --git a/ports/sysdeps/powerpc/soft-fp/sfp-machine.h b/sysdeps/powerpc/soft-fp/sfp-machine.h
index 508d869..508d869 100644
--- a/ports/sysdeps/powerpc/soft-fp/sfp-machine.h
+++ b/sysdeps/powerpc/soft-fp/sfp-machine.h
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies
index 70c0d2e..70c0d2e 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies
index c3e52c5..c3e52c5 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies
index 2829f9c..2829f9c 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies
index 80f9170..80f9170 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies
index 40836b6..40836b6 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h
index 9eb1a95..9eb1a95 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
index 8bc3c7a..8bc3c7a 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data
index fde53bf..fde53bf 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist
index d71611f..d71611f 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist
index f4ca37f..f4ca37f 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist
index c9755d8..c9755d8 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
index 9b6d663..9b6d663 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
index 1df145f..1df145f 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist
index 62e6b41..62e6b41 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist
index 9bd593c..9bd593c 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist
index 4241e2d..4241e2d 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist
index c8a2a04..c8a2a04 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist
index f68333d..f68333d 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist
index af7df27..af7df27 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist
index f331380..f331380 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist
index 7422687..7422687 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data
index 0743b08..0743b08 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
index 5f8653f..5f8653f 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
index de6d56f..de6d56f 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S