⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 100-uclibc-conf.patch

📁 用于生成linux操作系统下的交叉编译工具链和嵌入式linux系统的根文件系统,支持x86、arm、powerpc等处理器
💻 PATCH
字号:
Warning!  The powerpc patch (rs6000/linux.h) is hack-ish and woulddefinitely need to be improved to be acceptable upstream.  Also,this patch isn't complete as it only supports i386, arm, mips, andpowerpc (rs6000).diff -urN gcc-20011006/config.sub gcc-20011006-new/config.sub--- gcc-20011006/config.sub	2004-01-13 06:15:28.000000000 -0600+++ gcc-20011006-new/config.sub	2004-01-10 11:09:35.000000000 -0600@@ -68,7 +68,7 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in-  linux-gnu*)+  linux-gnu* | linux-uclibc*)     os=-$maybe_os     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`     ;;@@ -936,7 +936,8 @@ 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \+	      | -mingw32* | -linux-gnu* | -linux-uclibc* \+	      | -uxpv* | -beos* | -mpeix* | -udk* \ 	      | -interix* | -uwin* ) 	# Remember, each alternative MUST END IN *, to match a version number. 		;;diff -urN gcc-20011006/gcc/config/arm/linux-elf.h gcc-20011006-new/gcc/config/arm/linux-elf.h--- gcc-20011006/gcc/config/arm/linux-elf.h	2004-01-13 06:15:28.000000000 -0600+++ gcc-20011006-new/gcc/config/arm/linux-elf.h	2004-01-10 11:12:11.000000000 -0600@@ -90,6 +90,18 @@ #define ENDFILE_SPEC \   "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" +#ifdef USE_UCLIBC+#define LINK_SPEC "%{h*} %{version:-v} \+   %{b} %{Wl,*:%*} \+   %{static:-Bstatic} \+   %{shared:-shared} \+   %{symbolic:-Bsymbolic} \+   %{rdynamic:-export-dynamic} \+   %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \+   -X \+   %{mbig-endian:-EB}" \+   SUBTARGET_EXTRA_LINK_SPEC+#else #define LINK_SPEC "%{h*} %{version:-v} \    %{b} %{Wl,*:%*} \    %{static:-Bstatic} \@@ -100,6 +112,7 @@    -X \    %{mbig-endian:-EB}" \    SUBTARGET_EXTRA_LINK_SPEC+#endif  #undef  CPP_PREDEFINES #define CPP_PREDEFINES \diff -urN gcc-20011006/gcc/config/i386/linux.h gcc-20011006-new/gcc/config/i386/linux.h--- gcc-20011006/gcc/config/i386/linux.h	2001-04-03 17:38:59.000000000 -0500+++ gcc-20011006-new/gcc/config/i386/linux.h	2004-01-10 11:15:38.000000000 -0600@@ -199,6 +199,15 @@ 	%{static:-static}}}" #endif #else+#if defined USE_UCLIBC+#define LINK_SPEC "-m elf_i386 %{shared:-shared} \+  %{!shared: \+    %{!ibcs: \+      %{!static: \+	%{rdynamic:-export-dynamic} \+	%{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \+	%{static:-static}}}"+#else #define LINK_SPEC "-m elf_i386 %{shared:-shared} \   %{!shared: \     %{!ibcs: \@@ -207,6 +216,7 @@ 	%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ 	%{static:-static}}}" #endif+#endif  /* Get perform_* macros to build libgcc.a.  */ #include "i386/perform.h"diff -urN gcc-20011006/gcc/config/mips/linux.h gcc-20011006-new/gcc/config/mips/linux.h--- gcc-20011006/gcc/config/mips/linux.h	2004-01-13 06:15:28.000000000 -0600+++ gcc-20011006-new/gcc/config/mips/linux.h	2004-01-10 11:16:39.000000000 -0600@@ -154,6 +154,17 @@  /* Borrowed from sparc/linux.h */ #undef LINK_SPEC+#ifdef USE_UCLIBC+#define LINK_SPEC \+ "%(endian_spec) \+  %{shared:-shared} \+  %{!shared: \+    %{!ibcs: \+      %{!static: \+        %{rdynamic:-export-dynamic} \+        %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \+        %{static:-static}}}"+#else #define LINK_SPEC \  "%(endian_spec) \   %{shared:-shared} \@@ -163,6 +174,7 @@         %{rdynamic:-export-dynamic} \         %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \         %{static:-static}}}"+#endif   #undef SUBTARGET_ASM_SPECdiff -urN old/gcc-20011006/gcc/config/mips/t-linux-uclibc gcc-20011006/gcc/config/mips/t-linux-uclibc--- old/gcc-20011006/gcc/config/mips/t-linux-uclibc	1969-12-31 18:00:00.000000000 -0600+++ gcc-20011006/gcc/config/mips/t-linux-uclibc	2004-01-14 02:51:10.000000000 -0600@@ -0,0 +1 @@+T_CFLAGS = -DUSE_UCLIBCdiff -urN gcc-20011006/gcc/config/rs6000/linux.h gcc-20011006-new/gcc/config/rs6000/linux.h--- gcc-20011006/gcc/config/rs6000/linux.h	2001-04-03 17:38:59.000000000 -0500+++ gcc-20011006-new/gcc/config/rs6000/linux.h	2004-01-10 11:15:38.000000000 -0600@@ -36,12 +36,21 @@ #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"  #undef LINK_SPEC+#ifdef USE_UCLIBC+#define LINK_SPEC "-m elf32ppclinux %{G*} %{shared:-shared} \+  %{!shared: \+    %{!static: \+      %{rdynamic:-export-dynamic} \+      %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \+    %{static:-static}}"+#else #define LINK_SPEC "-m elf32ppclinux %{G*} %{shared:-shared} \   %{!shared: \     %{!static: \       %{rdynamic:-export-dynamic} \       %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \     %{static:-static}}"+#endif  #undef	LIB_DEFAULT_SPEC #define LIB_DEFAULT_SPEC "%(lib_linux)"diff -urN gcc-20011006/gcc/config/t-linux-uclibc gcc-20011006-new/gcc/config/t-linux-uclibc--- gcc-20011006/gcc/config/t-linux-uclibc	1969-12-31 18:00:00.000000000 -0600+++ gcc-20011006-new/gcc/config/t-linux-uclibc	2004-01-10 11:18:46.000000000 -0600@@ -0,0 +1,18 @@+T_CFLAGS = -DUSE_UCLIBC++# Don't run fixproto+STMP_FIXPROTO =++# Don't install "assert.h" in gcc. We use the one in glibc.+INSTALL_ASSERT_H =++# Compile crtbeginS.o and crtendS.o with pic.+CRTSTUFF_T_CFLAGS_S = -fPIC+# Compile libgcc2.a with pic.+TARGET_LIBGCC2_CFLAGS = -fPIC++# Do not build libgcc1. Let gcc generate those functions. The GNU/Linux+# C library can handle them.+LIBGCC1 = +CROSS_LIBGCC1 =+LIBGCC1_TEST =diff -urN gcc-20011006/gcc/configure gcc-20011006-new/gcc/configure--- gcc-20011006/gcc/configure	2004-01-13 06:15:28.000000000 -0600+++ gcc-20011006-new/gcc/configure	2004-01-10 11:28:54.000000000 -0600@@ -3219,6 +3219,24 @@ 			;; 		esac 		;;+	arm*-*-linux-uclibc*)		# ARM GNU/Linux with ELF - uClibc+		xm_file=arm/xm-linux.h+		xmake_file=x-linux+		tm_file="arm/linux-elf.h"+		case $machine in+		armv2*-*-*)+			tm_file="arm/linux-elf26.h $tm_file"+			;;+		esac+		tmake_file="t-linux-uclibc arm/t-linux"+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"+		gnu_ld=yes+		case x${enable_threads} in+		x | xyes | xpthreads | xposix)+			thread_file='posix'+			;;+		esac+		;; 	arm*-*-aout) 		tm_file=arm/aout.h 		tmake_file=arm/t-bare@@ -3631,6 +3649,18 @@  			thread_file='single'  		fi 		;;+	i[34567]86-*-linux*uclibc*)	# Intel 80386's running GNU/Linux+					# with ELF format using uClibc+		xmake_file=x-linux+		tm_file=i386/linux.h+		tmake_file="t-linux-uclibc i386/t-crtstuff"+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"+		gnu_ld=yes+		float_format=i386+ 		if test x$enable_threads = xyes; then+ 			thread_file='posix'+ 		fi+		;; 	i[34567]86-*-linux-gnu*)	# Intel 80386's running GNU/Linux 					# aka GNU/Linux C library 6 		xmake_file=x-linux@@ -4696,7 +4726,19 @@ 		# On NetBSD, the headers are already okay, except for math.h. 		tmake_file=t-netbsd 		;;-       mips*-*-linux*)                         # Linux MIPS, either endian.+	mips*-*-linux-uclibc*)          # Linux (uclibc) MIPS, either endian.+		tmake_file=mips/t-linux-uclibc+		xmake_file=x-linux+		xm_file="xm-siglist.h ${xm_file}"+               case $machine in+                       mipsel-*)  tm_file="mips/elfl.h mips/linux.h" ;;+                       *)         tm_file="mips/elf.h mips/linux.h" ;;+               esac+		extra_parts="crtbegin.o crtend.o"+		gnu_ld=yes+		gas=yes+		;;+	mips*-*-linux*)                         # Linux MIPS, either endian. 		xmake_file=x-linux 		xm_file="xm-siglist.h ${xm_file}"                case $machine in@@ -5159,6 +5201,24 @@ 			thread_file='posix' 		fi 		;;+	powerpc-*-linux-uclibc*)+		tm_file=rs6000/linux.h+		xm_file="xm-siglist.h rs6000/xm-sysv4.h"+		xm_defines="USG ${xm_defines}"+		out_file=rs6000/rs6000.c+		if test x$gas = xyes+		then+			tmake_file="rs6000/t-ppcos t-linux-uclibc rs6000/t-ppccomm"+		else+			tmake_file="rs6000/t-ppc t-linux-uclibc rs6000/t-ppccomm"+		fi+		xmake_file=x-linux+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"+		extra_headers=ppc-asm.h+		if test x$enable_threads = xyes; then+			thread_file='posix'+		fi+		;;         powerpc-wrs-vxworks*)                 cpu_type=rs6000 		xm_file="xm-siglist.h rs6000/xm-sysv4.h"diff -urN gcc-20011006/ltconfig gcc-20011006-new/ltconfig--- gcc-20011006/ltconfig	1999-06-21 21:35:12.000000000 -0500+++ gcc-20011006-new/ltconfig	2004-01-10 11:34:23.000000000 -0600@@ -436,6 +436,7 @@ # Transform linux* to *-*-linux-gnu*, to support old configure scripts. case "$host_os" in linux-gnu*) ;;+linux-uclibc*) ;; linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` esac @@ -1773,6 +1774,22 @@   fi   ;; +linux-uclibc*)+  version_type=linux+  need_lib_prefix=no+  need_version=no+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'+  soname_spec='${libname}${release}.so$major'+  finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'+  shlibpath_var=LD_LIBRARY_PATH+  shlibpath_overrides_runpath=no+  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'+  file_magic_cmd=/usr/bin/file+  file_magic_test_file=`echo /lib/libuClibc-*.so`+  # Assume using the uClibc dynamic linker.+  dynamic_linker="uClibc ld.so"+  ;;+ netbsd*)   version_type=sunos   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -