gcc43: rename and rebuild

This updates the build to use the common gcc build
infrastructure.
Additionally the package is renamed from gcc436 to gcc43
to match tgcwarev2.
This commit is contained in:
Tom G. Christensen 2013-11-24 01:05:27 +01:00
parent e0085f0867
commit d970bad34e
7 changed files with 344 additions and 446 deletions

View File

@ -5,81 +5,39 @@
# #
########################################################### ###########################################################
# Check the following 4 variables before running the script # Check the following 4 variables before running the script
snapshot=
topdir=gcc topdir=gcc
version=4.3.6 version=4.3.6
pkgver=1 pkgver=2
source[0]=ftp://ftp.sunet.se/pub/gnu/gcc/releases/$topdir-$version/$topdir-$version.tar.bz2 source[0]=ftp://ftp.sunet.se/pub/gnu/gcc/releases/$topdir-$version/$topdir-$version.tar.bz2
#source[0]=gcc-4.3-$snapshot.tar.bz2
## If there are no patches, simply comment this ## If there are no patches, simply comment this
#patch[0]= patch[0]=gcc-4.3.6-libffi-unwind.patch
# Source function library # Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions . ${BUILDPKG_SCRIPTS}/buildpkg.functions
# Global settings # Common settings for gcc
lprefix=$prefix . ${BUILDPKG_BASE}/gcc/build.sh.gcc.common
[ -n "$snapshot" ] && topsrcdir=gcc-$version-$snapshot
prefix=/usr/tgcware/$topdir-$version
__configure="../$topsrcdir/configure"
make_build_target=bootstrap
# Define abbreviated version number (for pkgdef) # This compiler is bootstrapped with gcc 4.2.4
abbrev_ver=$(echo $version | ${__tr} -d '.') export PATH=/usr/tgcware/gcc42/bin:$PATH
# Just major.minor, no subminors
majorminor=$(echo $version | cut -d. -f1-2)
configure_args=(--prefix=$prefix --with-local-prefix=$prefix --with-gmp=$lprefix --with-mpfr=$lprefix --disable-nls --enable-shared)
langs="--enable-languages=c,ada,c++,fortran,objc,obj-c++"
linker="--without-gnu-ld --with-ld=/usr/ccs/bin/ld"
assembler="--without-gnu-as --with-as=/usr/ccs/bin/as"
objdir=all_native
# platform/arch specific options
[ "$_os" = "sunos56" -a "$arch" = "i386" ] && assembler="--with-gnu-as --with-as=$lprefix/bin/gas"
[ "$_os" = "sunos56" ] && { platform_configure_args="--with-libiconv-prefix=$lprefix --enable-threads=posix95 --enable-obsolete"; sol26=1; }
[ "$_os" = "sunos57" ] && { langs="$langs,java --with-java-awt=xlib"; sol27=1; }
[ "$arch" = "sparc" ] && { vendor="sun"; sparc=1; } || { vendor="pc"; intel=1; }
[ "$arch" = "sparc" -a -n "$(isalist | grep sparcv9)" ] && { sparcv9=1; m64run=1; } || m64run=0
[ "$arch" = "sparc" ] && configure_args+=(--with-cpu=v7)
configure_args+=($linker $assembler $langs $platform_configure_args)
LDFLAGS="-Wl,-R,$prefix/lib -Wl,-R,$lprefix/lib"
export CONFIG_SHELL=/bin/ksh
datestamp()
{
date +%Y%m%d%H%M
}
reg prep reg prep
prep() prep()
{ {
datestamp
generic_prep generic_prep
datestamp
} }
reg build reg build
build() build()
{ {
datestamp setup_tools
setdir source ${__mkdir} -p ${srcdir}/$objdir
${__mkdir} -p ../$objdir generic_build ../$objdir
echo "$__configure $configure_args"
setdir ../$objdir
${__configure} $configure_args
${__make} -j2 LDFLAGS="$LDFLAGS" BOOT_LDFLAGS="$LDFLAGS" $make_build_target
# ${__make} LDFLAGS="$LDFLAGS" BOOT_LDFLAGS="$LDFLAGS"
#generic_build ../$objdir
datestamp
} }
reg install reg install
install() install()
{ {
datestamp
clean stage clean stage
setdir ${srcdir}/${objdir} setdir ${srcdir}/${objdir}
${__make} DESTDIR=$stagedir install ${__make} DESTDIR=$stagedir install
@ -87,113 +45,30 @@ install()
generic_install generic_install
${__find} ${stagedir} -name '*.la' -print | ${__xargs} ${__rm} -f ${__find} ${stagedir} -name '*.la' -print | ${__xargs} ${__rm} -f
# Prepare for split lib packages # Rearrange libraries
${__mkdir} -p ${stagedir}${lprefix}/${_libdir} redo_libs
setdir ${stagedir}${prefix}/${_libdir}
${__tar} -cf - libgcc_s.so.1 libstdc++.so.6* libgfortran.so.3* libobjc.so.2* libgomp.so.1* |
(cd ${stagedir}${lprefix}/${_libdir}; ${__tar} -xvBpf -)
if [ $m64run -eq 1 ]; then # Also install v9 libraries
${__mkdir} -p ${stagedir}${lprefix}/${_libdir}/sparcv9
setdir ${stagedir}${prefix}/${_libdir}/sparcv9
${__tar} -cf - libgcc_s.so.1 libstdc++.so.6* libgfortran.so.3* libobjc.so.2* libgomp.so.1* |
(cd ${stagedir}${lprefix}/${_libdir}/sparcv9; ${__tar} -xvBpf -)
fi
# Grab gnat libraries from adalib
${__cp} -p ${stagedir}${prefix}/${_libdir}/gcc/${arch}-${vendor}-solaris*/${version}/adalib/libgnarl-$majorminor.so ${stagedir}${lprefix}/${_libdir}
${__cp} -p ${stagedir}${prefix}/${_libdir}/gcc/${arch}-${vendor}-solaris*/${version}/adalib/libgnat-$majorminor.so ${stagedir}${lprefix}/${_libdir}
# Turn all the hardlinks in bin into symlinks # Turn all the hardlinks in bin into symlinks
setdir ${stagedir}${prefix}/${_bindir} redo_bin
for i in c++ ${arch}-${vendor}-solaris*-c++ ${arch}-${vendor}-solaris*-g++
do
${__rm} -f $i
${__ln} -sf g++ $i
done
for i in ${arch}-${vendor}-solaris*-gcc ${arch}-${vendor}-solaris*-gcc-$version
do
${__rm} -f $i
${__ln} -sf gcc $i
done
for i in ${arch}-${vendor}-solaris*-gfortran
do
${__rm} -f $i
${__ln} -sf gfortran $i
done
for i in ${arch}-${vendor}-solaris*-gcj
do
${__rm} -f $i
${__ln} -sf gcj $i
done
# Place share/docs in the regular location # Place share/docs in the regular location
prefix=$topinstalldir prefix=$topinstalldir
doc COPYING* MAINTAINERS NEWS doc COPYING* MAINTAINERS NEWS
# Setup compat files
for pkg in libgcc_s1 libstdc++6
do
${__rm} -f $metadir/compver.$pkg
compat $pkg 3.4.6 1 5
compat $pkg 4.0.4 1 2
compat $pkg 4.1.2 1 2
compat $pkg 4.2.3 1 2
compat $pkg 4.2.4 1 2
compat $pkg 4.3.1 1 2
compat $pkg 4.3.2 1 2
compat $pkg 4.3.3 1 2
compat $pkg 4.3.4 1 2
compat $pkg 4.3.5 1 2
done
compat libobjc2 4.2.3 1 2
compat libobjc2 4.2.4 1 2
compat libobjc2 4.3.1 1 2
compat libobjc2 4.3.2 1 2
compat libobjc2 4.3.3 1 2
compat libobjc2 4.3.4 1 2
compat libobjc2 4.3.5 1 2
compat libgomp1 4.2.3 1 2
compat libgomp1 4.2.4 1 2
compat libgomp1 4.3.1 1 2
compat libgomp1 4.3.2 1 2
compat libgomp1 4.3.3 1 2
compat libgomp1 4.3.4 1 2
compat libgomp1 4.3.5 1 2
compat libgfortran3 4.3.1 1 2
compat libgfortran3 4.3.2 1 2
compat libgfortran3 4.3.3 1 2
compat libgfortran3 4.3.4 1 2
compat libgfortran3 4.3.5 1 2
compat libgnat43 4.3.2 1 2
compat libgnat43 4.3.3 1 2
compat libgnat43 4.3.4 1 2
compat libgnat43 4.3.5 1 2
datestamp
} }
reg check reg check
check() check()
{ {
datestamp
setdir source setdir source
setdir ../$objdir setdir ../$objdir
# If we can run v9 binaries then we also run the testsuite with -m64 ${__make} -k check
if [ $m64run -eq 0 ]; then
${__make} -k check
else
echo "Running the testsuite also with -m64"
${__make} -k RUNTESTFLAGS="--target_board='unix{,-m64}'" check
fi
datestamp
} }
reg pack reg pack
pack() pack()
{ {
datestamp iprefix=${topdir}${abbrev_majorminor}
iprefix=$topdir-$version
generic_pack generic_pack
datestamp
} }
reg distclean reg distclean
@ -201,8 +76,7 @@ distclean()
{ {
META_CLEAN="$META_CLEAN compver.*" META_CLEAN="$META_CLEAN compver.*"
clean distclean clean distclean
setdir $srcdir ${__rm} -rf $srcdir/$objdir
${__rm} -rf $objdir
} }
################################################### ###################################################

View File

@ -1,5 +1,8 @@
CHANGELOG CHANGELOG
--------- ---------
* Sun Oct 13 2013 Tom G. Christensen <swpkg@jupiterrise.com> - 4.3.6-2
- Sync with tgcware v2
* Wed Aug 17 2011 Tom G. Christensen <swpkg@jupiterrise.com> - 4.3.6-1 * Wed Aug 17 2011 Tom G. Christensen <swpkg@jupiterrise.com> - 4.3.6-1
- Update to 4.3.6 - Update to 4.3.6

View File

@ -1,6 +1,18 @@
TGCg431c libgcc_s1 auto TGCg43c TGCbinut auto
TGCg431gn gcc auto TGCg43c libgcc_s1 auto
TGCg431cx gcc auto TGCg43c libgomp1 auto
TGCg431ob gcc auto TGCg43cx gcc auto
TGCg431ft gcc auto TGCg43cx libstdc++6 auto
TGCg431ox gcc auto TGCg43ft gcc auto
TGCg43ft libgfortran3 auto
TGCg43gn gcc auto
TGCg43gn libgnat43 auto
TGCg43ob gcc auto
TGCg43ob libobjc2 auto
TGCg43ox gcc auto
TGClgfrt3 libgcc_s1 auto
TGClgna43 libgcc_s1 auto
TGClgomp1 libgcc_s1 auto
TGClobjc2 libgcc_s1 auto
TGClssp0 libgcc_s1 auto
TGClstdc6 libgcc_s1 auto

