Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
pkg-scripts/gcc-4.5.1-0.build.sh
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
105 lines (83 sloc)
2.83 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
# Note: The test suite run address sanitizer tests. In the current mariux64 environment | |
# this requires | |
# | |
# sudo sysctl vm.overcommit_memory=0 | |
PKG=gcc | |
VERSION=4.5.1 | |
BUILD=0 | |
URL=http://ftp.gnu.org/gnu/gcc/gcc-${VERSION}/gcc-${VERSION}.tar.gz | |
. /pkg/texinfo-4.13a-0/profile | |
PREFIX=/pkg/$PKG-$VERSION-$BUILD | |
if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi | |
set -xe | |
umask 022 | |
BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp | |
test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) | |
mkdir -p $BUILD_TMPDIR/home | |
export TMPDIR=$BUILD_TMPDIR | |
export HOME=$BUILD_TMPDIR/home | |
exec </dev/null | |
mkdir -p $PREFIX | |
cat >$PREFIX/profile <<-EOF | |
PATH=$PREFIX/bin:\$PATH | |
if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi | |
EOF | |
. $PREFIX/profile | |
export MAKEFLAGS="-j $(nproc)" | |
BUILDDIR=$PREFIX/build | |
mkdir -p $BUILDDIR | |
cd $BUILDDIR | |
test -e gcc-${VERSION}.tar.gz || wget $URL | |
test -d gcc-$VERSION || tar xvf gcc-${VERSION}.tar.gz | |
cd gcc-$VERSION | |
patch -N -p 1 <<__EOF__ || true | |
From 146285bd5724fe602df2ea2d171dd3f0cfc425a8 Mon Sep 17 00:00:00 2001 | |
From: Donald Buczek <buczek@molgen.mpg.de> | |
Date: Thu, 23 Apr 2020 17:19:31 +0200 | |
Subject: [PATCH] i386/linux-unwind.h: Remove struct ucontext | |
With glibc 2.26, the "struct ucontext" definition was removed [1]. | |
Replace with ucontext_t so we can compile with glibc >=2.26. | |
[1]: https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27struct_ucontext.27 | |
--- | |
gcc/config/i386/linux-unwind.h | 2 +- | |
1 file changed, 1 insertion(+), 1 deletion(-) | |
diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h | |
index 36ee370..061921f 100644 | |
--- a/gcc/config/i386/linux-unwind.h | |
+++ b/gcc/config/i386/linux-unwind.h | |
@@ -47,7 +47,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, | |
if (*(unsigned char *)(pc+0) == 0x48 | |
&& *(unsigned long *)(pc+1) == 0x050f0000000fc0c7) | |
{ | |
- struct ucontext *uc_ = context->cfa; | |
+ ucontext_t *uc_ = context->cfa; | |
/* The void * cast is necessary to avoid an aliasing warning. | |
The aliasing warning is correct, but should not be a problem | |
because it does not alias anything. */ | |
-- | |
2.26.2 | |
__EOF__ | |
mkdir -p objdir | |
cd objdir | |
$BUILDDIR/gcc-$VERSION/configure \ | |
--prefix=$PREFIX \ | |
--enable-shared \ | |
--enable-threads=posix \ | |
--enable-__cxa_atexit \ | |
--enable-clocale=gnu \ | |
--enable-languages=c \ | |
--disable-multilib \ | |
--with-system-zlib \ | |
--with-diagnostics-color=auto-if-env \ | |
--disable-libmudflap | |
make | |
(make -k check 2>&1 || true) | tee check.log | |
MAKEFLAGS= make install | |
cd $PREFIX | |
mkdir -vp lib | |
ln -sfv ${PREFIX}/bin/cpp lib/ | |
ln -sfv gcc bin/cc | |
install -v -dm755 lib/bfd-plugins | |
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/$VERSION/liblto_plugin.so lib/bfd-plugins/ | |
exit |