Revision: 74229 http://trac.macports.org/changeset/74229 Author: jmr@macports.org Date: 2010-12-07 20:10:52 -0800 (Tue, 07 Dec 2010) Log Message: ----------- gpc34: fix build on ppc leopard (#19420) Modified Paths: -------------- trunk/dports/lang/gpc34/Portfile Added Paths: ----------- trunk/dports/lang/gpc34/files/ trunk/dports/lang/gpc34/files/gcc-config-rs6000-host-darwin.c.diff Modified: trunk/dports/lang/gpc34/Portfile =================================================================== --- trunk/dports/lang/gpc34/Portfile 2010-12-08 04:07:49 UTC (rev 74228) +++ trunk/dports/lang/gpc34/Portfile 2010-12-08 04:10:52 UTC (rev 74229) @@ -32,6 +32,8 @@ system "ln -s ${workpath}/p ${workpath}/gcc-${gcc_version}/gcc/p" } +patch.dir ${workpath}/gcc-${gcc_version} + configure.cc_archflags configure.cxx_archflags configure.objc_archflags @@ -68,3 +70,6 @@ platform darwin 8 powerpc { configure.compiler gcc-3.3 } +platform darwin 9 { + patchfiles-append gcc-config-rs6000-host-darwin.c.diff +} Copied: trunk/dports/lang/gpc34/files/gcc-config-rs6000-host-darwin.c.diff (from rev 74216, trunk/dports/cross/avr-gcc/files/gcc-config-rs6000-host-darwin.c.diff) =================================================================== --- trunk/dports/lang/gpc34/files/gcc-config-rs6000-host-darwin.c.diff (rev 0) +++ trunk/dports/lang/gpc34/files/gcc-config-rs6000-host-darwin.c.diff 2010-12-08 04:10:52 UTC (rev 74229) @@ -0,0 +1,29 @@ +--- gcc/config/rs6000/host-darwin.c 2004-11-09 11:13:18.000000000 +0100 ++++ gcc/config/rs6000/host-darwin.c 2007-11-07 21:34:55.000000000 +0100 +@@ -35,7 +35,7 @@ + + /* This doesn't have a prototype in signal.h in 10.2.x and earlier, + fixed in later releases. */ +-extern int sigaltstack(const struct sigaltstack *, struct sigaltstack *); ++/*extern int sigaltstack(const struct sigaltstack *, struct sigaltstack *);*/ + + #undef HOST_HOOKS_EXTRA_SIGNALS + #define HOST_HOOKS_EXTRA_SIGNALS darwin_rs6000_extra_signals +@@ -64,7 +64,7 @@ + which case the next line will segfault _again_. Handle this case. */ + signal (SIGSEGV, segv_crash_handler); + +- faulting_insn = *(unsigned *)uc->uc_mcontext->ss.srr0; ++ faulting_insn = *(unsigned *)uc->uc_mcontext->__ss.__srr0; + + /* Note that this only has to work for GCC, so we don't have to deal + with all the possible cases (GCC has no AltiVec code, for +@@ -113,7 +113,7 @@ + } + + fprintf (stderr, "[address=%08lx pc=%08x]\n", +- uc->uc_mcontext->es.dar, uc->uc_mcontext->ss.srr0); ++ uc->uc_mcontext->__es.__dar, uc->uc_mcontext->__ss.__srr0); + internal_error ("Segmentation Fault"); + exit (FATAL_EXIT_CODE); + }