17
gcc43/meta/depend.sparc Normal file
View File

@ -0,0 +1,17 @@
TGCg43c libgcc_s1 auto
TGCg43c libgomp1 auto
TGCg43cx gcc auto
TGCg43cx libstdc++6 auto
TGCg43ft gcc auto
TGCg43ft libgfortran3 auto
TGCg43gn gcc auto
TGCg43gn libgnat43 auto
TGCg43ob gcc auto
TGCg43ob libobjc2 auto
TGCg43ox gcc auto
TGClgfrt3 libgcc_s1 auto
TGClgna43 libgcc_s1 auto
TGClgomp1 libgcc_s1 auto
TGClobjc2 libgcc_s1 auto
TGClssp0 libgcc_s1 auto
TGClstdc6 libgcc_s1 auto

View File

@ -1,114 +1,70 @@
[gcc] [gcc]
pkgname="${pkgprefix}g${abbrev_ver}c" pkgname="${pkgprefix}g${abbrev_majorminor}c"
name="GCC - GNU Compiler Collection (C)" name="GCC - GNU Compiler Collection (C)"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
pkgdesc="GNU Compiler Collection (C)" pkgdesc="GNU Compiler Collection (C)"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
dir $iprefix/share
$iprefix/$_bindir/*gcc* $iprefix/$_bindir/*gcc*
$iprefix/$_bindir/*gcov* $iprefix/$_bindir/*gcov*
$iprefix/$_bindir/cpp $iprefix/$_bindir/cpp
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/gcrt* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/gcrt*
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/crt* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/crt*
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/libgcc* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/gmon.o
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/libgcov* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libgcc*
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/gmon.o lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libgcov*
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/gcrt* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libgomp*
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/crt* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libiberty.*
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/libgcc* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libssp*
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/libgcov* # We will not enumerate the fixed-includes, since they will vary according
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/gmon.o # to the buildhost. They are mostly included as a convenience and should
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/README # be regenerated on the install host.
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/X11 lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include-fixed/*
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/Xm # real gcc includes
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/kcms lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/ammintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/xil lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/bmmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/curses.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/cpuid.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/iso646.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/emmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/limits.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/float.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/math.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/iso646.h
if(sol26)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/memory.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/mm3dnow.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/pthread.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/mm_malloc.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/root lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/mmintrin-common.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/stdarg.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/mmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/stdbool.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/nmmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/stddef.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/omp.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/stdio.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/pmmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/stdlib.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/smmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/sys lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/stdarg.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/syslimits.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/stdbool.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/unistd.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/stddef.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/unwind.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/stdfix.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/varargs.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/tgmath.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/stdarg.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/tmmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/stddef.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/unwind.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/stdfix.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/varargs.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/float.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/xmmintrin.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/tgmath.h # ssp includes
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/float.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/ssp/ssp.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/varargs.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/ssp/stdio.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/alloca.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/ssp/string.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/ctype.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/ssp/unistd.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/gelf.h lib/$libsubdir/${arch}-${vendor}-solaris*/$version/install-tools
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/kerberos/osconf.h libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/libelf.h libexec/gcc/${arch}-${vendor}-solaris*/$version/collect2
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/link.h libexec/gcc/${arch}-${vendor}-solaris*/$version/install-tools
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/locale.h
if(sparc)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/netinet/if_ether.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/omp.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/proc_service.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/prof.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/setjmp.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/signal.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ssp/ssp.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ssp/stdio.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ssp/string.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ssp/unistd.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/string.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/thread.h
if(sparc)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/thread_db.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/time.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/tzfile.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/widec.h
if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/arpa/nameser_compat.h
if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/rpc/xdr.h
if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/stdio_tag.h
if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/wchar.h
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ffi.h
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ffitarget.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/install-tools
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/install-tools
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/collect2
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1
$iprefix/info/dir $iprefix/info/dir
$iprefix/info/gcc* $iprefix/info/gcc*
$iprefix/info/cpp* $iprefix/info/cpp*
$iprefix/info/libgomp.info $iprefix/info/libgomp*
$iprefix/lib/libiberty.a
$iprefix/lib/libgcc*
$iprefix/lib/libgomp*
$iprefix/lib/libssp*
if(sparcv9)$iprefix/lib/libffi*
if(sparcv9)$iprefix/lib/sparcv9/libssp*
if(sparcv9)$iprefix/lib/sparcv9/libgomp*
if(sparcv9)$iprefix/lib/sparcv9/libgcc*
if(sparcv9)$iprefix/lib/sparcv9/libiberty*
if(sparcv9)$iprefix/lib/sparcv9/libffi*
$iprefix/man/?a?1/gcc.1 $iprefix/man/?a?1/gcc.1
$iprefix/man/?a?1/cpp.1 $iprefix/man/?a?1/cpp.1
$iprefix/man/?a?1/gcov.1 $iprefix/man/?a?1/gcov.1
$iprefix/man/?a?7/*.7 $iprefix/man/?a?7/*.7
$_sharedir $_vdocdir
# Only on i386
if(intel)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/*intrin.h
if(intel)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/cpuid.h
if(intel)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/mmintrin-common.h
if(intel)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/mm3dnow.h
if(intel)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/mm_malloc.h
[gcc-gnat] [gcc-gnat]
pkgname="${pkgprefix}g${abbrev_ver}gn" pkgname="${pkgprefix}g${abbrev_majorminor}gn"
name="gcc-gnat - GNU Compiler Collection (Ada)" name="gcc-gnat - GNU Compiler Collection (Ada)"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
pkgdesc="Ada support for GCC" pkgdesc="Ada support for GCC"
@ -127,140 +83,136 @@ $iprefix/bin/gnatmake
$iprefix/bin/gnatname $iprefix/bin/gnatname
$iprefix/bin/gnatprep $iprefix/bin/gnatprep
$iprefix/bin/gnatxref $iprefix/bin/gnatxref
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/adainclude $iprefix/lib/$libsubdir/${arch}-${vendor}-solaris*/$version/adainclude
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/adalib $iprefix/lib/$libsubdir/${arch}-${vendor}-solaris*/$version/adalib
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/gnat1 lib/$libsubdir/${arch}-${vendor}-solaris*/$version/adainclude
lib/$libsubdir/${arch}-${vendor}-solaris*/$version/adalib
libexec/gcc/${arch}-${vendor}-solaris*/$version/gnat1
$iprefix/info/gnat* $iprefix/info/gnat*
[gcc-c++] [gcc-c++]
pkgname="${pkgprefix}g${abbrev_ver}cx" pkgname="${pkgprefix}g${abbrev_majorminor}cx"
name="gcc-c++ - GNU Compiler Collection (C++)" name="gcc-c++ - GNU Compiler Collection (C++)"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
pkgdesc="C++ support for GCC" pkgdesc="C++ support for GCC"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$iprefix/bin/*++* $iprefix/bin/*++*
$iprefix/include/c++/${version}/algorithm include/c++/${version}/algorithm
$iprefix/include/c++/${version}/array include/c++/${version}/array
$iprefix/include/c++/${version}/backward/* include/c++/${version}/backward/*
$iprefix/include/c++/${version}/bits/* include/c++/${version}/bits/*
$iprefix/include/c++/${version}/bitset include/c++/${version}/bitset
$iprefix/include/c++/${version}/c++0x_warning.h include/c++/${version}/c++0x_warning.h
$iprefix/include/c++/${version}/cassert include/c++/${version}/cassert
$iprefix/include/c++/${version}/ccomplex include/c++/${version}/ccomplex
$iprefix/include/c++/${version}/cctype include/c++/${version}/cctype
$iprefix/include/c++/${version}/cerrno include/c++/${version}/cerrno
$iprefix/include/c++/${version}/cfenv include/c++/${version}/cfenv
$iprefix/include/c++/${version}/cfloat include/c++/${version}/cfloat
$iprefix/include/c++/${version}/cinttypes include/c++/${version}/cinttypes
$iprefix/include/c++/${version}/ciso646 include/c++/${version}/ciso646
$iprefix/include/c++/${version}/climits include/c++/${version}/climits
$iprefix/include/c++/${version}/clocale include/c++/${version}/clocale
$iprefix/include/c++/${version}/cmath include/c++/${version}/cmath
$iprefix/include/c++/${version}/complex include/c++/${version}/complex
$iprefix/include/c++/${version}/complex.h include/c++/${version}/complex.h
$iprefix/include/c++/${version}/csetjmp include/c++/${version}/csetjmp
$iprefix/include/c++/${version}/csignal include/c++/${version}/csignal
$iprefix/include/c++/${version}/cstdarg include/c++/${version}/cstdarg
$iprefix/include/c++/${version}/cstdbool include/c++/${version}/cstdbool
$iprefix/include/c++/${version}/cstddef include/c++/${version}/cstddef
$iprefix/include/c++/${version}/cstdint include/c++/${version}/cstdint
$iprefix/include/c++/${version}/cstdio include/c++/${version}/cstdio
$iprefix/include/c++/${version}/cstdlib include/c++/${version}/cstdlib
$iprefix/include/c++/${version}/cstring include/c++/${version}/cstring
$iprefix/include/c++/${version}/ctgmath include/c++/${version}/ctgmath
$iprefix/include/c++/${version}/ctime include/c++/${version}/ctime
$iprefix/include/c++/${version}/cwchar include/c++/${version}/cwchar
$iprefix/include/c++/${version}/cwctype include/c++/${version}/cwctype
$iprefix/include/c++/${version}/cxxabi-forced.h include/c++/${version}/cxxabi-forced.h
$iprefix/include/c++/${version}/cxxabi.h include/c++/${version}/cxxabi.h
$iprefix/include/c++/${version}/debug/* include/c++/${version}/debug/*
$iprefix/include/c++/${version}/deque include/c++/${version}/deque
$iprefix/include/c++/${version}/exception include/c++/${version}/exception
$iprefix/include/c++/${version}/exception_defines.h include/c++/${version}/exception_defines.h
$iprefix/include/c++/${version}/ext/* include/c++/${version}/ext/*
$iprefix/include/c++/${version}/fenv.h include/c++/${version}/fenv.h
$iprefix/include/c++/${version}/fstream include/c++/${version}/fstream
$iprefix/include/c++/${version}/functional include/c++/${version}/functional
$iprefix/include/c++/${version}/iomanip include/c++/${version}/iomanip
$iprefix/include/c++/${version}/ios include/c++/${version}/ios
$iprefix/include/c++/${version}/iosfwd include/c++/${version}/iosfwd
$iprefix/include/c++/${version}/iostream include/c++/${version}/iostream
$iprefix/include/c++/${version}/istream include/c++/${version}/istream
$iprefix/include/c++/${version}/iterator include/c++/${version}/iterator
$iprefix/include/c++/${version}/limits include/c++/${version}/limits
$iprefix/include/c++/${version}/list include/c++/${version}/list
$iprefix/include/c++/${version}/locale include/c++/${version}/locale
$iprefix/include/c++/${version}/map include/c++/${version}/map
$iprefix/include/c++/${version}/memory include/c++/${version}/memory
$iprefix/include/c++/${version}/new include/c++/${version}/new
$iprefix/include/c++/${version}/numeric include/c++/${version}/numeric
$iprefix/include/c++/${version}/ostream include/c++/${version}/ostream
$iprefix/include/c++/${version}/parallel/* include/c++/${version}/parallel/*
$iprefix/include/c++/${version}/queue include/c++/${version}/queue
$iprefix/include/c++/${version}/random include/c++/${version}/random
$iprefix/include/c++/${version}/regex include/c++/${version}/regex
$iprefix/include/c++/${version}/set include/c++/${version}/set
$iprefix/include/c++/${version}/sstream include/c++/${version}/sstream
$iprefix/include/c++/${version}/stack include/c++/${version}/stack
$iprefix/include/c++/${version}/stdexcept include/c++/${version}/stdexcept
$iprefix/include/c++/${version}/streambuf include/c++/${version}/streambuf
$iprefix/include/c++/${version}/string include/c++/${version}/string
$iprefix/include/c++/${version}/tgmath.h include/c++/${version}/tgmath.h
$iprefix/include/c++/${version}/tr1/* include/c++/${version}/tr1/*
$iprefix/include/c++/${version}/tr1_impl/* include/c++/${version}/tr1_impl/*
$iprefix/include/c++/${version}/tuple include/c++/${version}/tuple
$iprefix/include/c++/${version}/type_traits include/c++/${version}/type_traits
$iprefix/include/c++/${version}/typeinfo include/c++/${version}/typeinfo
$iprefix/include/c++/${version}/unordered_map include/c++/${version}/unordered_map
$iprefix/include/c++/${version}/unordered_set include/c++/${version}/unordered_set
$iprefix/include/c++/${version}/utility include/c++/${version}/utility
$iprefix/include/c++/${version}/valarray include/c++/${version}/valarray
$iprefix/include/c++/${version}/vector include/c++/${version}/vector
$iprefix/include/c++/${version}/${arch}-${vendor}-solaris*/bits include/c++/${version}/${arch}-${vendor}-solaris*/bits
if(sparcv9)$iprefix/include/c++/${version}/${arch}-${vendor}-solaris*/sparcv9/bits lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libstdc++.*
$iprefix/lib/libstdc++.* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libsupc++.*
$iprefix/lib/libsupc++.a libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1plus
if(sparcv9)$iprefix/lib/sparcv9/libstdc++.*
if(sparcv9)$iprefix/lib/sparcv9/libsupc++.a
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1plus
$iprefix/man/man1/g++.1 $iprefix/man/man1/g++.1
[gcc-objc] [gcc-objc]
pkgname="${pkgprefix}g${abbrev_ver}ob" pkgname="${pkgprefix}g${abbrev_majorminor}ob"
name="gcc-objc - GNU Compiler Collection (Objective-C)" name="gcc-objc - GNU Compiler Collection (Objective-C)"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
pkgdesc="Objective-C support for GCC" pkgdesc="Objective-C support for GCC"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/objc lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include/objc
$iprefix/lib/libobjc.* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libobjc.*
if(sparcv9)$iprefix/lib/sparcv9/libobjc.* libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1obj
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1obj
[gcc-objc++] [gcc-objc++]
pkgname="${pkgprefix}g${abbrev_ver}ox" pkgname="${pkgprefix}g${abbrev_majorminor}ox"
name="gcc-objc++ - GNU Compiler Collection (Objective-C++)" name="gcc-objc++ - GNU Compiler Collection (Objective-C++)"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
pkgdesc="Objective-C++ support for GCC" pkgdesc="Objective-C++ support for GCC"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1objplus libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1objplus
[gcc-gfortran] [gcc-gfortran]
pkgname="${pkgprefix}g${abbrev_ver}ft" pkgname="${pkgprefix}g${abbrev_majorminor}ft"
name="gcc-gfortran - GNU Compiler Collection (Fortran)" name="gcc-gfortran - GNU Compiler Collection (Fortran)"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
pkgdesc="Fortran support for GCC" pkgdesc="Fortran support for GCC"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$iprefix/bin/*fortran $iprefix/bin/*fortran
$iprefix/lib/libgfortran.* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/finclude/omp*
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/libgfortranbegin.a lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libgfortranbegin.a
if(sparcv9)$iprefix/lib/sparcv9/libgfortran.* lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libgfortran.*
if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/libgfortranbegin.a libexec/gcc/${arch}-${vendor}-solaris*/$version/f951
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/finclude
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/f951
$iprefix/man/?a?1/gfortran.1 $iprefix/man/?a?1/gfortran.1
$iprefix/info/gfortran.info* $iprefix/info/gfortran.info*
@ -273,7 +225,6 @@ pkgdesc="Runtime support library for C"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$_libdir/libgcc_s.so.1* $_libdir/libgcc_s.so.1*
if(sparcv9)$_libdir/sparcv9/libgcc_s.so.1*
[libstdc++6] [libstdc++6]
pkgname="${pkgprefix}lstdc6" pkgname="${pkgprefix}lstdc6"
@ -284,21 +235,19 @@ pkgdesc="Runtime support library for C++"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$_libdir/libstdc++.so.6* $_libdir/libstdc++.so.6*
if(sparcv9)$_libdir/sparcv9/libstdc++.so.6*
[libobjc2] [libobjc2]
pkgname="${pkgprefix}lobjc2" pkgname="${pkgprefix}lobjc2"
name="libojc2 - GNU Objective-C shared support library" name="libobjc2 - GNU Objective-C shared support library"
pkgcat="system" pkgcat="system"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
pkgdesc="Runtime support library for Objective-C" pkgdesc="Runtime support library for Objective-C"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$_libdir/libobjc.so.2* $_libdir/libobjc.so.2*
if(sparcv9)$_libdir/sparcv9/libobjc.so.2*
[libgfortran3] [libgfortran3]
pkgname="${pkgprefix}lgft3" pkgname="${pkgprefix}lgfrt3"
name="libgfortran3 - GNU Fortran shared support library" name="libgfortran3 - GNU Fortran shared support library"
pkgcat="system" pkgcat="system"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
@ -306,10 +255,30 @@ pkgdesc="Runtime support library for Fortran"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$_libdir/libgfortran.so.3* $_libdir/libgfortran.so.3*
if(sparcv9)$_libdir/sparcv9/libgfortran.so.3*
[libgnat43]
pkgname="${pkgprefix}lgna${abbrev_majorminor}"
name="libgnat${abbrev_majorminor} - GNU Ada shared support library"
pkgcat="system"
pkgvendor="http://gcc.gnu.org"
pkgdesc="Runtime support library for Ada"
pkgver="$pkgver"
files(-,root,bin)
$_libdir/libgnat-${majorminor}.so
$_libdir/libgnarl-${majorminor}.so
[libssp0]
pkgname="${pkgprefix}lssp0"
name="libssp0 - GNU Stack Smashing Protection shared support library"
pkgcat="system"
pkgvendor="http://gcc.gnu.org"
pkgdesc="Runtime support library for Stack Smashing Protection"
pkgver="$pkgver"
files(-,root,bin)
$_libdir/libssp.so.0*
[libgomp1] [libgomp1]
pkgname="${pkgprefix}lgo1" pkgname="${pkgprefix}lgomp1"
name="libgomp1 - GNU OpenMP shared support library" name="libgomp1 - GNU OpenMP shared support library"
pkgcat="system" pkgcat="system"
pkgvendor="http://gcc.gnu.org" pkgvendor="http://gcc.gnu.org"
@ -317,101 +286,4 @@ pkgdesc="Runtime support library for OpenMP"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)
$_libdir/libgomp.so.1* $_libdir/libgomp.so.1*
if(sparcv9)$_libdir/sparcv9/libgomp.so.1*
[libgnat43]
pkgname="${pkgprefix}lga43"
name="libgnat43 - GNU Ada shared support library"
pkgcat="system"
pkgvendor="http://gcc.gnu.org"
pkgdesc="Runtime support library for Ada"
pkgver="$pkgver"
files(-,root,bin)
$_libdir/libgnat-4.3.so
$_libdir/libgnarl-4.3.so
# These packages only exist when java is enabled
# RH splits libgcj into it's own package, I can't be bothered...
[gcc-java]
pkgname="${pkgprefix}g${abbrev_ver}jv"
name="gcc-java - GNU Compiler Collection (Java)"
pkgvendor="http://gcc.gnu.org"
pkgdesc="Java support for GCC"
pkgver="$pkgver"
files(-,root,bin)
# These files are gcc-java
$iprefix/bin/*gcj
$iprefix/bin/gcjh
$iprefix/bin/jcf-dump
$iprefix/lib/libgcj-tools.*
$iprefix/lib/libgcj.*
$iprefix/lib/libgij.*
if(sparcv9)$iprefix/lib/sparcv9/libgcj-tools.*
if(sparcv9)$iprefix/lib/sparcv9/libgcj.*
if(sparcv9)$iprefix/lib/sparcv9/libgij.*
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/jc1
$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/jvgenmain
$iprefix/man/?a?1/gcj.1
$iprefix/man/?a?1/gcjh.1
$iprefix/man/?a?1/jcf-dump.1
$iprefix/info/gcj.info*
# These files are libgcj
$iprefix/bin/gappletviewer
$iprefix/bin/gcj-dbtool
$iprefix/bin/gij
$iprefix/bin/gjar
$iprefix/bin/gjarsigner
$iprefix/bin/gkeytool
$iprefix/bin/gorbd
$iprefix/bin/grmic
$iprefix/bin/grmid
$iprefix/bin/grmiregistry
$iprefix/bin/gserialver
$iprefix/bin/gtnameserv
$iprefix/bin/jv-convert
$iprefix/lib/gcj-${version}-9/classmap.db
$iprefix/lib/gcj-${version}-9/libjvm.so
$iprefix/lib/gcj-${version}-9/libjvm.a
$iprefix/lib/logging.properties
$iprefix/lib/pkgconfig/libgcj*.pc
$iprefix/lib/security/classpath.security
if(sparcv9)$iprefix/lib/sparcv9/gcj-${version}-9/classmap.db
if(sparcv9)$iprefix/lib/sparcv9/gcj-${version}-9/libjvm.so
if(sparcv9)$iprefix/lib/sparcv9/gcj-${version}-9/libjvm.a
if(sparcv9)$iprefix/lib/sparcv9/logging.properties
if(sparcv9)$iprefix/lib/sparcv9/security/classpath.security
$iprefix/man/?a?1/gappletviewer.1
$iprefix/man/?a?1/gcj-dbtool.1
$iprefix/man/?a?1/gij.1
$iprefix/man/?a?1/gjar.1
$iprefix/man/?a?1/gjarsigner.1
$iprefix/man/?a?1/gkeytool.1
$iprefix/man/?a?1/gorbd.1
$iprefix/man/?a?1/grmic.1
$iprefix/man/?a?1/grmid.1
$iprefix/man/?a?1/grmiregistry.1
$iprefix/man/?a?1/gserialver.1
$iprefix/man/?a?1/gtnameserv.1
$iprefix/man/?a?1/jv-convert.1
$iprefix/info/cp-tools.info*
$iprefix/share/java/libgcj*-${version}.jar
# These files are libgcj-devel
$iprefix/bin/addr2name.awk
$iprefix/bin/gc-analyze
$iprefix/bin/gjavah
$iprefix/bin/gnative2ascii
$iprefix/include/c++/${version}/gcj
$iprefix/include/c++/${version}/gnu
$iprefix/include/c++/${version}/java
$iprefix/include/c++/${version}/javax
$iprefix/include/c++/${version}/org
$iprefix/include/c++/${version}/sun
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/gcj/libgcj-config.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jawt.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jawt_md.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jni.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jni_md.h
$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jvmpi.h
$iprefix/man/?a?1/gc-analyze.1
$iprefix/man/?a?1/gjavah.1
$iprefix/man/?a?1/gnative2ascii.1

30
gcc43/meta/relnotes Normal file
View File

@ -0,0 +1,30 @@
PACKAGE DETAILS
---------------
Name: %%PKGNAME%%
Version: %%SOURCE_AND_VER%%
Vendor: %%VENDOR%%
Packager: %%PKGEDBY%%
Source (sha1sum):
%%SOURCE_SHA1SUM%%
BUILD DETAILS
-------------
Compiler:
%%COMPILER%%
Environment:
%%ENVIRONMENT%%
Configure:
%%CONFIGURE%%
KNOWN DEPENDENCIES
------------------
%%DEPENDENCIES%%
ERRORS/MISCELLANEOUS
--------------------
After installation the fixed-includes should be regenerated.
Go to /usr/tgcware/libexec/gcc/<platform>/<version>/install-tools and run
the mkheaders program.

View File

@ -0,0 +1,90 @@
http://gcc.gnu.org/ml/java-patches/2010-q1/msg00058.html
diff -up gcc-4.3.6/libffi/configure.ac.unwind gcc-4.3.6/libffi/configure.ac
--- gcc-4.3.6/libffi/configure.ac.unwind 2010-05-06 19:19:46.000000000 +0200
+++ gcc-4.3.6/libffi/configure.ac 2012-07-08 22:32:03.657151000 +0200
@@ -243,6 +243,21 @@ if test x$TARGET = xSPARC; then
fi
fi
+if test x$TARGET = xX86_64; then
+ AC_CACHE_CHECK([assembler supports unwind section type],
+ libffi_cv_as_x86_64_unwind_section_type, [
+ libffi_cv_as_x86_64_unwind_section_type=yes
+ echo '.section .eh_frame,"a",@unwind' > conftest.s
+ if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
+ libffi_cv_as_x86_64_unwind_section_type=no
+ fi
+ ])
+ if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
+ AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
+ [Define if your assembler supports unwind section type.])
+ fi
+fi
+
AC_CACHE_CHECK([whether .eh_frame section should be read-only],
libffi_cv_ro_eh_frame, [
libffi_cv_ro_eh_frame=no
diff -up gcc-4.3.6/libffi/configure.unwind gcc-4.3.6/libffi/configure
--- gcc-4.3.6/libffi/configure.unwind 2011-06-27 13:28:31.000000000 +0200
+++ gcc-4.3.6/libffi/configure 2012-07-08 22:41:02.689711000 +0200
@@ -12522,6 +12522,31 @@ _ACEOF
fi
fi
+if test x$TARGET = xX86_64; then
+ echo "$as_me:$LINENO: checking assembler supports unwind section type" >&5
+echo $ECHO_N "checking assembler supports unwind section type... $ECHO_C" >&6
+if test "${libffi_cv_as_x86_64_unwind_section_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ libffi_cv_as_x86_64_unwind_section_type=yes
+ echo '.section .eh_frame,"a",@unwind' > conftest.s
+ if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
+ libffi_cv_as_x86_64_unwind_section_type=no
+ fi
+
+fi
+echo "$as_me:$LINENO: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
+echo "${ECHO_T}$libffi_cv_as_x86_64_unwind_section_type" >&6
+ if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1
+_ACEOF
+
+ fi
+fi
+
echo "$as_me:$LINENO: checking whether .eh_frame section should be read-only" >&5
echo $ECHO_N "checking whether .eh_frame section should be read-only... $ECHO_C" >&6
if test "${libffi_cv_ro_eh_frame+set}" = set; then
diff -up gcc-4.3.6/libffi/fficonfig.h.in.unwind gcc-4.3.6/libffi/fficonfig.h.in
--- gcc-4.3.6/libffi/fficonfig.h.in.unwind 2011-06-27 13:28:31.000000000 +0200
+++ gcc-4.3.6/libffi/fficonfig.h.in 2012-07-08 22:40:32.000000000 +0200
@@ -37,6 +37,9 @@
*/
#undef HAVE_AS_SPARC_UA_PCREL
+/* Define if your assembler supports unwind section type. */
+#undef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
diff -up gcc-4.3.6/libffi/src/x86/unix64.S.unwind gcc-4.3.6/libffi/src/x86/unix64.S
--- gcc-4.3.6/libffi/src/x86/unix64.S.unwind 2005-05-05 06:06:38.000000000 +0200
+++ gcc-4.3.6/libffi/src/x86/unix64.S 2012-07-08 22:33:05.996220000 +0200
@@ -326,7 +326,11 @@ ffi_closure_unix64:
.LUW9:
.size ffi_closure_unix64,.-ffi_closure_unix64
+#ifdef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
+ .section .eh_frame,"a",@unwind
+#else
.section .eh_frame,"a",@progbits
+#endif
.Lframe1:
.long .LECIE1-.LSCIE1 /* CIE Length */
.LSCIE1: