summaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/gcc/4.1.2/801-arm-bootstrap-libgcc.patch63
-rw-r--r--toolchain/kernel-headers/linux-2.6.21.5-001-add-linkage-header.patch18
-rw-r--r--toolchain/uClibc/uClibc-0.9.29-filter-gnu99-from-assembly-flags.patch12
-rw-r--r--toolchain/uClibc/uclibc.mk2
4 files changed, 94 insertions, 1 deletions
diff --git a/toolchain/gcc/4.1.2/801-arm-bootstrap-libgcc.patch b/toolchain/gcc/4.1.2/801-arm-bootstrap-libgcc.patch
new file mode 100644
index 000000000..078da5bb4
--- /dev/null
+++ b/toolchain/gcc/4.1.2/801-arm-bootstrap-libgcc.patch
@@ -0,0 +1,63 @@
+diff -ur gcc-4.1.2/gcc/config/arm/unwind-arm.c gcc-4.1.2-patched/gcc/config/arm/unwind-arm.c
+--- gcc-4.1.2/gcc/config/arm/unwind-arm.c 2006-09-20 12:31:12.000000000 -0500
++++ gcc-4.1.2-patched/gcc/config/arm/unwind-arm.c 2008-02-27 13:30:45.339282365 -0600
+@@ -29,7 +29,13 @@
+
+ /* We add a prototype for abort here to avoid creating a dependency on
+ target headers. */
++#ifndef BOOTSTRAP_GCC
+ extern void abort (void);
++#else
++void abort (void)
++{
++}
++#endif
+
+ /* Definitions for C++ runtime support routines. We make these weak
+ declarations to avoid pulling in libsupc++ unnecessarily. */
+@@ -542,7 +548,9 @@
+ {
+ UCB_SAVED_CALLSITE_ADDR (ucbp) = saved_vrs.core.r[R_PC];
+
++#ifndef BOOTSTRAP_GCC
+ next_vrs = saved_vrs;
++#endif
+
+ /* Call the pr to decide what to do. */
+ pr_result = ((personality_routine) UCB_PR_ADDR (ucbp))
+@@ -572,7 +580,9 @@
+ if (entry_code != _URC_OK)
+ return entry_code;
+
++#ifndef BOOTSTRAP_GCC
+ saved_vrs = next_vrs;
++#endif
+ }
+ while (pr_result == _URC_CONTINUE_UNWIND);
+
+diff -ur gcc-4.1.2/gcc/mklibgcc.in gcc-4.1.2-patched/gcc/mklibgcc.in
+--- gcc-4.1.2/gcc/mklibgcc.in 2006-09-10 02:13:12.000000000 -0500
++++ gcc-4.1.2-patched/gcc/mklibgcc.in 2008-02-27 13:39:15.697843177 -0600
+@@ -169,7 +169,7 @@
+ # It is too hard to guarantee that vis_hide and gen-hide-list will never
+ # be referenced if SHLIB_LINK is not set, so set them to the values they'd
+ # have if SHLIB_LINK were set and we didn't have visibility support.
+- echo "vis_hide ="
++ echo "vis_hide :=-DBOOTSTRAP_GCC"
+ echo "gen-hide-list = echo > \$@"
+ fi
+
+diff -ur gcc-4.1.2/gcc/unwind-dw2.c gcc-4.1.2-patched/gcc/unwind-dw2.c
+--- gcc-4.1.2/gcc/unwind-dw2.c 2005-11-17 19:19:10.000000000 -0600
++++ gcc-4.1.2-patched/gcc/unwind-dw2.c 2008-02-27 13:29:55.414640030 -0600
+@@ -1311,8 +1311,10 @@
+ void *c = current->reg[i];
+ void *t = target->reg[i];
+
++#ifndef BOOTSTRAP_GCC
+ if (t && c && t != c)
+ memcpy (c, t, dwarf_reg_size_table[i]);
++#endif
+ }
+
+ /* If the current frame doesn't have a saved stack pointer, then we
diff --git a/toolchain/kernel-headers/linux-2.6.21.5-001-add-linkage-header.patch b/toolchain/kernel-headers/linux-2.6.21.5-001-add-linkage-header.patch
new file mode 100644
index 000000000..dd89d4a89
--- /dev/null
+++ b/toolchain/kernel-headers/linux-2.6.21.5-001-add-linkage-header.patch
@@ -0,0 +1,18 @@
+diff -ur linux-2.6.21.5/include/asm-arm/Kbuild linux-2.6.21.5-patched/include/asm-arm/Kbuild
+--- linux-2.6.21.5/include/asm-arm/Kbuild 2007-06-11 13:37:06.000000000 -0500
++++ linux-2.6.21.5-patched/include/asm-arm/Kbuild 2008-02-27 18:17:46.999128276 -0600
+@@ -1 +1,3 @@
+ include include/asm-generic/Kbuild.asm
++
++header-y += linkage.h
+diff -ur linux-2.6.21.5/include/linux/Kbuild linux-2.6.21.5-patched/include/linux/Kbuild
+--- linux-2.6.21.5/include/linux/Kbuild 2007-06-11 13:37:06.000000000 -0500
++++ linux-2.6.21.5-patched/include/linux/Kbuild 2008-02-27 18:15:05.921149678 -0600
+@@ -100,6 +100,7 @@
+ header-y += jffs2.h
+ header-y += keyctl.h
+ header-y += limits.h
++header-y += linkage.h
+ header-y += lock_dlm_plock.h
+ header-y += magic.h
+ header-y += major.h
diff --git a/toolchain/uClibc/uClibc-0.9.29-filter-gnu99-from-assembly-flags.patch b/toolchain/uClibc/uClibc-0.9.29-filter-gnu99-from-assembly-flags.patch
new file mode 100644
index 000000000..d1a7e3ac4
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.29-filter-gnu99-from-assembly-flags.patch
@@ -0,0 +1,12 @@
+diff -ur uClibc-0.9.29/Makerules uClibc-0.9.29-patched/Makerules
+--- uClibc-0.9.29/Makerules 2006-12-10 18:25:23.000000000 -0600
++++ uClibc-0.9.29-patched/Makerules 2008-01-26 17:04:50.965699518 -0600
+@@ -96,7 +96,7 @@
+ disp_ld = $($(DISP)_disp_ld)
+
+ cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(^D)))) $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) $(CFLAGS-$(notdir $<)) $(CFLAGS-$(notdir $@))
+-cmd_compile.S = $(cmd_compile.c) -D__ASSEMBLER__ $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$(notdir $<)) $(ASFLAGS-$(notdir $@))
++cmd_compile.S = $(filter-out -std=gnu99, $(cmd_compile.c)) -D__ASSEMBLER__ $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$(notdir $<)) $(ASFLAGS-$(notdir $@))
+ cmd_compile.m = $(cmd_compile.c) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@))
+ cmd_compile-m = $(CC) $^ -c -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(notdir $(@D))) $(CFLAGS-$(notdir $@))
+ cmd_strip = $(STRIPTOOL) $(STRIP_FLAGS) $^
diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index 9c70f709d..b9f73bcd0 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -378,7 +378,7 @@ $(UCLIBC_DIR)/.configured: $(LINUX_HEADERS_DIR)/.configured $(UCLIBC_DIR)/.confi
DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=$(TOOL_BUILD_DIR)/uClibc_dev/ \
HOSTCC="$(HOSTCC)" \
- pregen install_dev
+ headers install_dev
# Install the kernel headers to the first stage gcc include dir
# if necessary
ifeq ($(LINUX_HEADERS_IS_KERNEL),y)