diff --git a/ld/ChangeLog b/ld/ChangeLog
index c3c29060306..5a1fe277085 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,15 @@
+2014-06-25  Nick Clifton  <nickc@redhat.com>
+
+	* Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from
+	here...
+	(ALL_64_EMULATION_SOURCES): ... to here.
+	(ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here...
+	(ALL_64_EMUL_EXTRA_OFILES): New.  ... to here.
+	* configure.in (EMUL_EXTRA_OFILES): Include
+	ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+
 2014-06-18  Andreas Tobler  <andreast@fgznet.ch>
 
 	* configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls.
diff --git a/ld/Makefile.am b/ld/Makefile.am
index c537fa70fb0..24560a0e011 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -318,7 +318,6 @@ ALL_EMULATION_SOURCES = \
 	ei386nw.c \
 	ei386pe.c \
 	ei386pe_posix.c \
-	ei386pep.c \
 	elnk960.c \
 	em32relf.c \
 	em32relf_linux.c \
@@ -480,6 +479,7 @@ ALL_64_EMULATION_SOURCES = \
 	eelf_x86_64_nacl.c \
 	eelf_x86_64_sol2.c \
 	ehppa64linux.c \
+	ei386pep.c \
 	emmo.c \
 	eshelf64.c \
 	eshelf64_nbsd.c \
@@ -490,7 +490,9 @@ ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
 
 ALL_EMUL_EXTRA_OFILES = \
 	deffilep.@OBJEXT@ \
-	pe-dll.@OBJEXT@ \
+	pe-dll.@OBJEXT@
+
+ALL_64_EMUL_EXTRA_OFILES = \
 	pep-dll.@OBJEXT@
 
 CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 370a5a51d0d..377fbd880a5 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -625,7 +625,6 @@ ALL_EMULATION_SOURCES = \
 	ei386nw.c \
 	ei386pe.c \
 	ei386pe_posix.c \
-	ei386pep.c \
 	elnk960.c \
 	em32relf.c \
 	em32relf_linux.c \
@@ -786,6 +785,7 @@ ALL_64_EMULATION_SOURCES = \
 	eelf_x86_64_nacl.c \
 	eelf_x86_64_sol2.c \
 	ehppa64linux.c \
+	ei386pep.c \
 	emmo.c \
 	eshelf64.c \
 	eshelf64_nbsd.c \
@@ -795,7 +795,9 @@ ALL_64_EMULATION_SOURCES = \
 ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
 ALL_EMUL_EXTRA_OFILES = \
 	deffilep.@OBJEXT@ \
-	pe-dll.@OBJEXT@ \
+	pe-dll.@OBJEXT@
+
+ALL_64_EMUL_EXTRA_OFILES = \
 	pep-dll.@OBJEXT@
 
 CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
diff --git a/ld/configure b/ld/configure
index 6dd7bc6f75a..4942c2d71f4 100755
--- a/ld/configure
+++ b/ld/configure
@@ -16959,10 +16959,11 @@ TDIRS=tdirs
 if test x${all_targets} = xtrue; then
   if test x${want64} = xtrue; then
     EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)'
+    EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES) $(ALL_64_EMUL_EXTRA_OFILES)'
   else
     EMULATION_OFILES='$(ALL_EMULATIONS)'
+    EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
   fi
-  EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
 else
   EMULATION_OFILES=$all_emuls
   EMUL_EXTRA_OFILES=$all_emul_extras
diff --git a/ld/configure.in b/ld/configure.in
index d8607e21520..1ac69a39f28 100644
--- a/ld/configure.in
+++ b/ld/configure.in
@@ -365,10 +365,11 @@ AC_SUBST_FILE(TDIRS)
 if test x${all_targets} = xtrue; then
   if test x${want64} = xtrue; then
     EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)'
+    EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES) $(ALL_64_EMUL_EXTRA_OFILES)'
   else
     EMULATION_OFILES='$(ALL_EMULATIONS)'
+    EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
   fi
-  EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
 else
   EMULATION_OFILES=$all_emuls
   EMUL_EXTRA_OFILES=$all_emul_extras