mirror of
https://gitdl.cn/https://github.com/chakralinux/lib32.git
synced 2025-01-24 01:42:15 +08:00
Last commits for today, gcc-multilib & binutils-multimedia
This commit is contained in:
parent
505e0cce9f
commit
3c077d275d
66
binutils-multimedia/PKGBUILD
Normal file
66
binutils-multimedia/PKGBUILD
Normal file
@ -0,0 +1,66 @@
|
||||
|
||||
# Maintainer: abveritas <abveritas@chakra-project.org>
|
||||
|
||||
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
|
||||
|
||||
pkgname=binutils-multilib
|
||||
pkgver=2.20.1
|
||||
pkgrel=3
|
||||
pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib"
|
||||
arch=('x86_64')
|
||||
url="http://www.gnu.org/software/binutils/"
|
||||
license=('GPL')
|
||||
provides=("binutils=$pkgver-$pkgrel")
|
||||
conflicts=('binutils')
|
||||
depends=('glibc>=2.11-1' 'zlib')
|
||||
makedepends=('gcc-multilib') # Make sure we compile this with gcc-multilib
|
||||
options=('!libtool' '!distcc' '!ccache')
|
||||
install=binutils.install
|
||||
source=(http://www.chakra-project.org/repo/core-testing/i686/binutils-${pkgver}-${pkgrel}-i686.pkg.tar.xz)
|
||||
md5sums=('cf7f68995b6156fa5328da2ea2fcbdb6')
|
||||
|
||||
build() {
|
||||
cd ${srcdir}
|
||||
mkdir build && cd build
|
||||
|
||||
CC="gcc -L`pwd`/bfd/.libs/"
|
||||
if [ "${CARCH}" = "x86_64" ]; then
|
||||
../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-64-bit-bfd
|
||||
else
|
||||
../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared
|
||||
fi
|
||||
# fix man files install path
|
||||
sed -i -e "s:mandir \= \/usr\/share:mandir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
|
||||
# fix info files install path
|
||||
sed -i -e "s:infodir \= \/usr\/share:infodir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
|
||||
|
||||
# This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
|
||||
make configure-host || return 1
|
||||
|
||||
make tooldir=${pkgdir}/usr || return 1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${srcdir}/build
|
||||
make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
|
||||
install -m644 ${srcdir}/include/libiberty.h ${pkgdir}/usr/include
|
||||
|
||||
# Rebuild libiberty.a with -fPIC
|
||||
make -C libiberty clean
|
||||
make CFLAGS="$CFLAGS -fPIC" -C libiberty
|
||||
install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib
|
||||
|
||||
# Rebuild libbfd.a with -fPIC
|
||||
make -C bfd clean
|
||||
# hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
|
||||
make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
|
||||
install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
|
||||
|
||||
rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
|
||||
|
||||
# Remove these symlinks, with binutils prereleases they are not ABI stable.
|
||||
# Programs should compile static to the .a file.
|
||||
rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
|
||||
echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so
|
||||
echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so
|
||||
}
|
17
binutils-multimedia/binutils.install
Normal file
17
binutils-multimedia/binutils.install
Normal file
@ -0,0 +1,17 @@
|
||||
infodir=/usr/share/info
|
||||
filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info)
|
||||
|
||||
post_upgrade() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
for file in ${filelist[@]}; do
|
||||
install-info $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
for file in ${filelist[@]}; do
|
||||
install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
264
gcc-multilib/PKGBUILD
Normal file
264
gcc-multilib/PKGBUILD
Normal file
@ -0,0 +1,264 @@
|
||||
#
|
||||
# Maintainer: abveritas <abveritas@chakra-project.org>
|
||||
|
||||
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
|
||||
# NOTE: libtool requires rebuilt with each new gcc version
|
||||
|
||||
pkgbase='gcc-multilib'
|
||||
pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib')
|
||||
pkgver=4.5.1
|
||||
pkgrel=1
|
||||
_corerel=1 # core/gcc pkgrel this is based on
|
||||
#_snapshot=4.5-20100610
|
||||
_libstdcppmanver=20100719 # Note: check source directory name when updating this
|
||||
pkgdesc="The GNU Compiler Collection for multilib"
|
||||
arch=('x86_64')
|
||||
license=('GPL' 'LGPL' 'custom')
|
||||
url="http://gcc.gnu.org"
|
||||
makedepends=('binutils-multilib>=2.20.1' 'libmpc>=0.8.2-2' 'cloog-ppl>=0.15.9-2' 'elfutils' 'gcc-ada-multilib'
|
||||
'glibc>=2.11.1-2' 'lib32-glibc>=2.12.1')
|
||||
options=('!libtool' '!emptydirs')
|
||||
source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,ada}-${pkgver}.tar.bz2
|
||||
#ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,ada}-${_snapshot}.tar.bz2
|
||||
ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
|
||||
gcc_pure64.patch
|
||||
gcc-hash-style-both.patch)
|
||||
md5sums=('dc8959e31b01a65ce10d269614815054'
|
||||
'b294953ff0bb2f20c7acb2bf005d832a'
|
||||
'7567c2f8df8a8bf61b48fe414b88de65'
|
||||
'3c11b7037896e967eddf8178af2ddd98'
|
||||
'c92111e2e22fc60d1e0adb1b5c7fa4f9'
|
||||
'226ae0c6364cfe2c1f7ac88d06088d5a'
|
||||
'22cec272f9cc2801d3cd348feaca888b'
|
||||
'6fd395bacbd7b6e47c7b74854b478363')
|
||||
|
||||
|
||||
if [ -n "${_snapshot}" ]; then
|
||||
_basedir="${srcdir}/gcc-${_snapshot}"
|
||||
else
|
||||
_basedir="${srcdir}/gcc-${pkgver}"
|
||||
fi
|
||||
|
||||
build() {
|
||||
if ! locale -a | grep ^de_DE > /dev/null; then
|
||||
echo "You need the de_DE locale to build gcc."
|
||||
return 1
|
||||
fi
|
||||
|
||||
cd ${_basedir}
|
||||
|
||||
# "Add" ppl-0.11 compatibility
|
||||
sed -i "/ppl_minor_version=/s#10#11#" configure
|
||||
|
||||
# Do not install libiberty
|
||||
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
|
||||
|
||||
# Do not run fixincludes
|
||||
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
|
||||
|
||||
if [ "${CARCH}" = "x86_64" ]; then
|
||||
patch -Np1 -i ../gcc_pure64.patch
|
||||
fi
|
||||
patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
|
||||
|
||||
echo ${pkgver} > gcc/BASE-VER
|
||||
|
||||
# Add PATH for pod2man. Needed for manpages
|
||||
export PATH="$PATH:/usr/lib/perl5/core_perl/bin"
|
||||
|
||||
mkdir build && cd build
|
||||
../configure --prefix=/usr --enable-languages=c,c++,fortran,objc,obj-c++,ada \
|
||||
--enable-shared --enable-threads=posix --enable-__cxa_atexit \
|
||||
--enable-clocale=gnu --enable-gnu-unique-object \
|
||||
--enable-lto --enable-plugin \
|
||||
--enable-multilib --disable-libstdcxx-pch \
|
||||
--with-system-zlib --with-ppl --with-cloog \
|
||||
--libdir=/usr/lib --libexecdir=/usr/lib \
|
||||
--mandir=/usr/share/man --infodir=/usr/share/info
|
||||
make
|
||||
}
|
||||
|
||||
package_gcc-libs-multilib()
|
||||
{
|
||||
pkgdesc="Runtime libraries shipped by GCC for C and C++ languages for multilib"
|
||||
depends=('glibc>=2.11.1-2' "lib32-gcc-libs=$pkgver-$pkgrel")
|
||||
provides=("gcc-libs=$pkgver-$_corerel")
|
||||
conflicts=('gcc-libs')
|
||||
install=gcc-libs.install
|
||||
|
||||
cd ${_basedir}/build
|
||||
make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
|
||||
for lib in libmudflap libgomp libssp libstdc++-v3/src; do
|
||||
make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
|
||||
done
|
||||
make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
|
||||
make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
|
||||
|
||||
make -j1 DESTDIR=${pkgdir} install-target-libgfortran
|
||||
|
||||
make -j1 DESTDIR=${pkgdir} install-target-libobjc
|
||||
|
||||
# I thought I said to only install the lib...
|
||||
rm -rf ${pkgdir}/usr/lib/gcc/
|
||||
rm -rf ${pkgdir}/usr/lib32
|
||||
|
||||
# remove static libraries
|
||||
find ${pkgdir} -name *.a -delete
|
||||
|
||||
# Install Runtime Library Exception
|
||||
install -Dm644 ${_basedir}/COPYING.RUNTIME \
|
||||
${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION
|
||||
}
|
||||
|
||||
package_lib32-gcc-libs()
|
||||
{
|
||||
pkgdesc="Runtime libraries shipped by GCC for C and C++ languages (32-bit)"
|
||||
depends=('lib32-glibc>=2.12.1' "gcc-libs>=$pkgver-$_corerel")
|
||||
|
||||
cd ${_basedir}/build
|
||||
make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared
|
||||
for lib in libmudflap libgomp libssp libstdc++-v3/src; do
|
||||
make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
|
||||
done
|
||||
|
||||
make -j1 DESTDIR=${pkgdir} install-target-libgfortran
|
||||
|
||||
make -j1 DESTDIR=${pkgdir} install-target-libobjc
|
||||
|
||||
# I thought I said to only install the lib...
|
||||
rm -rf ${pkgdir}/usr/lib
|
||||
|
||||
# remove static libraries
|
||||
find ${pkgdir} -name *.a -delete
|
||||
|
||||
# Install Runtime Library Exception
|
||||
install -Dm644 ${_basedir}/COPYING.RUNTIME \
|
||||
${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION
|
||||
}
|
||||
|
||||
package_gcc-multilib()
|
||||
{
|
||||
depends=('binutils-multilib>=2.20.1' 'libmpc>=0.8.1-2' 'cloog-ppl>=0.15.9-2' 'elfutils' \
|
||||
"gcc-libs-multilib=$pkgver-$pkgrel")
|
||||
provides=("gcc=$pkgver-$_corerel")
|
||||
conflicts=('gcc')
|
||||
install=gcc.install
|
||||
|
||||
cd ${_basedir}/build
|
||||
|
||||
# much, much easier to install the lot and clean-up the mess
|
||||
make -j1 DESTDIR=${pkgdir} install
|
||||
rm $pkgdir/usr/bin/{*gfortran,gnat*}
|
||||
rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}ada{include,lib},finclude,include/objc}/*
|
||||
rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,{,32/}libgfortranbegin.a}
|
||||
rm $pkgdir/usr/lib{,32}/{*.so*,lib{gfortran,objc}.a}
|
||||
rm $pkgdir/usr/share/info/{gfortran,gnat*,libgomp}.info
|
||||
rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
|
||||
rm $pkgdir/usr/share/man/man1/gfortran.1
|
||||
|
||||
# many packages require these symlinks
|
||||
install -dm755 ${pkgdir}/lib
|
||||
ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp
|
||||
ln -sf gcc ${pkgdir}/usr/bin/cc
|
||||
ln -sf g++ ${pkgdir}/usr/bin/c++
|
||||
|
||||
# POSIX conformance launcher scripts for c89 and c99
|
||||
cat > $pkgdir/usr/bin/c89 <<"EOF"
|
||||
#!/bin/sh
|
||||
fl="-std=c89"
|
||||
for opt; do
|
||||
case "$opt" in
|
||||
-ansi|-std=c89|-std=iso9899:1990) fl="";;
|
||||
-std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
exec gcc $fl ${1+"$@"}
|
||||
EOF
|
||||
|
||||
cat > $pkgdir/usr/bin/c99 <<"EOF"
|
||||
#!/bin/sh
|
||||
fl="-std=c99"
|
||||
for opt; do
|
||||
case "$opt" in
|
||||
-std=c99|-std=iso9899:1999) fl="";;
|
||||
-std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
exec gcc $fl ${1+"$@"}
|
||||
EOF
|
||||
|
||||
chmod 755 $pkgdir/usr/bin/c{8,9}9
|
||||
|
||||
# install the libstdc++ man pages
|
||||
install -dm755 ${pkgdir}/usr/share/man/man3
|
||||
install -m644 ${srcdir}/libstdc++-api-${_libstdcppmanver}.man/man3/* \
|
||||
${pkgdir}/usr/share/man/man3/
|
||||
# deal with conflicts...
|
||||
rm -f ${pkgdir}/usr/share/man/man3/{ctime,queue,random,regex,string}.3
|
||||
|
||||
# Install Runtime Library Exception
|
||||
install -Dm644 ${_basedir}/COPYING.RUNTIME \
|
||||
${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION
|
||||
}
|
||||
|
||||
package_gcc-fortran-multilib()
|
||||
{
|
||||
pkgdesc="Fortran front-end for GCC for multilib"
|
||||
depends=("gcc-multilib=$pkgver-$pkgrel")
|
||||
provides=("gcc-fortran=$pkgver-$_corerel")
|
||||
conflicts=('gcc-fortran')
|
||||
install=gcc-fortran.install
|
||||
|
||||
cd ${_basedir}/build
|
||||
make -j1 DESTDIR=$pkgdir install-target-libgfortran
|
||||
make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
|
||||
make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
|
||||
install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
|
||||
|
||||
# remove libraries included in gcc-libs
|
||||
rm -f ${pkgdir}/usr/lib{,32}/libgfortran.so*
|
||||
|
||||
# Install Runtime Library Exception
|
||||
install -Dm644 ${_basedir}/COPYING.RUNTIME \
|
||||
${pkgdir}/usr/share/licenses/gcc-fortran-multilib/RUNTIME.LIBRARY.EXCEPTION
|
||||
}
|
||||
|
||||
package_gcc-objc-multilib()
|
||||
{
|
||||
pkgdesc="Objective-C front-end for GCC for multilib"
|
||||
depends=("gcc-multilib=$pkgver-$pkgrel")
|
||||
provides=("gcc-objc=$pkgver-$_corerel")
|
||||
conflicts=('gcc-objc')
|
||||
|
||||
cd ${_basedir}/build
|
||||
make -j1 DESTDIR=$pkgdir install-target-libobjc
|
||||
install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
|
||||
install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
|
||||
|
||||
# remove libraries included in gcc-libs
|
||||
rm -f ${pkgdir}/usr/lib{,32}/libobjc.so*
|
||||
|
||||
# Install Runtime Library Exception
|
||||
install -Dm644 ${_basedir}/COPYING.RUNTIME \
|
||||
${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION
|
||||
}
|
||||
|
||||
package_gcc-ada-multilib()
|
||||
{
|
||||
pkgdesc="Ada front-end for GCC (GNAT) for multilib"
|
||||
depends=("gcc-multilib=$pkgver-$pkgrel")
|
||||
provides=("gcc-ada=$pkgver-$_corerel")
|
||||
conflicts=('gcc-ada')
|
||||
install=gcc-ada.install
|
||||
|
||||
cd ${_basedir}/build
|
||||
make -j1 -C gcc DESTDIR=$pkgdir ada.install-{common,info}
|
||||
install -m755 gcc/gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
|
||||
make -j1 -C $CHOST/32/libada DESTDIR=${pkgdir} install-gnatlib
|
||||
|
||||
# Install Runtime Library Exception
|
||||
install -Dm644 ${_basedir}/COPYING.RUNTIME \
|
||||
${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION
|
||||
}
|
22
gcc-multilib/gcc-ada.install
Normal file
22
gcc-multilib/gcc-ada.install
Normal file
@ -0,0 +1,22 @@
|
||||
infodir=/usr/share/info
|
||||
filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
|
||||
|
||||
post_install() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
for file in ${filelist[@]}; do
|
||||
install-info $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
for file in ${filelist[@]}; do
|
||||
install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
163
gcc-multilib/gcc-hash-style-both.patch
Normal file
163
gcc-multilib/gcc-hash-style-both.patch
Normal file
@ -0,0 +1,163 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
# DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc)
|
||||
|
||||
dir=
|
||||
if [ $# -eq 3 -a "$2" = '-d' ]; then
|
||||
pdir="-d $3"
|
||||
dir="$3/"
|
||||
elif [ $# -ne 1 ]; then
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
fi
|
||||
case "$1" in
|
||||
-patch)
|
||||
patch $pdir -f --no-backup-if-mismatch -p0 < $0
|
||||
#cd ${dir}gcc && autoconf
|
||||
;;
|
||||
-unpatch)
|
||||
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
|
||||
#rm ${dir}gcc/configure
|
||||
;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
esac
|
||||
exit 0
|
||||
|
||||
2006-07-11 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/i386/linux.h (LINK_SPEC): Add --hash-style=both.
|
||||
* config/i386/linux64.h (LINK_SPEC): Likewise.
|
||||
* config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
|
||||
* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
|
||||
LINK_OS_LINUX_SPEC64): Likewise.
|
||||
* config/s390/linux.h (LINK_SPEC): Likewise.
|
||||
* config/ia64/linux.h (LINK_SPEC): Likewise.
|
||||
* config/sparc/linux.h (LINK_SPEC): Likewise.
|
||||
* config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
|
||||
LINK_ARCH64_SPEC): Likewise.
|
||||
* config/alpha/linux-elf.h (LINK_SPEC): Likewise.
|
||||
|
||||
--- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200
|
||||
+++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
#define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
|
||||
|
||||
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
|
||||
+#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
|
||||
%{O*:-O3} %{!O*:-O1} \
|
||||
%{shared:-shared} \
|
||||
%{!shared: \
|
||||
--- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200
|
||||
+++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC \
|
||||
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
|
||||
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
|
||||
%{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{static:-static} \
|
||||
--- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200
|
||||
+++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200
|
||||
@@ -132,7 +132,7 @@
|
||||
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
|
||||
+#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
|
||||
%{!mno-relax:%{!r:-relax}} \
|
||||
%{!shared: \
|
||||
%{!ibcs: \
|
||||
--- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200
|
||||
+++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200
|
||||
@@ -166,7 +166,7 @@
|
||||
{ "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
|
||||
{ "link_arch", LINK_ARCH_SPEC },
|
||||
|
||||
-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
|
||||
+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!ibcs: \
|
||||
%{!static: \
|
||||
@@ -175,7 +175,7 @@
|
||||
%{static:-static}}} \
|
||||
"
|
||||
|
||||
-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
|
||||
+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!ibcs: \
|
||||
%{!static: \
|
||||
@@ -256,7 +256,7 @@
|
||||
#else /* !SPARC_BI_ARCH */
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
|
||||
+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!ibcs: \
|
||||
%{!static: \
|
||||
--- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200
|
||||
+++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200
|
||||
@@ -108,7 +108,7 @@
|
||||
{ "dynamic_linker", LINUX_DYNAMIC_LINKER }
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
|
||||
+#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!ibcs: \
|
||||
%{!static: \
|
||||
--- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200
|
||||
+++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200
|
||||
@@ -65,7 +65,7 @@
|
||||
#endif
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
|
||||
+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
|
||||
%{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
--- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100
|
||||
+++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200
|
||||
@@ -40,7 +40,7 @@
|
||||
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "\
|
||||
+#define LINK_SPEC "--hash-style=both \
|
||||
%{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
--- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200
|
||||
+++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200
|
||||
@@ -901,7 +901,7 @@
|
||||
#define LINUX_DYNAMIC_LINKER \
|
||||
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
|
||||
|
||||
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
|
||||
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
|
||||
|
||||
--- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200
|
||||
+++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200
|
||||
@@ -354,11 +354,11 @@
|
||||
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
|
||||
|
||||
|
||||
-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
|
||||
+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
|
||||
|
||||
-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
|
||||
+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
|
||||
|
14
gcc-multilib/gcc-libs.install
Normal file
14
gcc-multilib/gcc-libs.install
Normal file
@ -0,0 +1,14 @@
|
||||
infodir=/usr/share/info
|
||||
file="libgomp.info"
|
||||
|
||||
post_upgrade() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
install-info $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
22
gcc-multilib/gcc.install
Normal file
22
gcc-multilib/gcc.install
Normal file
@ -0,0 +1,22 @@
|
||||
infodir=/usr/share/info
|
||||
filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
|
||||
|
||||
post_install() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
for file in ${filelist[@]}; do
|
||||
install-info $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
[ -x usr/bin/install-info ] || return 0
|
||||
for file in ${filelist[@]}; do
|
||||
install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
24
gcc-multilib/gcc_pure64.patch
Normal file
24
gcc-multilib/gcc_pure64.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
|
||||
--- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
|
||||
+++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
|
||||
@@ -49,7 +49,7 @@
|
||||
done. */
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
|
||||
diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
|
||||
--- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
|
||||
+++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
MULTILIB_OPTIONS = m64/m32
|
||||
MULTILIB_DIRNAMES = 64 32
|
||||
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
|
||||
+MULTILIB_OSDIRNAMES = ../lib ../lib32
|
||||
|
||||
LIBGCC = stmp-multilib
|
||||
INSTALL_LIBGCC = install-multilib
|
Loading…
Reference in New Issue
Block a user