diff options
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch | 135 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch | 91 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch | 148 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/arm-tune.patch | 9 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/bash3.patch | 20 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch | 1593 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-110-conf.patch | 55 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-120-softfloat.patch | 14 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-200-code.patch | 3021 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/gcc34-15089.patch | 19 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/libibery-crosstool.patch | 683 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/reverse-compare.patch | 31 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-3.3.4/sdk-libstdc++-includes.patch | 48 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-cross-initial_3.3.4.bb | 2 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc-cross_3.3.4.bb | 13 | ||||
| -rw-r--r-- | meta/packages/gcc/gcc_3.3.4.bb | 169 |
16 files changed, 0 insertions, 6051 deletions
diff --git a/meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch b/meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch deleted file mode 100644 index 610f9430e0..0000000000 --- a/meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch +++ /dev/null @@ -1,135 +0,0 @@ -#! /bin/sh -e - -src=gcc -if [ $# -eq 3 -a "$2" = '-d' ]; then - pdir="-d $3" - src=$3/gcc -elif [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) - patch $pdir -f --no-backup-if-mismatch -p0 --fuzz 10 < $0 - ;; - -unpatch) - patch $pdir -f --no-backup-if-mismatch -R -p0 --fuzz 10 < $0 - ;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -# DP: use GOTOFF not GOT relocs for .LCn and other local symbols; -# DP: don't use gotoff for non-static functions, even if defined locally - ---- gcc/config/arm/arm.c 2003-06-14 15:20:53.000000000 +0100 -+++ gcc/config/arm/arm.c 2004-03-06 15:15:32.000000000 +0000 -@@ -2364,6 +2394,40 @@ - return 1; - } - -+/* Return true if OP is a symbolic operand that resolves locally. */ -+ -+static int -+local_symbolic_operand (op, mode) -+ rtx op; -+ enum machine_mode mode ATTRIBUTE_UNUSED; -+{ -+ if (GET_CODE (op) == CONST -+ && GET_CODE (XEXP (op, 0)) == PLUS -+ && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT) -+ op = XEXP (XEXP (op, 0), 0); -+ -+ if (GET_CODE (op) == LABEL_REF) -+ return 1; -+ -+ if (GET_CODE (op) != SYMBOL_REF) -+ return 0; -+ -+ /* These we've been told are local by varasm and encode_section_info -+ respectively. */ -+ if (CONSTANT_POOL_ADDRESS_P (op) || ENCODED_LOCAL_BINDING_ATTR_P (XSTR (op, 0))) -+ return 1; -+ -+ /* There is, however, a not insubstantial body of code in the rest of -+ the compiler that assumes it can just stick the results of -+ ASM_GENERATE_INTERNAL_LABEL in a symbol_ref and have done. */ -+ /* ??? This is a hack. Should update the body of the compiler to -+ always create a DECL an invoke targetm.encode_section_info. */ -+ if (strncmp (arm_strip_name_encoding (XSTR (op, 0)), ".L", 2) == 0) -+ return 1; -+ -+ return 0; -+} -+ - rtx - legitimize_pic_address (orig, mode, reg) - rtx orig; -@@ -2404,10 +2468,7 @@ - else - emit_insn (gen_pic_load_addr_thumb (address, orig)); - -- if ((GET_CODE (orig) == LABEL_REF -- || (GET_CODE (orig) == SYMBOL_REF && -- ENCODED_SHORT_CALL_ATTR_P (XSTR (orig, 0)))) -- && NEED_GOT_RELOC) -+ if (local_symbolic_operand (orig, Pmode) && NEED_GOT_RELOC) - pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address); - else - { -@@ -8804,11 +8911,7 @@ - if (NEED_GOT_RELOC && flag_pic && making_const_table && - (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == LABEL_REF)) - { -- if (GET_CODE (x) == SYMBOL_REF -- && (CONSTANT_POOL_ADDRESS_P (x) -- || ENCODED_SHORT_CALL_ATTR_P (XSTR (x, 0)))) -- fputs ("(GOTOFF)", asm_out_file); -- else if (GET_CODE (x) == LABEL_REF) -+ if (local_symbolic_operand (x, Pmode)) - fputs ("(GOTOFF)", asm_out_file); - else - fputs ("(GOT)", asm_out_file); -@@ -11335,6 +11418,11 @@ - else if (! TREE_PUBLIC (decl)) - arm_encode_call_attribute (decl, SHORT_CALL_FLAG_CHAR); - } -+ -+ if (TREE_CODE_CLASS (TREE_CODE (decl)) == 'd' -+ && flag_pic -+ && (*targetm.binds_local_p) (decl)) -+ arm_encode_call_attribute (decl, LOCAL_BINDING_FLAG_CHAR); - } - #endif /* !ARM_PE */ - - ---- gcc/config/arm/arm.h Fri Mar 5 18:49:44 2004 -+++ gcc/config/arm/arm.h Fri Mar 5 15:04:31 2004 -@@ -1870,6 +1870,7 @@ - Note, '@' and '*' have already been taken. */ - #define SHORT_CALL_FLAG_CHAR '^' - #define LONG_CALL_FLAG_CHAR '#' -+#define LOCAL_BINDING_FLAG_CHAR '%' - - #define ENCODED_SHORT_CALL_ATTR_P(SYMBOL_NAME) \ - (*(SYMBOL_NAME) == SHORT_CALL_FLAG_CHAR) -@@ -1877,6 +1878,9 @@ - #define ENCODED_LONG_CALL_ATTR_P(SYMBOL_NAME) \ - (*(SYMBOL_NAME) == LONG_CALL_FLAG_CHAR) - -+#define ENCODED_LOCAL_BINDING_ATTR_P(SYMBOL_NAME) \ -+ (*(SYMBOL_NAME) == LOCAL_BINDING_FLAG_CHAR) -+ - #ifndef SUBTARGET_NAME_ENCODING_LENGTHS - #define SUBTARGET_NAME_ENCODING_LENGTHS - #endif -@@ -1888,6 +1892,7 @@ - #define ARM_NAME_ENCODING_LENGTHS \ - case SHORT_CALL_FLAG_CHAR: return 1; \ - case LONG_CALL_FLAG_CHAR: return 1; \ -+ case LOCAL_BINDING_FLAG_CHAR: return 1; \ - case '*': return 1; \ - SUBTARGET_NAME_ENCODING_LENGTHS - diff --git a/meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch b/meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch deleted file mode 100644 index 83b07e0343..0000000000 --- a/meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch +++ /dev/null @@ -1,91 +0,0 @@ -2004-03-19 Philip Blundell <philb@gnu.org> - - * config/arm/arm.c (adjacent_mem_locations): Reject location pairs - where both offsets are nonzero if target is Harvard architecture. - (load_multiple_sequence, store_multiple_sequence): Avoid two-word - LDM/STM on XScale unless -Os. - * config/arm/arm.md (arith_adjacentmem): Inhibit if tuning for - XScale and not -Os. - * genpeep.c: Have generated code include flags.h. - ---- gcc/genpeep.c~ 2001-12-02 00:04:19.000000000 +0000 -+++ gcc/genpeep.c 2004-03-19 11:17:18.000000000 +0000 -@@ -402,6 +402,7 @@ - printf ("#include \"recog.h\"\n"); - printf ("#include \"except.h\"\n\n"); - printf ("#include \"function.h\"\n\n"); -+ printf ("#include \"flags.h\"\n\n"); - - printf ("#ifdef HAVE_peephole\n"); - printf ("extern rtx peep_operand[];\n\n"); - ---- gcc/config/arm/arm.md~ 2004-03-11 15:28:01.000000000 +0000 -+++ gcc/config/arm/arm.md 2004-03-19 13:00:03.000000000 +0000 -@@ -7958,13 +7958,16 @@ - (set_attr "length" "4,8,8")] - ) - -+; Try to convert LDR+LDR+arith into [add+]LDM+arith -+; On XScale, LDM is always slower than two LDRs, so only do this if -+; optimising for size. - (define_insn "*arith_adjacentmem" - [(set (match_operand:SI 0 "s_register_operand" "=r") - (match_operator:SI 1 "shiftable_operator" - [(match_operand:SI 2 "memory_operand" "m") - (match_operand:SI 3 "memory_operand" "m")])) - (clobber (match_scratch:SI 4 "=r"))] -- "TARGET_ARM && adjacent_mem_locations (operands[2], operands[3])" -+ "TARGET_ARM && (!arm_tune_xscale || optimize_size) && adjacent_mem_locations (operands[2], operands[3])" - "* - { - rtx ldm[3]; -@@ -7999,7 +8002,9 @@ - } - if (val1 && val2) - { -+ /* This would be a loss on a Harvard core, but adjacent_mem_locations() -+ will prevent it from happening. */ - rtx ops[3]; - ldm[0] = ops[0] = operands[4]; - ops[1] = XEXP (XEXP (operands[2], 0), 0); - ---- gcc/config/arm/arm.c~ 2004-03-11 15:28:01.000000000 +0000 -+++ gcc/config/arm/arm.c 2004-03-19 15:36:03.000000000 +0000 -@@ -3818,8 +3818,11 @@ - sequence. */ - if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1)) - return 0; -- -- return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4); -+ -+ /* For Harvard cores, only accept pairs where one offset is zero. -+ See comment in load_multiple_sequence. */ -+ return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4) -+ && (!arm_ld_sched || val0 == 0 || val1 == 0); - } - return 0; - } -@@ -4075,6 +4078,11 @@ - *load_offset = unsorted_offsets[order[0]]; - } - -+ /* For XScale a two-word LDM is a performance loss, so only do this if -+ size is more important. See comments in arm_gen_load_multiple. */ -+ if (nops == 2 && arm_tune_xscale && !optimize_size) -+ return 0; -+ - if (unsorted_offsets[order[0]] == 0) - return 1; /* ldmia */ - -@@ -4307,6 +4315,11 @@ - *load_offset = unsorted_offsets[order[0]]; - } - -+ /* For XScale a two-word LDM is a performance loss, so only do this if -+ size is more important. See comments in arm_gen_load_multiple. */ -+ if (nops == 2 && arm_tune_xscale && !optimize_size) -+ return 0; -+ - if (unsorted_offsets[order[0]] == 0) - return 1; /* stmia */ - diff --git a/meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch b/meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch deleted file mode 100644 index 561624f39c..0000000000 --- a/meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch +++ /dev/null @@ -1,148 +0,0 @@ -#! /bin/sh -e - -src=gcc -if [ $# -eq 3 -a "$2" = '-d' ]; then - pdir="-d $3" - src=$3/gcc -elif [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) - patch $pdir -f --no-backup-if-mismatch -p0 --fuzz 10 < $0 - ;; - -unpatch) - patch $pdir -f --no-backup-if-mismatch -R -p0 --fuzz 10 < $0 - ;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -# DP: try harder to avoid ldm in function epilogues - ---- gcc/config/arm/arm.c Fri Mar 5 18:49:42 2004 -+++ gcc/config/arm/arm.c Fri Mar 5 16:00:21 2004 -@@ -7598,6 +7629,26 @@ - return_used_this_function = 0; - } - -+/* Return the number (counting from 0) of -+ the least significant set bit in MASK. */ -+ -+#ifdef __GNUC__ -+inline -+#endif -+static int -+number_of_first_bit_set (mask) -+ int mask; -+{ -+ int bit; -+ -+ for (bit = 0; -+ (mask & (1 << bit)) == 0; -+ ++bit) -+ continue; -+ -+ return bit; -+} -+ - const char * - arm_output_epilogue (really_return) - int really_return; -@@ -7788,27 +7839,47 @@ - saved_regs_mask |= (1 << PC_REGNUM); - } - -- /* Load the registers off the stack. If we only have one register -- to load use the LDR instruction - it is faster. */ -- if (saved_regs_mask == (1 << LR_REGNUM)) -- { -- /* The exception handler ignores the LR, so we do -- not really need to load it off the stack. */ -- if (eh_ofs) -- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM); -- else -- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM); -- } -- else if (saved_regs_mask) -+ if (saved_regs_mask) - { -- if (saved_regs_mask & (1 << SP_REGNUM)) -- /* Note - write back to the stack register is not enabled -- (ie "ldmfd sp!..."). We know that the stack pointer is -- in the list of registers and if we add writeback the -- instruction becomes UNPREDICTABLE. */ -- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask); -+ /* Load the registers off the stack. If we only have one register -+ to load use the LDR instruction - it is faster. */ -+ if (bit_count (saved_regs_mask) == 1) -+ { -+ int reg = number_of_first_bit_set (saved_regs_mask); -+ -+ switch (reg) -+ { -+ case SP_REGNUM: -+ /* Mustn't use base writeback when loading SP. */ -+ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM); -+ break; -+ -+ case LR_REGNUM: -+ if (eh_ofs) -+ { -+ /* The exception handler ignores the LR, so we do -+ not really need to load it off the stack. */ -+ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM); -+ break; -+ } -+ /* else fall through */ -+ -+ default: -+ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM); -+ break; -+ } -+ } - else -- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask); -+ { -+ if (saved_regs_mask & (1 << SP_REGNUM)) -+ /* Note - write back to the stack register is not enabled -+ (ie "ldmfd sp!..."). We know that the stack pointer is -+ in the list of registers and if we add writeback the -+ instruction becomes UNPREDICTABLE. */ -+ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask); -+ else -+ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask); -+ } - } - - if (current_function_pretend_args_size) -@@ -9610,26 +9677,6 @@ - } - } - --/* Return the number (counting from 0) of -- the least significant set bit in MASK. */ -- --#ifdef __GNUC__ --inline --#endif --static int --number_of_first_bit_set (mask) -- int mask; --{ -- int bit; -- -- for (bit = 0; -- (mask & (1 << bit)) == 0; -- ++bit) -- continue; -- -- return bit; --} -- - /* Generate code to return from a thumb function. - If 'reg_containing_return_addr' is -1, then the return address is - actually on the stack, at the stack pointer. */ diff --git a/meta/packages/gcc/gcc-3.3.4/arm-tune.patch b/meta/packages/gcc/gcc-3.3.4/arm-tune.patch deleted file mode 100644 index 701c99b87c..0000000000 --- a/meta/packages/gcc/gcc-3.3.4/arm-tune.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- gcc/config/arm/linux-elf.h.orig 2004-03-11 14:46:33.000000000 +0000 -+++ gcc/config/arm/linux-elf.h 2004-03-11 14:48:23.000000000 +0000 -@@ -128,3 +128,6 @@ - - #define LINK_GCC_C_SEQUENCE_SPEC \ - "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" -+ -+/* Tune for XScale. */ -+#define TARGET_TUNE_DEFAULT TARGET_CPU_xscale diff --git a/meta/packages/gcc/gcc-3.3.4/bash3.patch b/meta/packages/gcc/gcc-3.3.4/bash3.patch deleted file mode 100644 index 614ba50eec..0000000000 --- a/meta/packages/gcc/gcc-3.3.4/bash3.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- gcc-3.3.4/configure.orig 2002-09-29 18:11:24.000000000 +0200 -+++ gcc-3.3.4/configure 2005-01-28 12:26:40.000000000 +0100 -@@ -697,7 +697,7 @@ - if test -f skip-this-dir; then - # Perform the same cleanup as the trap handler, minus the "exit 1" of course, - # and reset the trap handler. -- trap 0 -+ trap '' 0 - rm -rf Makefile* ${tmpdir} - # Execute the final clean-up actions - ${config_shell} skip-this-dir -@@ -1596,7 +1596,7 @@ - # Perform the same cleanup as the trap handler, minus the "exit 1" of course, - # and reset the trap handler. - rm -rf ${tmpdir} --trap 0 -+trap '' 0 - - exit 0 - diff --git a/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch deleted file mode 100644 index 213b4fbbd6..0000000000 --- a/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch +++ /dev/null @@ -1,1593 +0,0 @@ -diff -urN gcc-3.3.3/boehm-gc/config.sub gcc-3.3.3-new/boehm-gc/config.sub ---- gcc-3.3.3/boehm-gc/config.sub 2002-02-11 22:37:53.000000000 -0600 -+++ gcc-3.3.3-new/boehm-gc/config.sub 2004-02-16 21:12:16.000000000 -0600 -@@ -118,7 +118,7 @@ - # Here we must recognize all the valid KERNEL-OS combinations. - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in -- nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) -+ nto-qnx* | linux-gnu* | linux-uclibc* | storm-chaos* | os2-emx* | windows32-*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; -@@ -1089,7 +1089,8 @@ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ -+ | -mingw32* | -linux-gnu* | -linux-uclibc* \ -+ | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ -diff -urN gcc-3.3.3/config.sub gcc-3.3.3-new/config.sub ---- gcc-3.3.3/config.sub 2003-01-30 17:25:36.000000000 -0600 -+++ gcc-3.3.3-new/config.sub 2004-02-16 21:12:16.000000000 -0600 -@@ -118,7 +118,7 @@ - # Here we must recognize all the valid KERNEL-OS combinations. - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in -- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) -+ nto-qnx* | linux-gnu* | linux-uclibc* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; -@@ -1112,7 +1112,8 @@ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ -+ | -mingw32* | -linux-gnu* | -linux-uclibc* \ -+ | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ -diff -urN gcc-3.3.3/gcc/config/arm/linux-elf.h gcc-3.3.3-new/gcc/config/arm/linux-elf.h ---- gcc-3.3.3/gcc/config/arm/linux-elf.h 2003-09-16 10:39:23.000000000 -0500 -+++ gcc-3.3.3-new/gcc/config/arm/linux-elf.h 2004-02-16 21:12:16.000000000 -0600 -@@ -78,6 +78,18 @@ - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" - - #undef LINK_SPEC -+#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} \ -@@ -88,6 +100,7 @@ - -X \ - %{mbig-endian:-EB}" \ - SUBTARGET_EXTRA_LINK_SPEC -+#endif - - #define TARGET_OS_CPP_BUILTINS() \ - do { \ -diff -urN gcc-3.3.3/gcc/config/cris/linux.h gcc-3.3.3-new/gcc/config/cris/linux.h ---- gcc-3.3.3/gcc/config/cris/linux.h 2003-03-10 21:01:35.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/cris/linux.h 2004-02-16 21:12:16.000000000 -0600 -@@ -81,6 +81,25 @@ - #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" - -@@ -95,6 +114,8 @@ - %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\ - %{!r:%{O2|O3: --gc-sections}}" - -+#endif /* USE_UCLIBC */ -+ - - /* Node: Run-time Target */ - -diff -urN gcc-3.3.3/gcc/config/cris/t-linux-uclibc gcc-3.3.3-new/gcc/config/cris/t-linux-uclibc ---- gcc-3.3.3/gcc/config/cris/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/cris/t-linux-uclibc 2004-02-16 21:12:16.000000000 -0600 -@@ -0,0 +1,3 @@ -+T_CFLAGS = -DUSE_UCLIBC -+TARGET_LIBGCC2_CFLAGS += -fPIC -+CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS) -diff -urN gcc-3.3.3/gcc/config/i386/linux.h gcc-3.3.3-new/gcc/config/i386/linux.h ---- gcc-3.3.3/gcc/config/i386/linux.h 2003-11-14 00:46:12.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/i386/linux.h 2004-02-16 21:12:16.000000000 -0600 -@@ -136,6 +136,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: \ -@@ -144,6 +153,7 @@ - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ - %{static:-static}}}" - #endif -+#endif - - /* A C statement (sans semicolon) to output to the stdio stream - FILE the assembler definition of uninitialized global DECL named -diff -urN gcc-3.3.3/gcc/config/mips/linux.h gcc-3.3.3-new/gcc/config/mips/linux.h ---- gcc-3.3.3/gcc/config/mips/linux.h 2003-12-23 02:58:00.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/mips/linux.h 2004-02-16 21:12:16.000000000 -0600 -@@ -175,6 +175,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} \ -@@ -184,6 +195,7 @@ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \ - %{static:-static}}}" -+#endif - - #undef SUBTARGET_ASM_SPEC - #define SUBTARGET_ASM_SPEC "\ -diff -urN gcc-3.3.3/gcc/config/sh/linux.h gcc-3.3.3-new/gcc/config/sh/linux.h ---- gcc-3.3.3/gcc/config/sh/linux.h 2003-11-06 17:13:33.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/sh/linux.h 2004-02-16 21:12:16.000000000 -0600 -@@ -44,12 +44,21 @@ - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" - #undef SUBTARGET_LINK_SPEC -+#ifdef USE_UCLIBC -+#define SUBTARGET_LINK_SPEC \ -+ "%{shared:-shared} \ -+ %{!static: \ -+ %{rdynamic:-export-dynamic} \ -+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \ -+ %{static:-static}" -+#else - #define SUBTARGET_LINK_SPEC \ - "%{shared:-shared} \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ - %{static:-static}" -+#endif - - /* The GNU C++ standard library requires that these macros be defined. */ - #undef CPLUSPLUS_CPP_SPEC -diff -urN gcc-3.3.3/gcc/config/sh/t-linux-uclibc gcc-3.3.3-new/gcc/config/sh/t-linux-uclibc ---- gcc-3.3.3/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/sh/t-linux-uclibc 2004-02-16 21:12:16.000000000 -0600 -@@ -0,0 +1,16 @@ -+T_CFLAGS = -DUSE_UCLIBC -+ -+# Don't run fixproto -+STMP_FIXPROTO = -+ -+TARGET_LIBGCC2_CFLAGS = -fpic -+LIB1ASMFUNCS_CACHE = _ic_invalidate -+ -+LIB2FUNCS_EXTRA= -+ -+MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4 -+MULTILIB_DIRNAMES= -+MULTILIB_MATCHES = -+MULTILIB_EXCEPTIONS= -+ -+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o -diff -urN gcc-3.3.3/gcc/config/sh/t-sh64-uclibc gcc-3.3.3-new/gcc/config/sh/t-sh64-uclibc ---- gcc-3.3.3/gcc/config/sh/t-sh64-uclibc 1969-12-31 18:00:00.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/sh/t-sh64-uclibc 2004-02-16 21:12:16.000000000 -0600 -@@ -0,0 +1,13 @@ -+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o -+ -+LIB1ASMFUNCS = \ -+ _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \ -+ _shcompact_call_trampoline _shcompact_return_trampoline \ -+ _shcompact_incoming_args _ic_invalidate _nested_trampoline \ -+ _push_pop_shmedia_regs \ -+ _udivdi3 _divdi3 _umoddi3 _moddi3 -+ -+MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu -+MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64 -+MULTILIB_MATCHES= -+MULTILIB_EXCEPTIONS= -diff -urN gcc-3.3.3/gcc/config/t-linux-uclibc gcc-3.3.3-new/gcc/config/t-linux-uclibc ---- gcc-3.3.3/gcc/config/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config/t-linux-uclibc 2004-02-16 21:12:16.000000000 -0600 -@@ -0,0 +1,23 @@ -+T_CFLAGS = -DUSE_UCLIBC -+ -+# Don't run fixproto -+STMP_FIXPROTO = -+ -+# Compile crtbeginS.o and crtendS.o with pic. -+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC -+# Compile libgcc2.a with pic. -+TARGET_LIBGCC2_CFLAGS = -fPIC -+ -+# Override t-slibgcc-elf-ver to export some libgcc symbols with -+# the symbol versions that glibc used. -+SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver -+ -+# Use unwind-dw2-fde-glibc -+#LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \ -+# $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+#LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c -+ -+# Use unwind-dw2-fde -+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ -+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h -diff -urN gcc-3.3.3/gcc/config.gcc gcc-3.3.3-new/gcc/config.gcc ---- gcc-3.3.3/gcc/config.gcc 2004-01-21 00:06:00.000000000 -0600 -+++ gcc-3.3.3-new/gcc/config.gcc 2004-02-16 21:12:16.000000000 -0600 -@@ -697,6 +697,17 @@ - extra_parts="" - use_collect2=yes - ;; -+arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc -+ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h" -+ tmake_file="t-slibgcc-elf-ver 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*-*-linux*) # ARM GNU/Linux with ELF - tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h" - tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux" -@@ -772,6 +783,10 @@ - tmake_file="cris/t-cris cris/t-elfmulti" - gas=yes - ;; -+cris-*-linux-uclibc*) -+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h" -+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc" -+ ;; - cris-*-linux*) - tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h" - tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux" -@@ -1173,6 +1188,11 @@ - thread_file='single' - fi - ;; -+i[34567]86-*-linux*uclibc*) # Intel 80386's running GNU/Linux -+ # with ELF format using uClibc -+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h" -+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff" -+ ;; - i[34567]86-*-linux*) # Intel 80386's running GNU/Linux - # with ELF format using glibc 2 - # aka GNU/Linux C library 6 -@@ -1883,6 +1903,16 @@ - tm_file="elfos.h ${tm_file} mips/netbsd.h" - tmake_file="${tmake_file} mips/t-netbsd" - ;; -+mips*-*-linux-uclibc*) # Linux MIPS, either endian. uClibc -+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h" -+ case $machine in -+ mipsisa32*-*) -+ target_cpu_default="MASK_SOFT_FLOAT" -+ tm_defines="MIPS_ISA_DEFAULT=32" -+ ;; -+ esac -+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc mips/t-linux" -+ ;; - mips*-*-linux*) # Linux MIPS, either endian. - tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h" - case $machine in -@@ -2129,6 +2159,11 @@ - out_file=rs6000/rs6000.c - tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm" - ;; -+powerpc-*-linux-uclibc*) -+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h" -+ out_file=rs6000/rs6000.c -+ tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm" -+ ;; - powerpc-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h" - out_file=rs6000/rs6000.c -@@ -2313,10 +2348,18 @@ - tmake_file="${tmake_file} sh/t-le" - ;; - esac -- tmake_file="${tmake_file} sh/t-linux" -+ case $machine in -+ *-*-linux-uclibc*) tmake_file="${tmake_file} sh/t-linux-uclibc" ;; -+ *) tmake_file="${tmake_file} sh/t-linux" ;; -+ esac - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h" - gas=yes gnu_ld=yes - case $machine in -+ sh64*-*-linux-uclibc*) -+ tmake_file="${tmake_file} sh/t-sh64-uclibc" -+ tm_file="${tm_file} sh/sh64.h" -+ extra_headers="shmedia.h ushmedia.h sshmedia.h" -+ ;; - sh64*) - tmake_file="${tmake_file} sh/t-sh64" - tm_file="${tm_file} sh/sh64.h" -diff -urN gcc-3.3.3/libstdc++-v3/aclocal.m4 gcc-3.3.3-new/libstdc++-v3/aclocal.m4 ---- gcc-3.3.3/libstdc++-v3/aclocal.m4 2004-01-12 10:18:44.000000000 -0600 -+++ gcc-3.3.3-new/libstdc++-v3/aclocal.m4 2004-02-16 21:12:16.000000000 -0600 -@@ -1216,6 +1216,9 @@ - dnl Default to "generic" - if test x$enable_clocale_flag = xno; then - case x${target_os} in -+ xlinux-uclibc*) -+ enable_clocale_flag=uclibc -+ ;; - xlinux* | xgnu*) - AC_EGREP_CPP([_GLIBCPP_ok], [ - #include <features.h> -@@ -1339,6 +1342,41 @@ - CTIME_CC=config/locale/generic/time_members.cc - CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h - ;; -+ xuclibc) -+ AC_MSG_RESULT(uclibc) -+ -+ # Declare intention to use gettext, and add support for specific -+ # languages. -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT -+ ALL_LINGUAS="de fr" -+ -+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc. -+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no) -+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then -+ USE_NLS=yes -+ fi -+ # Export the build objects. -+ for ling in $ALL_LINGUAS; do \ -+ glibcpp_MOFILES="$glibcpp_MOFILES $ling.mo"; \ -+ glibcpp_POFILES="$glibcpp_POFILES $ling.po"; \ -+ done -+ AC_SUBST(glibcpp_MOFILES) -+ AC_SUBST(glibcpp_POFILES) -+ -+ CLOCALE_H=config/locale/uclibc/c_locale.h -+ CLOCALE_CC=config/locale/uclibc/c_locale.cc -+ CCODECVT_H=config/locale/uclibc/codecvt_specializations.h -+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc -+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc -+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc -+ CMESSAGES_H=config/locale/uclibc/messages_members.h -+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc -+ CMONEY_CC=config/locale/uclibc/monetary_members.cc -+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc -+ CTIME_H=config/locale/uclibc/time_members.h -+ CTIME_CC=config/locale/uclibc/time_members.cc -+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h -+ ;; - *) - echo "$enable_clocale is an unknown locale package" 1>&2 - exit 1 -diff -urN gcc-3.3.3/libstdc++-v3/configure gcc-3.3.3-new/libstdc++-v3/configure ---- gcc-3.3.3/libstdc++-v3/configure 2004-01-12 10:18:45.000000000 -0600 -+++ gcc-3.3.3-new/libstdc++-v3/configure 2004-02-17 00:21:12.000000000 -0600 -@@ -2996,6 +2996,9 @@ - - if test x$enable_clocale_flag = xno; then - case x${target_os} in -+ xlinux-uclibc*) -+ enable_clocale_flag=uclibc -+ ;; - xlinux* | xgnu*) - cat > conftest.$ac_ext <<EOF - #line 3002 "configure" -@@ -3182,6 +3185,70 @@ - CTIME_CC=config/locale/generic/time_members.cc - CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h - ;; -+ xuclibc) -+ echo "$ac_t""uclibc" 1>&6 -+ -+ # Declare intention to use gettext, and add support for specific -+ # languages. -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT -+ ALL_LINGUAS="de fr" -+ -+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc. -+ # Extract the first word of "msgfmt", so it can be a program name with args. -+set dummy msgfmt; ac_word=$2 -+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -+echo "configure:3117: checking for $ac_word" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_check_msgfmt'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ if test -n "$check_msgfmt"; then -+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test. -+else -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -+ ac_dummy="$PATH" -+ for ac_dir in $ac_dummy; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$ac_word; then -+ ac_cv_prog_check_msgfmt="yes" -+ break -+ fi -+ done -+ IFS="$ac_save_ifs" -+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no" -+fi -+fi -+check_msgfmt="$ac_cv_prog_check_msgfmt" -+if test -n "$check_msgfmt"; then -+ echo "$ac_t""$check_msgfmt" 1>&6 -+else -+ echo "$ac_t""no" 1>&6 -+fi -+ -+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then -+ USE_NLS=yes -+ fi -+ # Export the build objects. -+ for ling in $ALL_LINGUAS; do \ -+ glibcpp_MOFILES="$glibcpp_MOFILES $ling.mo"; \ -+ |
