📄 100-uclibc-conf.patch
字号:
--- gcc-4.1.0/gcc/config/t-linux-uclibc+++ gcc-4.1.0/gcc/config/t-linux-uclibc@@ -0,0 +1,5 @@+# Remove glibc specific files added in t-linux+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))--- gcc-4.1.0/gcc/config.gcc+++ gcc-4.1.0/gcc/config.gcc@@ -1887,7 +1887,7 @@ s390x-ibm-tpf*) ;; sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \- sh-*-linux* | sh[346lbe]*-*-linux* | \+ sh*-*-linux* | sh[346lbe]*-*-linux* | \ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ sh64-*-netbsd* | sh64l*-*-netbsd*) tmake_file="${tmake_file} sh/t-sh sh/t-elf"@@ -2341,6 +2341,12 @@ m32c-*-elf*) ;; esac +# Rather than hook into each target, just do it after all the linux+# targets have been processed+case ${target} in+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"+esac+ case ${target} in i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1) tmake_file="${tmake_file} i386/t-gmm_malloc"--- gcc-4.1.0/boehm-gc/configure+++ gcc-4.1.0/boehm-gc/configure@@ -4320,6 +4320,11 @@ linux-gnu*) lt_cv_deplibs_check_method=pass_all ;; +linux-uclibc*)+ lt_cv_deplibs_check_method=pass_all+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`+ ;;+ netbsd* | knetbsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'--- gcc-4.1.0/configure+++ gcc-4.1.0/configure@@ -1133,7 +1133,7 @@ no) ;; "") case "${target}" in- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) # Enable libmudflap by default in GNU and friends. ;; *-*-freebsd*)--- gcc-4.1.0/configure.in+++ gcc-4.1.0/configure.in@@ -341,7 +341,7 @@ no) ;; "") case "${target}" in- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) # Enable libmudflap by default in GNU and friends. ;; *-*-freebsd*)--- gcc-4.1.0/contrib/regression/objs-gcc.sh+++ gcc-4.1.0/contrib/regression/objs-gcc.sh@@ -105,6 +105,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H then make all-gdb all-dejagnu all-ld || exit 1 make install-gdb install-dejagnu install-ld || exit 1+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]+ then+ make all-gdb all-dejagnu all-ld || exit 1+ make install-gdb install-dejagnu install-ld || exit 1 elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then make bootstrap || exit 1 make install || exit 1--- gcc-4.1.0/gcc/config/alpha/linux-elf.h+++ gcc-4.1.0/gcc/config/alpha/linux-elf.h@@ -27,7 +27,11 @@ Boston, MA 02110-1301, USA. */ #define SUBTARGET_EXTRA_SPECS \ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER }, +#if defined USE_UCLIBC+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"+#else #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"+#endif #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ %{O*:-O3} %{!O*:-O1} \--- gcc-4.1.0/gcc/config/arm/linux-elf.h+++ gcc-4.1.0/gcc/config/arm/linux-elf.h@@ -51,7 +51,11 @@ #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" +#ifdef USE_UCLIBC+#define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"+#else #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"+#endif #define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \ %{b} \--- gcc-4.1.0/gcc/config/cris/linux.h+++ gcc-4.1.0/gcc/config/cris/linux.h@@ -73,6 +73,25 @@ Boston, MA 02110-1301, USA. */ #undef CRIS_DEFAULT_CPU_VERSION #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG +#ifdef USE_UCLIBC++#undef CRIS_SUBTARGET_VERSION+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"++#undef CRIS_LINK_SUBTARGET_SPEC+#define CRIS_LINK_SUBTARGET_SPEC \+ "-mcrislinux\+ -rpath-link include/asm/../..%s\+ %{shared} %{static}\+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\+ %{!shared: \+ %{!static: \+ %{rdynamic:-export-dynamic} \+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \+ %{!r:%{O2|O3: --gc-sections}}"++#else /* USE_UCLIBC */+ #undef CRIS_SUBTARGET_VERSION #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu" @@ -87,6 +106,8 @@ Boston, MA 02110-1301, USA. */ %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\ %{!r:%{O2|O3: --gc-sections}}" +#endif /* USE_UCLIBC */+ /* Node: Run-time Target */ --- gcc-4.1.0/gcc/config/i386/linux.h+++ gcc-4.1.0/gcc/config/i386/linux.h@@ -107,6 +107,11 @@ Boston, MA 02110-1301, USA. */ #define LINK_EMULATION "elf_i386" #define DYNAMIC_LINKER "/lib/ld-linux.so.2" +#if defined USE_UCLIBC+#undef DYNAMIC_LINKER+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"+#endif+ #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ { "link_emulation", LINK_EMULATION },\--- gcc-4.1.0/gcc/config/i386/linux64.h+++ gcc-4.1.0/gcc/config/i386/linux64.h@@ -54,14 +54,21 @@ Boston, MA 02110-1301, USA. */ When the -shared link option is used a final link is not being done. */ +#ifdef USE_UCLIBC+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"+#else+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"+#endif #undef LINK_SPEC #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ %{shared:-shared} \ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \ %{static:-static}}" /* Similar to standard Linux, but adding -ffast-math support. */--- gcc-4.1.0/gcc/config/ia64/linux.h+++ gcc-4.1.0/gcc/config/ia64/linux.h@@ -37,13 +37,18 @@ do { \ /* Define this for shared library support because it isn't in the main linux.h file. */ +#ifdef USE_UCLIBC+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"+#else+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"+#endif #undef LINK_SPEC #define LINK_SPEC "\ %{shared:-shared} \ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \ %{static:-static}}" --- gcc-4.1.0/gcc/config/m68k/linux.h+++ gcc-4.1.0/gcc/config/m68k/linux.h@@ -123,12 +123,17 @@ Boston, MA 02110-1301, USA. */ /* If ELF is the default format, we should not use /lib/elf. */ +#ifdef USE_UCLIBC+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"+#else+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"+#endif #undef LINK_SPEC #define LINK_SPEC "-m m68kelf %{shared} \ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \ %{static}}" /* For compatibility with linux/a.out */--- gcc-4.1.0/gcc/config/mips/linux.h+++ gcc-4.1.0/gcc/config/mips/linux.h@@ -105,6 +105,11 @@ Boston, MA 02110-1301, USA. */ /* Borrowed from sparc/linux.h */ #undef LINK_SPEC+#ifdef USE_UCLIBC+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"+#else+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"+#endif #define LINK_SPEC \ "%(endian_spec) \ %{shared:-shared} \@@ -112,7 +117,7 @@ Boston, MA 02110-1301, USA. */ %{!ibcs: \ %{!static: \ %{rdynamic:-export-dynamic} \- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \ %{static:-static}}}" #undef SUBTARGET_ASM_SPEC--- gcc-4.1.0/gcc/config/pa/pa-linux.h+++ gcc-4.1.0/gcc/config/pa/pa-linux.h@@ -49,13 +49,18 @@ Boston, MA 02110-1301, USA. */ /* Define this for shared library support because it isn't in the main linux.h file. */ +#ifdef USE_UCLIBC+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"+#else+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"+#endif #undef LINK_SPEC #define LINK_SPEC "\ %{shared:-shared} \ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \ %{static:-static}}"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -