gcc46 stable port information

Info2: <<
Package: gcc46
Version: 4.6.3
Revision: 1000
Source: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%v/gcc-%v.tar.bz2
Source-MD5: 773092fe5194353b02bb0110052a972e
Source2: ftp://sourceware.org/pub/java/ecj-4.5.jar
Source2-MD5: d7cd6a27c8801e66cbaa964a039ecfdb
PatchFile: %n.patch
PatchFile-MD5: c7f96e043f95503d01febbf771f2ff5c
Distribution: 10.5, 10.6
Type: -64bit -64bit
Architecture: powerpc, i386
NoSetCPPFLAGS: True
NoSetLDFLAGS: True
UseMaxBuildJobs: True
Conflicts: gcc42, gcc43, gcc44, gcc45, gcc47, gcc48
Replaces: gcc42, gcc43, gcc44, gcc45, gcc47, gcc48
Depends: %N-compiler (= %v-%r)
BuildDepends: gmp5, libmpfr4, libiconv-dev, gettext-tools, libgettext8-dev, ppl9 (>= 0.11.2), cloog-org (>= 0.16.2), libmpc2 (>= 0.9), xcode (>= 3.1.2), fink (>= 0.30.0)
ConfigureParams: <<
--prefix=%p/lib/gcc4.6 --mandir=%p/share/man --infodir=%p/lib/gcc4.6/info \
--enable-languages=c,c++,fortran,lto,objc,obj-c++,java \
--with-gmp=%p --with-libiconv-prefix=%p --with-ppl=%p --with-cloog=%p --with-mpc=%p --with-system-zlib \
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.6 --enable-cloog-backend=isl
<<
InfoTest: <<
TestDepends: autogen, dejagnu
TestScript: cd ../darwin_objdir; make -k check || :
<<
InfoDocs: cp-tools.info gcc.info gfortran.info cpp.info gccinstall.info libgomp.info cppinternals.info gccint.info gcj.info
CompileScript: <<
#!/bin/bash -ev
set +x
if [ -e /usr/local/lib/libgmp.a ] || [ -e /usr/local/lib/libgmp.dylib ]; then
echo "-----WARNING-----WARNING-----WARNING-----"
echo "You seem to have GMP installed in /usr/local."
echo "This is known to cause %N to fail to build."
echo "Please move aside /usr/local and try again."
echo "-----WARNING-----WARNING-----WARNING-----"
exit 1
fi
set -x
ulimit -s `ulimit -s`
mv ../ecj-4.5.jar ecj.jar
mkdir ../darwin_objdir
cd ../darwin_objdir
if [ "%m" = "powerpc" ]; then
../gcc-%v/configure %c --disable-libjava-multilib --disable-libquadmath
else
../gcc-%v/configure %c
fi
make
## make check requires autogen, dejagnu and expect, and should be run, in darwin_objdir, after install.
## on 32-bit processors use
# make -k check
## on 64-bit processors use
# make -k check RUNTESTFLAGS="--target_board=unix'{-m32,-m64}'"
<<
InstallScript: <<
#!/bin/sh -ev
darwinvers=`uname -r`
cd ../darwin_objdir
make -j1 install DESTDIR=%d
mkdir -p %i/bin

# Add symlinks to recreate previous naming of executables in %p/bin
# as well as %p/lib/gcc4.6/bin and new -fsf-4.6 naming in %p/bin.
binfiles="gcc g++ c++ cpp gcov"
for binfile in $binfiles ; do
ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/lib/gcc4.6/bin/$binfile-4
ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile-4
ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile-fsf-4.6
done
binfiles="gfortran gcj gcj-dbtool gcjh gij gjnih grmiregistry grmic jcf-dump jv-convert jv-scan"
for binfile in $binfiles ; do
ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/lib/gcc4.6/bin/$binfile
ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile
ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile-fsf-4.6
done

# Add symlinks for manpages under old names.
man1files="cpp g++ gcc gcov"
for man1file in $man1files ; do
ln -s %p/share/man/man1/$man1file-fsf-4.6.1 %i/share/man/man1/$man1file-4.1
done
man1files="aot-compile gappletviewer gc-analyze gcj-dbtool gcj gcjh gfortran gij gjar gjarsigner gjavah gjdoc gkeytool gnative2ascii gorbd grmic grmid grmiregistry gserialver gtnameserv jcf-dump jv-convert rebuild-gcj-db"
for man1file in $man1files ; do
ln -s %p/share/man/man1/$man1file-fsf-4.6.1 %i/share/man/man1/$man1file.1
done

# Rename manpages with -fsf-4.6 suffix and create symlinks to old names.
man7files="fsf-funding gfdl gpl"
for man7file in $man7files ; do
mv %i/share/man/man7/$man7file.7 %i/share/man/man7/$man7file-fsf-4.6.7
ln -s %p/share/man/man7/$man7file-fsf-4.6.7 %i/share/man/man7/$man7file.7
done

# Add dir for installed info files, and link them to %i/share/info.
# the %i/lib/gcc4.6/info/* files will go into the -compiler package
# and the files in %i/share/info go into the main package, this allows
# the info files for specific compiler versions to be accessed with
# e.g. `info -d /fink_install_dir/lib/gcc4.6/info gcc', but the "main" info files will
# be available for the install gcc4N package in %p/share/info, as usual
install -d -m 755 %i/share/info
for infofile in $(find %i/lib/gcc4.6/info -name '*.info*'); do
infobase=$(basename $infofile)
case $infofile in
*info) /usr/bin/install-info --infodir=%i/lib/gcc4.6/info ${infofile} ;;
esac
ln -s %p/lib/gcc4.6/info/$infobase %i/share/info/$infobase
done

if [ "%m" != "powerpc" ] ; then
cp %b/gcc/config/darwin-sections.def %i/lib/gcc4.6/lib/gcc/%m-apple-darwin${darwinvers}/4.6.3/plugin/include/config
fi

# remove build path from .la files
perl -pi -e "s, \-L[^ ']*/%n-%v-%r/darwin_objdir/[^ ']*,,g" `find %i/lib/gcc4.6/lib -name '*.la'`
<<
SplitOff: <<
Package: %N-shlibs
Replaces: gcc4 (<= 20050130-4), gfortran-shlibs
Provides: gfortran-shlibs
Description: Shared libraries for gcc4
DocFiles: gcc/COPYING gcc/COPYING.LIB
Homepage: http://gcc.gnu.org/
Files: <<
lib/gcc4.6/lib/libgfortran.3*.dylib
lib/gcc4.6/lib/libffi.4*.dylib
lib/gcc4.6/lib/libstdc++.6*.dylib
lib/gcc4.6/lib/libgcc_s.1*.dylib
lib/gcc4.6/lib/libgcc_ext.1*.dylib
lib/gcc4.6/lib/libgcj.12*.dylib
lib/gcc4.6/lib/libgcj-tools.12*.dylib
lib/gcc4.6/lib/libgij.12*.dylib
lib/gcc4.6/lib/libssp.0*.dylib
lib/gcc4.6/lib/libobjc-gnu.3*.dylib
lib/gcc4.6/lib/libgomp.1*.dylib
(%m != powerpc) lib/gcc4.6/lib/libquadmath.0*.dylib
lib/gcc4.6/lib/gcj-4.6.3-12
lib/gcc4.6/%lib/libgfortran.3*.dylib
lib/gcc4.6/%lib/libffi.4*.dylib
(%m != powerpc) lib/gcc4.6/%lib/libgcj.12*.dylib
(%m != powerpc) lib/gcc4.6/%lib/libgcj-tools.12*.dylib
(%m != powerpc) lib/gcc4.6/%lib/libgij.12*.dylib
lib/gcc4.6/%lib/libstdc++.6*.dylib
lib/gcc4.6/%lib/libssp.0*.dylib
lib/gcc4.6/%lib/libobjc-gnu.3*.dylib
lib/gcc4.6/%lib/libgomp.1*.dylib
(%m != powerpc) lib/gcc4.6/%lib/libquadmath.0*.dylib
(%m != powerpc) lib/gcc4.6/%lib/gcj-4.6.3-12
<<
Shlibs: <<
%p/lib/gcc4.6/lib/libgfortran.3.dylib 4.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libffi.4.dylib 5.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libstdc++.6.dylib 7.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libgcc_s.1.dylib 1.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libgcj.12.dylib 13.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libgcj-tools.12.dylib 13.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libgij.12.dylib 13.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libssp.0.dylib 1.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libobjc-gnu.3.dylib 4.0.0 %n (>= 4.6-1)
%p/lib/gcc4.6/lib/libgomp.1.dylib 2.0.0 %n (>= 4.6-1)
(%m != powerpc) %p/lib/gcc4.6/lib/libquadmath.0.dylib 1.0.0 %n (>= 4.6-1)
!%p/lib/gcc4.6/lib/gcj-4.6.3-12/libjvm.dylib
%p/lib/gcc4.6/%lib/libgfortran.3.dylib 4.0.0 %n (>= 4.6-1) 64
%p/lib/gcc4.6/%lib/libffi.4.dylib 5.0.0 %n (>= 4.6-1) 64
(%m != powerpc) %p/lib/gcc4.6/%lib/libgcj.12.dylib 13.0.0 %n (>= 4.6-1) 64
(%m != powerpc) %p/lib/gcc4.6/%lib/libgcj-tools.12.dylib 13.0.0 %n (>= 4.6-1) 64
(%m != powerpc) %p/lib/gcc4.6/%lib/libgij.12.dylib 13.0.0 %n (>= 4.6-1) 64
%p/lib/gcc4.6/%lib/libstdc++.6.dylib 7.0.0 %n (>= 4.6-1) 64
%p/lib/gcc4.6/%lib/libssp.0.dylib 1.0.0 %n (>= 4.6-1) 64
%p/lib/gcc4.6/%lib/libobjc-gnu.3.dylib 4.0.0 %n (>= 4.6-1) 64
%p/lib/gcc4.6/%lib/libgomp.1.dylib 2.0.0 %n (>= 4.6-1) 64
(%m != powerpc) %p/lib/gcc4.6/%lib/libquadmath.0.dylib 1.0.0 %n (>= 4.6-1) 64
(%m != powerpc) !%p/lib/gcc4.6/%lib/gcj-4.6.3-12/libjvm.dylib
<<
<<
SplitOff2: <<
Package: %N-compiler
Depends: gmp5-shlibs, libgmpxx5-shlibs, libmpfr4-shlibs, %N-shlibs (= %v-%r), libiconv, libgettext8-shlibs, ppl9-shlibs (>= 0.11.2), cloog-org-shlibs (>= 0.16.2), libmpc2-shlibs (>= 0.9), xcode (>= 3.1.2)
BuildDependsOnly: False
Description: Compiler Binaries for gcc46.
DocFiles: gcc/COPYING gcc/COPYING.LIB
Homepage: http://gcc.gnu.org/
Files: <<
bin/*-fsf-4.6
lib/gcc4.6
share/man/man1/*-fsf-4.6.1
share/man/man3/*-fsf-4.6.3
share/man/man7/*-fsf-4.6.7
<<
<<
PostInstScript: <<
update-alternatives --install %p/share/man/man3/ffi.3 ffi %p/share/man/man3/%N_ffi.3 60 \
--slave %p/share/man/man3/ffi_call.3 ffi_call %p/share/man/man3/%N_ffi_call.3 \
--slave %p/share/man/man3/ffi_prep_cif.3 ffi_prep_cif %p/share/man/man3/%N_ffi_prep_cif.3
<<
PreRmScript: <<
if [ $1 != "upgrade" ]; then
update-alternatives --remove ffi %p/share/man/man3/%N_ffi.3
fi
<<
License: GPL
Description: GNU Compiler Collection Version 4.6
DescDetail: <<
GCC, the GNU Compiler Collection, includes front ends for
C, C++, Objective-C, Objective-C++, Fortran, Java, and Ada.
.
C, C++, Objective C and Fortran and Java are included in this package.
.
The C and C++ compilers are named gcc-4 and g++-4 to avoid
conflicts with gcc and g++ installed by the Apple Developer Tools
<<
DescPackaging: <<
The multilib build of libjava is disabled for PowerPC since the
64-bit support is incomplete on Darwin for libffi.
Build with -fsf-4.6 suffix and place non-overlapping files into new gcc46-compiler
package which can co-exist with other gcc4x-compiler packages. Overlapping files
are left in main gcc46 package which still conflicts with other gcc4x packages.
<<
Homepage: http://gcc.gnu.org/
Maintainer: Jack Howarth
<<

gcc46 stable port .patch

diff -uNr gcc-4.6.3.orig/gcc/testsuite/lib/prune.exp gcc-4.6.3/gcc/testsuite/lib/prune.exp
--- gcc-4.6.3.orig/gcc/testsuite/lib/prune.exp 2011-10-19 09:52:45.000000000 -0400
+++ gcc-4.6.3/gcc/testsuite/lib/prune.exp 2012-02-24 11:23:13.000000000 -0500
@@ -59,7 +59,10 @@
regsub -all "(^|\n)\[^\n\]*ld: warning: can't add line info to anonymous symbol\[^\n\]*" $text "" text
regsub -all "(^|\n)\[^\n\]*warning: DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*" $text "" text
regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*TAG_variable: AT_location\[^\n\]*didn't have valid function low pc\[^\n\]*" $text "" text
-
+
+ # Ignore harmless warnings from Xcode 4.0.
+ regsub -all "(^|\n)\[^\n\]*ld: warning: could not create compact unwind for\[^\n\]*" $text "" text
+
#send_user "After:$text\n"

return $text
diff -uNr gcc-4.6.3.orig/libjava/Makefile.am gcc-4.6.3/libjava/Makefile.am
--- gcc-4.6.3.orig/libjava/Makefile.am 2011-06-18 00:31:10.000000000 -0400
+++ gcc-4.6.3/libjava/Makefile.am 2012-02-24 11:23:13.000000000 -0500
@@ -492,7 +492,7 @@
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \
$(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version` \
- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
+ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LDLIBICONV)
libgcj_la_LIBADD = \
classpath/native/fdlibm/libfdlibm.la \
java/lang/Object.lo \
diff -uNr gcc-4.6.3.orig/libjava/Makefile.in gcc-4.6.3/libjava/Makefile.in
--- gcc-4.6.3.orig/libjava/Makefile.in 2011-06-18 00:33:10.000000000 -0400
+++ gcc-4.6.3/libjava/Makefile.in 2012-02-24 11:23:13.000000000 -0500
@@ -1066,7 +1066,7 @@
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \
$(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version` \
- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
+ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LDLIBICONV)

libgcj_la_LIBADD = \
classpath/native/fdlibm/libfdlibm.la \
diff -uNr gcc-4.6.3.orig/libjava/configure gcc-4.6.3/libjava/configure
--- gcc-4.6.3.orig/libjava/configure 2012-02-24 11:16:47.000000000 -0500
+++ gcc-4.6.3/libjava/configure 2012-02-24 11:23:13.000000000 -0500
@@ -1619,6 +1619,8 @@
default=yes
--enable-java-maintainer-mode
allow rebuilding of .class and .h files
+ --enable-libjava-multilib
+ build libjava as multilib
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-maintainer-mode enable make rules and dependencies not useful
@@ -3363,6 +3365,16 @@
fi


+# Check whether --enable-libjava-multilib was given.
+if test "${enable_libjava_multilib+set}" = set; then
+ enableval=$enable_libjava_multilib;
+fi
+
+if test "$enable_libjava_multilib" = no; then
+ multilib=no
+ ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.


diff -uNr gcc-4.6.3.orig/libjava/configure.ac gcc-4.6.3/libjava/configure.ac
--- gcc-4.6.3.orig/libjava/configure.ac 2012-02-24 11:16:46.000000000 -0500
+++ gcc-4.6.3/libjava/configure.ac 2012-02-24 11:23:13.000000000 -0500
@@ -139,6 +139,13 @@
[allow rebuilding of .class and .h files]))
AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)

+AC_ARG_ENABLE(libjava-multilib,
+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
+if test "$enable_libjava_multilib" = no; then
+ multilib=no
+ ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
GCC_NO_EXECUTABLES

diff -uNr gcc-4.6.3.orig/libjava/libgcj.spec.in gcc-4.6.3/libjava/libgcj.spec.in
--- gcc-4.6.3.orig/libjava/libgcj.spec.in 2011-06-18 00:30:08.000000000 -0400
+++ gcc-4.6.3/libjava/libgcj.spec.in 2012-02-24 11:23:13.000000000 -0500
@@ -7,6 +7,6 @@
*startfile: @THREADSTARTFILESPEC@ %(startfileorig)

%rename lib liborig
-*lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @LDLIBICONV@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig)
+*lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig)

*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions
diff -uNr gcc-4.6.3.orig/libquadmath/configure gcc-4.6.3/libquadmath/configure
--- gcc-4.6.3.orig/libquadmath/configure 2011-12-19 19:21:18.000000000 -0500
+++ gcc-4.6.3/libquadmath/configure 2012-02-24 11:23:13.000000000 -0500
@@ -3395,7 +3395,7 @@
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
- ac_status=$?
+ ac_status=0
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
diff -uNr gcc-4.6.3.orig/libstdc++-v3/testsuite/lib/prune.exp gcc-4.6.3/libstdc++-v3/testsuite/lib/prune.exp
--- gcc-4.6.3.orig/libstdc++-v3/testsuite/lib/prune.exp 2011-09-01 18:03:45.000000000 -0400
+++ gcc-4.6.3/libstdc++-v3/testsuite/lib/prune.exp 2012-02-24 11:23:13.000000000 -0500
@@ -55,6 +55,10 @@
regsub -all "(^|\n)\[^\n\]*warning: DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*" $text "" text
regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*TAG_variable: AT_location\[^\n\]*didn't have valid function low pc\[^\n\]*" $text "" text

+ # Ignore harmless warnings from Xcode 4.0.
+ regsub -all "(^|\n)\[^\n\]*ld: warning: could not create compact unwind for\[^\n\]*" $text "" text
+
+
foreach p $additional_prunes {
if { [string length $p] > 0 } {
# Following regexp matches a complete line containing $p.
diff -uNr gcc-4.6.3.orig/boehm-gc/configure gcc-4.6.3/boehm-gc/configure
--- gcc-4.6.3.orig/boehm-gc/configure 2012-02-24 11:16:46.000000000 -0500
+++ gcc-4.6.3/boehm-gc/configure 2012-02-24 11:31:21.000000000 -0500
@@ -15246,6 +15246,17 @@
fi
done

+for ac_func in pthread_get_stackaddr_np
+do :
+ ac_fn_c_check_func "$LINENO" "pthread_get_stackaddr_np" "ac_cv_func_pthread_get_stackaddr_np"
+if test "x$ac_cv_func_pthread_get_stackaddr_np" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_PTHREAD_GET_STACKADDR_NP 1
+_ACEOF
+
+fi
+done
+
LIBS="$oldLIBS"

# Configuration of machine-dependent code
diff -uNr gcc-4.6.3.orig/boehm-gc/configure.ac gcc-4.6.3/boehm-gc/configure.ac
--- gcc-4.6.3.orig/boehm-gc/configure.ac 2012-02-24 11:16:46.000000000 -0500
+++ gcc-4.6.3/boehm-gc/configure.ac 2012-02-24 11:31:21.000000000 -0500
@@ -392,6 +392,7 @@
oldLIBS="$LIBS"
LIBS="$LIBS $THREADLIBS"
AC_CHECK_FUNCS([pthread_getattr_np])
+AC_CHECK_FUNCS([pthread_get_stackaddr_np])
LIBS="$oldLIBS"

# Configuration of machine-dependent code
diff -uNr gcc-4.6.3.orig/boehm-gc/include/gc_config.h.in gcc-4.6.3/boehm-gc/include/gc_config.h.in
--- gcc-4.6.3.orig/boehm-gc/include/gc_config.h.in 2012-02-24 11:16:46.000000000 -0500
+++ gcc-4.6.3/boehm-gc/include/gc_config.h.in 2012-02-24 11:31:21.000000000 -0500
@@ -87,6 +87,9 @@
/* Define to 1 if you have the `pthread_getattr_np' function. */
#undef HAVE_PTHREAD_GETATTR_NP

+/* Define to 1 if you have the `pthread_get_stackaddr_np_np' function. */
+#undef HAVE_PTHREAD_GET_STACKADDR_NP
+
/* Define to 1 if you have the header file. */
#undef HAVE_STDINT_H

diff -uNr gcc-4.6.3.orig/boehm-gc/include/private/gcconfig.h gcc-4.6.3/boehm-gc/include/private/gcconfig.h
--- gcc-4.6.3.orig/boehm-gc/include/private/gcconfig.h 2012-02-24 11:16:46.000000000 -0500
+++ gcc-4.6.3/boehm-gc/include/private/gcconfig.h 2012-02-24 11:31:21.000000000 -0500
@@ -1331,7 +1331,11 @@
These aren't used when dyld support is enabled (it is by default) */
# define DATASTART ((ptr_t) get_etext())
# define DATAEND ((ptr_t) get_end())
-# define STACKBOTTOM ((ptr_t) 0xc0000000)
+# ifdef HAVE_PTHREAD_GET_STACKADDR_NP
+# define STACKBOTTOM (ptr_t)pthread_get_stackaddr_np(pthread_self())
+# else
+# define STACKBOTTOM ((ptr_t) 0xc0000000)
+# endif
# define USE_MMAP
# define USE_MMAP_ANON
# define USE_ASM_PUSH_REGS
@@ -2011,7 +2015,11 @@
These aren't used when dyld support is enabled (it is by default) */
# define DATASTART ((ptr_t) get_etext())
# define DATAEND ((ptr_t) get_end())
-# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
+# ifdef HAVE_PTHREAD_GET_STACKADDR_NP
+# define STACKBOTTOM (ptr_t)pthread_get_stackaddr_np(pthread_self())
+# else
+# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
+# endif
# define USE_MMAP
# define USE_MMAP_ANON
# ifdef GC_DARWIN_THREADS
diff -uNr gcc-4.6.3.orig/libjava/configure gcc-4.6.3/libjava/configure
--- gcc-4.6.3.orig/libjava/configure 2012-02-24 11:34:47.000000000 -0500
+++ gcc-4.6.3/libjava/configure 2012-02-24 11:31:21.000000000 -0500
@@ -19787,14 +19787,9 @@
SYSTEMSPEC="-lunicows $SYSTEMSPEC"
fi
;;
- *-*-darwin9*)
+ *-*-darwin[912]*)
SYSTEMSPEC="%{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
;;
- *-*-darwin[12]*)
- # Something is incompatible with pie, would be nice to fix it and
- # remove -no_pie. PR49461
- SYSTEMSPEC="-no_pie %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
- ;;
*)
SYSTEMSPEC=
;;
diff -uNr gcc-4.6.3.orig/libjava/configure.ac gcc-4.6.3/libjava/configure.ac
--- gcc-4.6.3.orig/libjava/configure.ac 2012-02-24 11:34:47.000000000 -0500
+++ gcc-4.6.3/libjava/configure.ac 2012-02-24 11:31:21.000000000 -0500
@@ -893,14 +893,9 @@
SYSTEMSPEC="-lunicows $SYSTEMSPEC"
fi
;;
- *-*-darwin9*)
+ *-*-darwin[[912]]*)
SYSTEMSPEC="%{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
;;
- *-*-darwin[[12]]*)
- # Something is incompatible with pie, would be nice to fix it and
- # remove -no_pie. PR49461
- SYSTEMSPEC="-no_pie %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
- ;;
*)
SYSTEMSPEC=
;;

gcc46 _unstable_ port .patch