Skip to content

Instantly share code, notes, and snippets.

@firasuke
Created September 30, 2020 03:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save firasuke/c60a8fe456b46371991b12288138e153 to your computer and use it in GitHub Desktop.
Save firasuke/c60a8fe456b46371991b12288138e153 to your computer and use it in GitHub Desktop.
Old patch from glaucus adjusted for use in mlfs
--- gcc/config/i386/linux.h
+++ gcc/config/i386/linux.h
@@ -20,7 +20,13 @@
<http://www.gnu.org/licenses/>. */
#define GNU_USER_LINK_EMULATION "elf_i386"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
#undef MUSL_DYNAMIC_LINKER
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER "/tools/lib/ld-musl-i386.so.1"
+
+#undef STANDARD_STARTFILE_PREFIX_1
+#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
+
+#undef STANDARD_STARTFILE_PREFIX_2
+#define STANDARD_STARTFILE_PREFIX_2 ""
--- gcc/config/i386/linux64.h
+++ gcc/config/i386/linux64.h
@@ -27,13 +27,19 @@
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+#define GLIBC_DYNAMIC_LINKER32 "/tools/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/tools/lib/ld-linux-x86-64.so.2"
+#define GLIBC_DYNAMIC_LINKERX32 "/tools/lib/ld-linux-x32.so.2"
#undef MUSL_DYNAMIC_LINKER32
-#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER32 "/tools/lib/ld-musl-i386.so.1"
#undef MUSL_DYNAMIC_LINKER64
-#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
+#define MUSL_DYNAMIC_LINKER64 "/tools/lib/ld-musl-x86_64.so.1"
#undef MUSL_DYNAMIC_LINKERX32
-#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
+#define MUSL_DYNAMIC_LINKERX32 "/tools/lib/ld-musl-x32.so.1"
+
+#undef STANDARD_STARTFILE_PREFIX_1
+#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
+
+#undef STANDARD_STARTFILE_PREFIX_2
+#define STANDARD_STARTFILE_PREFIX_2 ""
--- gcc/config/linux.h
+++ gcc/config/linux.h
@@ -94,19 +94,19 @@
GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
supporting both 32-bit and 64-bit compilation. */
-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER "/tools/lib/ld-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER32 "/tools/lib/ld-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKER64 "/tools/lib/ld64-uClibc.so.0"
+#define UCLIBC_DYNAMIC_LINKERX32 "/tools/lib/ldx32-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
#define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32"
/* Should be redefined for each target that supports musl. */
-#define MUSL_DYNAMIC_LINKER "/dev/null"
-#define MUSL_DYNAMIC_LINKER32 "/dev/null"
-#define MUSL_DYNAMIC_LINKER64 "/dev/null"
-#define MUSL_DYNAMIC_LINKERX32 "/dev/null"
+#define MUSL_DYNAMIC_LINKER "/tools/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER32 "/tools/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER64 "/tools/lib/ld-musl-x86_64.so.1"
+#define MUSL_DYNAMIC_LINKERX32 "/tools/lib/ld-musl-x32.so.1"
#define GNU_USER_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
@@ -221,3 +221,9 @@
# define TARGET_LIBC_HAS_FUNCTION linux_libc_has_function
#endif
+
+#undef STANDARD_STARTFILE_PREFIX_1
+#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
+
+#undef STANDARD_STARTFILE_PREFIX_2
+#define STANDARD_STARTFILE_PREFIX_2 ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment