diff --git a/lfs/glibc b/lfs/glibc
index f9959c6e3..182b75eb5 100644
--- a/lfs/glibc
+++ b/lfs/glibc
@@ -125,12 +125,13 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	@mkdir $(DIR_SRC)/glibc-build
 
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-localedef-no-archive.patch
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-localedef-no-archive.patch
 
 ifneq "$(TOOLCHAIN)" "1"
  ifeq "$(BUILD_ARCH)" "x86_64"
 	cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib64 -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 -o|' \
 		scripts/test-installation.pl
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/glibc/remove_extra_lib64_libx32_references_from_ldconfig_for_pure64.patch
  endif
 
  ifeq "$(BUILD_ARCH)" "i586"
diff --git a/src/patches/glibc-localedef-no-archive.patch b/src/patches/glibc/glibc-localedef-no-archive.patch
similarity index 54%
rename from src/patches/glibc-localedef-no-archive.patch
rename to src/patches/glibc/glibc-localedef-no-archive.patch
index 40bc68dc3..f4d040ff7 100644
--- a/src/patches/glibc-localedef-no-archive.patch
+++ b/src/patches/glibc/glibc-localedef-no-archive.patch
@@ -1,10 +1,11 @@
---- glibc-2.27/localedata/Makefile~	2018-02-07 22:31:00.968944449 +0000
-+++ glibc-2.27/localedata/Makefile	2018-02-07 22:31:26.201764894 +0000
-@@ -223,6 +223,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo
+diff -U 3 a/localedata/Makefile b/localedata/Makefile
+--- a/localedata/Makefile	Sat Feb  1 12:52:50 2020
++++ b/localedata/Makefile	Thu May 14 10:53:33 2020
+@@ -434,6 +434,7 @@
  	echo -n '...'; \
  	input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
  	$(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
 +		     --no-archive \
  		     -i locales/$$input -f charmaps/$$charset \
  		     $(addprefix --prefix=,$(install_root)) $$locale \
- 	&& echo ' done'; \
+ 	&& echo ' done';
diff --git a/src/patches/glibc/remove_extra_lib64_libx32_references_from_ldconfig_for_pure64.patch b/src/patches/glibc/remove_extra_lib64_libx32_references_from_ldconfig_for_pure64.patch
new file mode 100644
index 000000000..900e702fb
--- /dev/null
+++ b/src/patches/glibc/remove_extra_lib64_libx32_references_from_ldconfig_for_pure64.patch
@@ -0,0 +1,27 @@
+diff -U 3 a/sysdeps/unix/sysv/linux/x86_64/dl-cache.h b/sysdeps/unix/sysv/linux/x86_64/dl-cache.h
+--- a/sysdeps/unix/sysv/linux/x86_64/dl-cache.h	Thu May 14 01:13:16 2020
++++ b/sysdeps/unix/sysv/linux/x86_64/dl-cache.h	Thu May 14 01:19:49 2020
+@@ -27,6 +27,9 @@
+       size_t len = strlen (dir);				\
+       char path[len + 4];					\
+       memcpy (path, dir, len + 1);				\
++add_dir (path); \
++} while (0)
++#define unused_var \
+       if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6))	\
+ 	{							\
+ 	  len -= 2;						\
+diff -U 3 a/sysdeps/unix/sysv/linux/x86_64/ldconfig.h b/sysdeps/unix/sysv/linux/x86_64/ldconfig.h
+--- a/sysdeps/unix/sysv/linux/x86_64/ldconfig.h	Thu May 14 01:13:16 2020
++++ b/sysdeps/unix/sysv/linux/x86_64/ldconfig.h	Thu May 14 01:20:00 2020
+@@ -18,9 +18,7 @@
+ #include <sysdeps/generic/ldconfig.h>
+ 
+ #define SYSDEP_KNOWN_INTERPRETER_NAMES \
+-  { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \
+-  { "/libx32/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \
+-  { "/lib64/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
++  { "/lib/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
+ #define SYSDEP_KNOWN_LIBRARY_NAMES \
+   { "libc.so.6", FLAG_ELF_LIBC6 },	\
+   { "libm.so.6", FLAG_ELF_LIBC6 },
