From 19cee5cd6410343b1337af4185a0eedf41572c4b Mon Sep 17 00:00:00 2001 From: Kedar Sovani Date: Thu, 22 Jan 2009 16:50:06 +0530 Subject: [PATCH] gcc: Patch libgcc_post_upgrade to build on ARM. Signed-off-by: Kedar Sovani --- gcc.spec | 4 +++- libgcc_post_upgrade.c.arm.patch | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletions(-) create mode 100644 libgcc_post_upgrade.c.arm.patch diff --git a/gcc.spec b/gcc.spec index 6f0f51e..dd65aeb 100644 --- a/gcc.spec +++ b/gcc.spec @@ -40,7 +40,7 @@ Summary: Various compilers (C, C++, Objective-C, Java, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release} +Release: %{gcc_release}.fa1 # libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions @@ -160,6 +160,7 @@ Patch16: gcc44-unwind-debug-hook.patch Patch17: gcc44-pr38757.patch Patch18: gcc44-libstdc++-docs.patch Patch19: gcc44-ppc64-aixdesc.patch +Patch34: libgcc_post_upgrade.c.arm.patch Patch1000: fastjar-0.97-segfault.patch @@ -1126,6 +1127,7 @@ EOF chmod 755 %{buildroot}%{_prefix}/bin/c?9 mkdir -p %{buildroot}%{_prefix}/sbin +patch %{SOURCE1} < %{PATCH34} gcc -static -Os %{SOURCE1} -o %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade strip %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade diff --git a/libgcc_post_upgrade.c.arm.patch b/libgcc_post_upgrade.c.arm.patch new file mode 100644 index 0000000..3e1e884 --- /dev/null +++ b/libgcc_post_upgrade.c.arm.patch @@ -0,0 +1,15 @@ +--- libgcc_post_upgrade.c.orig 2007-11-30 06:35:49.000000000 -0500 ++++ libgcc_post_upgrade.c 2007-11-30 06:35:31.000000000 -0500 +@@ -439,6 +439,12 @@ + pid_t __fork (void) { return -1; } + char thr_buf[65536]; + ++#if defined __arm__ ++/* Prevent pulling in libc-start.o (which also defines ++ * __libc_start_main.) */ ++unsigned int __stack_chk_guard = ~0U; ++#endif ++ + #ifndef __powerpc__ + int __libc_start_main (int (*main) (int argc, char **argv), + int argc, char **argv, -- 1.5.5.6