gcc 9.2.1 fix
This commit is contained in:
+82
-29
@@ -9,26 +9,64 @@ from pisi.actionsapi import pisitools
|
|||||||
from pisi.actionsapi import shelltools
|
from pisi.actionsapi import shelltools
|
||||||
from pisi.actionsapi import get
|
from pisi.actionsapi import get
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
shelltools.export('CFLAGS', get.CFLAGS().replace('-pipe', '').replace(' -g ', ' -g3 ') + ' -Wall')
|
snapshot = False
|
||||||
shelltools.export('CXXFLAGS', get.CXXFLAGS().replace('-pipe', '').replace(' -g ', ' -g3 ') + ' -Wall')
|
|
||||||
|
|
||||||
|
if snapshot:
|
||||||
|
verMajor, verMinor = get.srcVERSION().replace("pre", "").split("_", 1)
|
||||||
|
WorkDir = "gcc-4.7-%s" % verMinor
|
||||||
|
else:
|
||||||
|
verMajor = get.srcVERSION()
|
||||||
|
|
||||||
|
arch = get.ARCH().replace("x86_64", "x86-64")
|
||||||
|
|
||||||
|
#opt_unwind = "--with-system-libunwind" if get.ARCH() == "x86_64" else "--without-system-libunwind"
|
||||||
|
opt_arch = "--with-arch_32=i686" if get.ARCH() == "x86_64" else "--with-arch=i686"
|
||||||
|
opt_multilib = "--enable-multilib" if get.ARCH() == "x86_64" else ""
|
||||||
|
|
||||||
|
# WARNING: even -fomit-frame-pointer may break the build, stack protector, fortify source etc. are off limits
|
||||||
|
cflags = "-O2 -g"
|
||||||
|
|
||||||
|
|
||||||
|
def removePisiLinuxSection(_dir):
|
||||||
|
for root, dirs, files in os.walk(_dir):
|
||||||
|
for name in files:
|
||||||
|
# FIXME: should we do this only on nonshared or all ?
|
||||||
|
# if ("crt" in name and name.endswith(".o")) or name.endswith("nonshared.a"):
|
||||||
|
if ("crt" in name and name.endswith(".o")) or name.endswith(".a"):
|
||||||
|
i = os.path.join(root, name)
|
||||||
|
shelltools.system('objcopy -R ".comment.PISILINUX.OPTs" -R ".note.gnu.build-id" %s' % i)
|
||||||
|
|
||||||
|
def exportFlags():
|
||||||
|
# we set real flags with new configure settings, these are just safe optimizations
|
||||||
|
shelltools.export("CFLAGS", cflags)
|
||||||
|
shelltools.export("CXXFLAGS", cflags)
|
||||||
|
# shelltools.export("LDFLAGS", "")
|
||||||
|
|
||||||
|
# FIXME: this may not be necessary for biarch
|
||||||
|
shelltools.export("CC", "gcc")
|
||||||
|
shelltools.export("CXX", "g++")
|
||||||
|
shelltools.export("LC_ALL", "en_US.UTF-8")
|
||||||
|
|
||||||
def setup():
|
def setup():
|
||||||
|
exportFlags()
|
||||||
|
# Maintainer mode off, do not force recreation of generated files
|
||||||
|
#shelltools.system("contrib/gcc_update --touch")
|
||||||
pisitools.dosed("gcc/Makefile.in", "\.\/fixinc\.sh", "-c true")
|
pisitools.dosed("gcc/Makefile.in", "\.\/fixinc\.sh", "-c true")
|
||||||
pisitools.dosed("gcc/config/i386/t-linux64", "m64=../lib64", "m64=../lib")
|
|
||||||
pisitools.dosed("gcc/configure", "^(ac_cpp='\$CPP\s\$CPPFLAGS)", r"\1 -O2")
|
pisitools.dosed("gcc/configure", "^(ac_cpp='\$CPP\s\$CPPFLAGS)", r"\1 -O2")
|
||||||
pisitools.dosed("libiberty/configure", "^(ac_cpp='\$CPP\s\$CPPFLAGS)", r"\1 -O2")
|
pisitools.dosed("libiberty/configure", "^(ac_cpp='\$CPP\s\$CPPFLAGS)", r"\1 -O2")
|
||||||
|
|
||||||
shelltools.move("isl-0.21", "isl")
|
shelltools.move("isl-0.21", "isl")
|
||||||
shelltools.move("mpfr-4.0.2", "mpfr")
|
shelltools.move("mpfr-4.0.2", "mpfr")
|
||||||
shelltools.move("mpc-1.1.0", "mpc")
|
shelltools.move("mpc-1.1.0", "mpc")
|
||||||
shelltools.move("gmp-6.1.2", "gmp")
|
shelltools.move("gmp-6.1.2", "gmp")
|
||||||
|
|
||||||
|
shelltools.cd("../")
|
||||||
|
shelltools.makedirs("build")
|
||||||
|
shelltools.cd("build")
|
||||||
|
|
||||||
shelltools.makedirs("../build")
|
shelltools.system('.././gcc-%s/configure \
|
||||||
shelltools.cd("../build")
|
|
||||||
|
|
||||||
shelltools.system('../gcc-%s/configure \
|
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--bindir=/usr/bin \
|
--bindir=/usr/bin \
|
||||||
--libdir=/usr/lib \
|
--libdir=/usr/lib \
|
||||||
@@ -36,8 +74,9 @@ def setup():
|
|||||||
--includedir=/usr/include \
|
--includedir=/usr/include \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
--infodir=/usr/share/info \
|
--infodir=/usr/share/info \
|
||||||
--with-bugurl=https://pisilinux.org/bugs \
|
--with-bugurl=http://bugs.pisilinux.org \
|
||||||
--enable-languages=c,c++,fortran,lto,objc,obj-c++ \
|
--enable-languages=c,c++,fortran,lto,objc,obj-c++ \
|
||||||
|
--disable-libgcj \
|
||||||
--enable-shared \
|
--enable-shared \
|
||||||
--enable-threads=posix \
|
--enable-threads=posix \
|
||||||
--with-system-zlib \
|
--with-system-zlib \
|
||||||
@@ -48,47 +87,61 @@ def setup():
|
|||||||
--disable-libssp \
|
--disable-libssp \
|
||||||
--enable-gnu-unique-object \
|
--enable-gnu-unique-object \
|
||||||
--enable-linker-build-id \
|
--enable-linker-build-id \
|
||||||
|
--enable-cloog-backend=isl \
|
||||||
|
--disable-cloog-version-check \
|
||||||
--enable-lto \
|
--enable-lto \
|
||||||
--enable-plugin \
|
--enable-plugin \
|
||||||
--with-linker-hash-style=gnu \
|
--with-linker-hash-style=gnu \
|
||||||
--with-pkgversion="Pisi Linux" \
|
--with-pkgversion="Pisi Linux" \
|
||||||
--with-isl \
|
|
||||||
--disable-werror \
|
--disable-werror \
|
||||||
--enable-checking=release \
|
--enable-checking=release \
|
||||||
--enable-install-libiberty \
|
--build=%s \
|
||||||
--enable-gnu-indirect-function \
|
%s \
|
||||||
--enable-multilib \
|
%s ' % ( verMajor , get.HOST(), opt_arch, opt_multilib))
|
||||||
--enable-default-pie \
|
|
||||||
--enable-default-ssp \
|
|
||||||
--enable-cet' % get.srcVERSION())
|
|
||||||
|
|
||||||
|
|
||||||
def build():
|
def build():
|
||||||
|
exportFlags()
|
||||||
|
|
||||||
shelltools.cd("../build")
|
shelltools.cd("../build")
|
||||||
autotools.make()
|
autotools.make('BOOT_CFLAGS="%s" profiledbootstrap' % cflags)
|
||||||
|
|
||||||
|
|
||||||
def check():
|
|
||||||
shelltools.cd("../build")
|
|
||||||
autotools.make("-k check || true")
|
|
||||||
shelltools.system("%s/gcc/contrib/test_summary" % get.srcDIR())
|
|
||||||
|
|
||||||
|
|
||||||
def install():
|
def install():
|
||||||
shelltools.cd("../build")
|
shelltools.cd("../build")
|
||||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||||
|
#autotools.install()
|
||||||
|
|
||||||
|
for header in ["limits.h","syslimits.h"]:
|
||||||
|
pisitools.insinto("/usr/lib/gcc/%s/%s/include" % (get.HOST(), verMajor) , "gcc/include-fixed/%s" % header)
|
||||||
|
|
||||||
# Not needed
|
# Not needed
|
||||||
pisitools.removeDir("/usr/lib/gcc/*/*/include-fixed")
|
pisitools.removeDir("/usr/lib/gcc/*/*/include-fixed")
|
||||||
|
pisitools.removeDir("/usr/lib/gcc/*/*/install-tools")
|
||||||
|
|
||||||
|
# This one comes with binutils
|
||||||
|
#pisitools.remove("/usr/lib*/libiberty.a")
|
||||||
|
|
||||||
# cc symlink
|
# cc symlink
|
||||||
pisitools.dosym("/usr/bin/gcc", "/usr/bin/cc")
|
pisitools.dosym("/usr/bin/gcc" , "/usr/bin/cc")
|
||||||
|
|
||||||
# /lib/cpp symlink for legacy X11 stuff
|
# /lib/cpp symlink for legacy X11 stuff
|
||||||
pisitools.dosym("/usr/bin/cpp", "/lib/cpp")
|
pisitools.dosym("/usr/bin/cpp", "/lib/cpp")
|
||||||
|
|
||||||
|
pisitools.dosym("/usr/bin/x86_64-pc-linux-gnu-gcc-ar", "/usr/bin/x86_64-pc-linux-gnu-ar")
|
||||||
|
|
||||||
# TODO: Add liblto_plugin.so link to necessary place.
|
# Remove our options section from crt stuff
|
||||||
|
removePisiLinuxSection("%s/usr/lib/" % get.installDIR())
|
||||||
|
if get.ARCH() == "x86_64":
|
||||||
|
removePisiLinuxSection("%s/usr/lib32/" % get.installDIR())
|
||||||
|
|
||||||
gdbpy_files = shelltools.ls("%s/usr/lib/*gdb.py" % get.installDIR())
|
|
||||||
|
# autoload gdb pretty printers
|
||||||
|
gdbpy_dir = "/usr/share/gdb/auto-load/usr/lib/"
|
||||||
|
pisitools.dodir(gdbpy_dir)
|
||||||
|
|
||||||
|
gdbpy_files = shelltools.ls("%s/usr/lib/libstdc++*gdb.py*" % get.installDIR())
|
||||||
for i in gdbpy_files:
|
for i in gdbpy_files:
|
||||||
pisitools.domove("/usr/lib/%s" % shelltools.baseName(i), "/usr/share/gdb/auto-load/usr/lib")
|
pisitools.domove("/usr/lib/%s" % shelltools.baseName(i), gdbpy_dir)
|
||||||
|
|
||||||
|
if arch == "x86-64":
|
||||||
|
pisitools.remove("/usr/lib32/libstdc++*gdb.py*")
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/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+"$@"}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/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+"$@"}
|
|
||||||
Executable
+2062
File diff suppressed because it is too large
Load Diff
+71
@@ -0,0 +1,71 @@
|
|||||||
|
diff -Naur gcc-4.9-20140604-old/gcc/graphite-clast-to-gimple.c gcc-4.9-20140604/gcc/graphite-clast-to-gimple.c
|
||||||
|
--- gcc-4.9-20140604-old/gcc/graphite-clast-to-gimple.c 2014-03-03 21:39:22.000000000 +1000
|
||||||
|
+++ gcc-4.9-20140604/gcc/graphite-clast-to-gimple.c 2014-06-25 15:07:57.958697105 +1000
|
||||||
|
@@ -28,6 +28,8 @@
|
||||||
|
#include <isl/constraint.h>
|
||||||
|
#include <isl/ilp.h>
|
||||||
|
#include <isl/aff.h>
|
||||||
|
+#include <isl/deprecated/int.h>
|
||||||
|
+#include <isl/deprecated/ilp_int.h>
|
||||||
|
#include <cloog/cloog.h>
|
||||||
|
#include <cloog/isl/domain.h>
|
||||||
|
#endif
|
||||||
|
diff -Naur gcc-4.9-20140604-old/gcc/graphite-interchange.c gcc-4.9-20140604/gcc/graphite-interchange.c
|
||||||
|
--- gcc-4.9-20140604-old/gcc/graphite-interchange.c 2014-01-03 08:23:26.000000000 +1000
|
||||||
|
+++ gcc-4.9-20140604/gcc/graphite-interchange.c 2014-06-25 15:10:06.882899243 +1000
|
||||||
|
@@ -29,6 +29,9 @@
|
||||||
|
#include <isl/map.h>
|
||||||
|
#include <isl/union_map.h>
|
||||||
|
#include <isl/ilp.h>
|
||||||
|
+#include <isl/deprecated/int.h>
|
||||||
|
+#include <isl/deprecated/ilp_int.h>
|
||||||
|
+#include <isl/deprecated/constraint_int.h>
|
||||||
|
#include <cloog/cloog.h>
|
||||||
|
#include <cloog/isl/domain.h>
|
||||||
|
#endif
|
||||||
|
diff -Naur gcc-4.9-20140604-old/gcc/graphite-optimize-isl.c gcc-4.9-20140604/gcc/graphite-optimize-isl.c
|
||||||
|
--- gcc-4.9-20140604-old/gcc/graphite-optimize-isl.c 2014-01-03 08:23:26.000000000 +1000
|
||||||
|
+++ gcc-4.9-20140604/gcc/graphite-optimize-isl.c 2014-06-25 15:16:57.038386166 +1000
|
||||||
|
@@ -28,6 +28,8 @@
|
||||||
|
#include <isl/band.h>
|
||||||
|
#include <isl/aff.h>
|
||||||
|
#include <isl/options.h>
|
||||||
|
+#include <isl/deprecated/int.h>
|
||||||
|
+#include <isl/deprecated/aff_int.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "system.h"
|
||||||
|
@@ -373,7 +375,7 @@
|
||||||
|
{
|
||||||
|
for (i = ScheduleDimensions - 1 ; i >= 0 ; i--)
|
||||||
|
{
|
||||||
|
- if (isl_band_member_is_zero_distance (Band, i))
|
||||||
|
+ if (isl_band_member_is_coincident (Band, i))
|
||||||
|
{
|
||||||
|
isl_map *TileMap;
|
||||||
|
isl_union_map *TileUMap;
|
||||||
|
diff -Naur gcc-4.9-20140604-old/gcc/graphite-poly.c gcc-4.9-20140604/gcc/graphite-poly.c
|
||||||
|
--- gcc-4.9-20140604-old/gcc/graphite-poly.c 2014-01-03 08:23:26.000000000 +1000
|
||||||
|
+++ gcc-4.9-20140604/gcc/graphite-poly.c 2014-06-25 15:18:01.207157796 +1000
|
||||||
|
@@ -28,6 +28,8 @@
|
||||||
|
#include <isl/constraint.h>
|
||||||
|
#include <isl/ilp.h>
|
||||||
|
#include <isl/aff.h>
|
||||||
|
+#include <isl/deprecated/int.h>
|
||||||
|
+#include <isl/deprecated/ilp_int.h>
|
||||||
|
#include <cloog/cloog.h>
|
||||||
|
#include <cloog/isl/domain.h>
|
||||||
|
#endif
|
||||||
|
diff -Naur gcc-4.9-20140604-old/gcc/graphite-sese-to-poly.c gcc-4.9-20140604/gcc/graphite-sese-to-poly.c
|
||||||
|
--- gcc-4.9-20140604-old/gcc/graphite-sese-to-poly.c 2014-04-08 20:59:40.000000000 +1000
|
||||||
|
+++ gcc-4.9-20140604/gcc/graphite-sese-to-poly.c 2014-06-25 15:19:46.575140398 +1000
|
||||||
|
@@ -26,6 +26,9 @@
|
||||||
|
#include <isl/union_map.h>
|
||||||
|
#include <isl/constraint.h>
|
||||||
|
#include <isl/aff.h>
|
||||||
|
+#include <isl/deprecated/int.h>
|
||||||
|
+#include <isl/deprecated/aff_int.h>
|
||||||
|
+#include <isl/deprecated/constraint_int.h>
|
||||||
|
#include <cloog/cloog.h>
|
||||||
|
#include <cloog/cloog.h>
|
||||||
|
#include <cloog/isl/domain.h>
|
||||||
Executable
+107
@@ -0,0 +1,107 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# gfilt: Unix shell script driver for gcc / STL Error Decryptor
|
||||||
|
#
|
||||||
|
# Leor Zolman leor@bdsoft.com
|
||||||
|
# BD Software www.bdsoft.com
|
||||||
|
# Updated: 1/30/2008
|
||||||
|
#
|
||||||
|
# Installation: Place this file and gSTLFilt.pl somewhere in your PATH
|
||||||
|
# (Make sure Perl is also in your PATH)
|
||||||
|
#
|
||||||
|
# Usage: gfilt [mixture of compiler and Decryptor options] file(s)
|
||||||
|
#
|
||||||
|
# Purpose: Serve as a substitute for the g++ compiler driver, in-
|
||||||
|
# corporating STLFilt functionality transparently.
|
||||||
|
# Distinguishes compiler options/args from Decryptor options,
|
||||||
|
# makes sure all recognized Decryptor options are passed on
|
||||||
|
# the Decryptor script command line while other options/
|
||||||
|
# args are passed on the compiler command line.
|
||||||
|
# Filter all compiler output, and send results to stdout.
|
||||||
|
#
|
||||||
|
# (Note: stdout and stderr output streams from the compiler
|
||||||
|
# are combined by this process, so the two can no longer be
|
||||||
|
# individually redirected afterwards. If this is an issue
|
||||||
|
# for anyone, please let me know.)
|
||||||
|
#
|
||||||
|
# Exit status: The status code returned by the compiler
|
||||||
|
#
|
||||||
|
# Contents of the environment variable GFILTOPTS are passed as
|
||||||
|
# options to the STLFILT script (see the setting of DOPTS below.)
|
||||||
|
#
|
||||||
|
# 01/30/08 - Gets gSTLFilt.pl from same dir as this script
|
||||||
|
# Expanded the usage message a bit
|
||||||
|
# 06/29/05 - added more explanatory comments, fixed COPTS handling
|
||||||
|
# 02/16/05 - fixed multi-line case statement to work for freeBSD
|
||||||
|
# 12/17/04 - Added recognition of several script options that
|
||||||
|
# were missing from the case: with, meta, nullarg
|
||||||
|
# Added more comments.
|
||||||
|
# 02/21/03 - Exit status is now status of compilation
|
||||||
|
#
|
||||||
|
# Note: If packaged in a ZIP file, this file uses CR-LF line termination.
|
||||||
|
# If packaged in a .tar file, it'll have Unix-style termination.
|
||||||
|
#########################################################################
|
||||||
|
# Configuration section:
|
||||||
|
|
||||||
|
COMPILER=c++ # Your g++ compiler command
|
||||||
|
STLFILT="`dirname $0`/gSTLFilt.pl" # Assumes gSTLFilt.pl is in same dir as gfilt
|
||||||
|
|
||||||
|
# default options to Decryptor script:
|
||||||
|
DOPTS="/hdr:m /cand:s /iter:L ${GFILTOPTS:-}"
|
||||||
|
PAGER=less # pager of choice, or leave blank for no paging
|
||||||
|
COPTS= # compiler options
|
||||||
|
|
||||||
|
# End of configuration section
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
|
||||||
|
if $COMPILER --version | grep " 3\." >/dev/null # if gcc 3.x...
|
||||||
|
then
|
||||||
|
COPTS="-fmessage-length=0 $COPTS" # ...this option is needed.
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "gfilt: wrapper for gcc/c++ compiler with STL Error Decryptor"
|
||||||
|
echo "usage: $0 [all-options] [compiler-arguments]"
|
||||||
|
echo " [NOTE: compiler and decryptor options may be mixed]"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GCC_ARGS=
|
||||||
|
DECRYPTOR_ARGS=
|
||||||
|
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
[-/]iter:* | [-/]cand:* | [/-]hdr:* | \
|
||||||
|
[-/]with:* | [-/]path:* | [/-]showback:* | \
|
||||||
|
[/-]width:* | [-/]lognative | [-/]banner:* | [-/]nullarg:* | \
|
||||||
|
[-/]break:* | [-/]cbreak:* | [-/]closewrap:* | [-/]meta | [-/]meta:*)
|
||||||
|
DECRYPTOR_ARGS="$DECRYPTOR_ARGS $arg";;
|
||||||
|
*)
|
||||||
|
GCC_ARGS="$GCC_ARGS $arg";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Note that there are several options the Perl script accepts.
|
||||||
|
# see the comments at the top of gSTLFilt.pl for details.
|
||||||
|
#
|
||||||
|
|
||||||
|
TMPFILE=/tmp/gfilt$$.tmp
|
||||||
|
touch $TMPFILE
|
||||||
|
trap "rm $TMPFILE; exit 1" 1 2 3 15
|
||||||
|
|
||||||
|
$COMPILER $COPTS $GCC_ARGS >$TMPFILE 2>&1
|
||||||
|
STATUS=$?
|
||||||
|
|
||||||
|
if [ "$PAGER" != "" ]; then
|
||||||
|
perl $STLFILT $DOPTS $DECRYPTOR_ARGS < $TMPFILE | $PAGER
|
||||||
|
else
|
||||||
|
perl $STLFILT $DOPTS $DECRYPTOR_ARGS < $TMPFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm $TMPFILE
|
||||||
|
exit $STATUS
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
diff -Nuar gcc-4.9.0.orig/gcc/config/i386/linux64.h gcc-4.9.0/gcc/config/i386/linux64.h
|
||||||
|
--- gcc-4.9.0.orig/gcc/config/i386/linux64.h 2014-01-03 00:23:26.000000000 +0200
|
||||||
|
+++ gcc-4.9.0/gcc/config/i386/linux64.h 2014-05-15 13:21:11.968021447 +0300
|
||||||
|
@@ -28,5 +28,5 @@
|
||||||
|
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
|
||||||
|
|
||||||
|
#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"
|
||||||
|
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
|
||||||
|
diff -Nuar gcc-4.9.0.orig/gcc/config/i386/t-linux64 gcc-4.9.0/gcc/config/i386/t-linux64
|
||||||
|
--- gcc-4.9.0.orig/gcc/config/i386/t-linux64 2014-01-03 00:23:26.000000000 +0200
|
||||||
|
+++ gcc-4.9.0/gcc/config/i386/t-linux64 2014-05-15 13:11:48.198012307 +0300
|
||||||
|
@@ -33,6 +33,6 @@
|
||||||
|
comma=,
|
||||||
|
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
|
||||||
|
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
|
||||||
|
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
|
||||||
|
+MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
|
||||||
|
MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
|
||||||
|
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
--- gcc/c-family/c-opts.c (revision 200330)
|
||||||
|
+++ gcc/c-family/c-opts.c (working copy)
|
||||||
|
@@ -1338,10 +1338,14 @@ c_finish_options (void)
|
||||||
|
|
||||||
|
/* Give CPP the next file given by -include, if any. */
|
||||||
|
static void
|
||||||
|
push_command_line_include (void)
|
||||||
|
{
|
||||||
|
+ // This can happen if disabled by -imacros for example.
|
||||||
|
+ if (include_cursor > deferred_count)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
if (!done_preinclude)
|
||||||
|
{
|
||||||
|
done_preinclude = true;
|
||||||
|
if (flag_hosted && std_inc && !cpp_opts->preprocessed)
|
||||||
|
{
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
diff -Nuar gcc-4.7.1.old/gcc/output.h gcc-4.7.1/gcc/output.h
|
||||||
|
--- gcc-4.7.1.old/gcc/output.h 2012-03-22 12:40:31.000000000 +0200
|
||||||
|
+++ gcc-4.7.1/gcc/output.h 2012-07-22 08:03:30.669774211 +0300
|
||||||
|
@@ -661,6 +661,7 @@
|
||||||
|
extern void default_file_start (void);
|
||||||
|
extern void file_end_indicate_exec_stack (void);
|
||||||
|
extern void file_end_indicate_split_stack (void);
|
||||||
|
+extern void pisilinux_file_end_indicate_optflags (void);
|
||||||
|
|
||||||
|
extern void default_elf_asm_output_external (FILE *file, tree,
|
||||||
|
const char *);
|
||||||
|
diff -Nuar gcc-4.7.1.old/gcc/toplev.c gcc-4.7.1/gcc/toplev.c
|
||||||
|
--- gcc-4.7.1.old/gcc/toplev.c 2012-01-05 17:08:42.000000000 +0200
|
||||||
|
+++ gcc-4.7.1/gcc/toplev.c 2012-07-22 08:05:04.729598301 +0300
|
||||||
|
@@ -674,6 +674,8 @@
|
||||||
|
|
||||||
|
/* Invoke registered plugin callbacks. */
|
||||||
|
invoke_plugin_callbacks (PLUGIN_FINISH_UNIT, NULL);
|
||||||
|
+
|
||||||
|
+ pisilinux_file_end_indicate_optflags ();
|
||||||
|
|
||||||
|
/* This must be at the end. Some target ports emit end of file directives
|
||||||
|
into the assembly file here, and hence we can not output anything to the
|
||||||
|
diff -Nuar gcc-4.7.1.old/gcc/varasm.c gcc-4.7.1/gcc/varasm.c
|
||||||
|
--- gcc-4.7.1.old/gcc/varasm.c 2012-04-24 09:10:53.000000000 +0300
|
||||||
|
+++ gcc-4.7.1/gcc/varasm.c 2012-07-22 08:01:31.878259309 +0300
|
||||||
|
@@ -7165,14 +7165,34 @@
|
||||||
|
switch_to_section (get_section (".note.GNU-stack", flags, NULL));
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* Emit a special section directive to indicate that this object file
|
||||||
|
- was compiled with -fsplit-stack. This is used to let the linker
|
||||||
|
- detect calls between split-stack code and non-split-stack code, so
|
||||||
|
- that it can modify the split-stack code to allocate a sufficiently
|
||||||
|
- large stack. We emit another special section if there are any
|
||||||
|
- functions in this file which have the no_split_stack attribute, to
|
||||||
|
- prevent the linker from warning about being unable to convert the
|
||||||
|
- functions if they call non-split-stack code. */
|
||||||
|
+/* This is a generic routine emitting a PisiLinux specific section for
|
||||||
|
+ QA check marks. */
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+pisilinux_file_end_indicate_optflags (void)
|
||||||
|
+{
|
||||||
|
+ unsigned int flags = SECTION_DEBUG | SECTION_STRINGS | SECTION_MERGE | (SECTION_ENTSIZE & 1);
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ o/O: optimize was off/on
|
||||||
|
+ s/S: size optimisation was off/on
|
||||||
|
+ p/P: stack-protector was off/on
|
||||||
|
+ w/W: warnings were off/on
|
||||||
|
+ g/G: debug was off/on
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+ char opts_buffer[6];
|
||||||
|
+
|
||||||
|
+ opts_buffer[0] = (optimize >= 2) ? 'O' : 'o';
|
||||||
|
+ opts_buffer[1] = (optimize >= 1 && optimize_size) ? 'S' : 's';
|
||||||
|
+ opts_buffer[2] = (flag_stack_protect >= 1) ? 'P' : 'p';
|
||||||
|
+ opts_buffer[3] = (warn_uninitialized >= 1 && warn_sequence_point >= 1) ? 'W' : 'w';
|
||||||
|
+ opts_buffer[4] = (debug_info_level > DINFO_LEVEL_NONE) ? 'G' : 'g';
|
||||||
|
+ opts_buffer[5] = '\0';
|
||||||
|
+
|
||||||
|
+ switch_to_section (get_section (".comment.PISILINUX.OPTs", flags, NULL));
|
||||||
|
+ ASM_OUTPUT_ASCII (asm_out_file, opts_buffer, strlen (opts_buffer) + 1);
|
||||||
|
+}
|
||||||
|
|
||||||
|
void
|
||||||
|
file_end_indicate_split_stack (void)
|
||||||
+10
-11
@@ -34,6 +34,12 @@
|
|||||||
<Dependency>zlib-devel</Dependency>
|
<Dependency>zlib-devel</Dependency>
|
||||||
<Dependency>elfutils</Dependency>
|
<Dependency>elfutils</Dependency>
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
|
<Patches>
|
||||||
|
<!-- Pisilinux Patches -->
|
||||||
|
<!-- Fix paths in 64bit -->
|
||||||
|
<Patch level="1">pisilinux/64.patch</Patch>
|
||||||
|
<Patch level="1">pisilinux/gcc_47_based-record_gcc_options.patch</Patch>
|
||||||
|
</Patches>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
<Package>
|
<Package>
|
||||||
@@ -131,23 +137,16 @@
|
|||||||
<Path fileType="info">/usr/share/info</Path>
|
<Path fileType="info">/usr/share/info</Path>
|
||||||
</Files>
|
</Files>
|
||||||
<AdditionalFiles>
|
<AdditionalFiles>
|
||||||
<AdditionalFile owner="root" permission="0755" target="/usr/bin/c89">c89</AdditionalFile>
|
<AdditionalFile owner="root" permission="0755" target="/usr/bin/gfilt">gfilt</AdditionalFile>
|
||||||
<AdditionalFile owner="root" permission="0755" target="/usr/bin/c99">c99</AdditionalFile>
|
<AdditionalFile owner="root" permission="0644" target="/usr/libexec/gSTLFilt.pl">gSTLFilt.pl</AdditionalFile>
|
||||||
</AdditionalFiles>
|
</AdditionalFiles>
|
||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
<Update release="7">
|
<Update release="6">
|
||||||
<Date>2019-12-25</Date>
|
<Date>2019-12-25</Date>
|
||||||
<Version>9.2.1</Version>
|
<Version>9.2.1</Version>
|
||||||
<Comment>Version bump with new toolchain.</Comment>
|
<Comment>Version bump.</Comment>
|
||||||
<Name>Idris Kalp</Name>
|
|
||||||
<Email>idriskalp@gmail.com</Email>
|
|
||||||
</Update>
|
|
||||||
<Update release="6">
|
|
||||||
<Date>2019-12-13</Date>
|
|
||||||
<Version>9.2.0</Version>
|
|
||||||
<Comment>Version bump with new toolchain.</Comment>
|
|
||||||
<Name>Idris Kalp</Name>
|
<Name>Idris Kalp</Name>
|
||||||
<Email>idriskalp@gmail.com</Email>
|
<Email>idriskalp@gmail.com</Email>
|
||||||
</Update>
|
</Update>
|
||||||
|
|||||||
Reference in New Issue
Block a user