Browse Source

Fix dynamic linking bug. If you need -ldl, you must explicitly add the
library (path and version!!!) to the args instead. For example, add
/lib/libdl.so.1 if DYNAMIC_LINKER is /lib/ld-linux.so.1.

Manuel Novoa III 24 years ago
parent
commit
7b6a9548ee
1 changed files with 1 additions and 5 deletions
  1. 1 5
      extra/gcc-uClibc/gcc-uClibc.c

+ 1 - 5
extra/gcc-uClibc/gcc-uClibc.c

@@ -140,8 +140,7 @@ int main(int argc, char **argv)
 				}
 			} else {
 				if (DYNAMIC_LINKER[0]) { /* not empty string */
-					gcc_argv[i++] = "-Wl,--dynamic-linker";
-					gcc_argv[i++] = DYNAMIC_LINKER;
+					gcc_argv[i++] = "-Wl,--dynamic-linker,"DYNAMIC_LINKER;
 				}
 				if (debugging) {
 					gcc_argv[i++] = UCLIBC_SHAREDLIB_G;
@@ -150,9 +149,6 @@ int main(int argc, char **argv)
 				}
 			}
 			gcc_argv[i++] = GCC_LIB;
-			if (!use_static_linking && DYNAMIC_LINKER[0]) {
-			    gcc_argv[i++] = DYNAMIC_LINKER;
-			}
 		}
 	}
 	gcc_argv[i++] = NULL;