Sync from SUSE:SLFO:Main gcc13 revision 85b67995438aada87b1c8d1692780b12
This commit is contained in:
commit
9117d7665d
.gitattributesREADME.First-for.SuSE.packagers_constraints_multibuildchange_speccheck-build.shcross-aarch64-gcc13-bootstrap.speccross-aarch64-gcc13.speccross-amdgcn-gcc13.speccross-arm-gcc13.speccross-arm-none-gcc13-bootstrap.speccross-arm-none-gcc13.speccross-avr-gcc13-bootstrap.speccross-avr-gcc13.speccross-bpf-gcc13.speccross-epiphany-gcc13-bootstrap.speccross-epiphany-gcc13.speccross-hppa-gcc13-bootstrap.speccross-hppa-gcc13.speccross-m68k-gcc13.speccross-mips-gcc13.speccross-nvptx-gcc13.speccross-ppc64-gcc13.speccross-ppc64le-gcc13-bootstrap.speccross-ppc64le-gcc13.speccross-pru-gcc13-bootstrap.speccross-pru-gcc13.speccross-riscv64-elf-gcc13-bootstrap.speccross-riscv64-elf-gcc13.speccross-riscv64-gcc13-bootstrap.speccross-riscv64-gcc13.speccross-rx-gcc13-bootstrap.speccross-rx-gcc13.speccross-s390x-gcc13-bootstrap.speccross-s390x-gcc13.speccross-sparc-gcc13.speccross-sparc64-gcc13.speccross-x86_64-gcc13.speccross.spec.ingcc-13.2.1+git8285.tar.xzgcc-add-defaultsspec.diffgcc.spec.ingcc10-amdgcn-llvm-as.patchgcc11-amdgcn-disable-hot-cold-partitioning.patchgcc11-gdwarf-4-default.patchgcc13-bsc1216664.patchgcc13-pr88345-min-func-alignment.diffgcc13-rpmlintrcgcc13-sanitizer-remove-crypt-interception.patchgcc13-testresults-rpmlintrcgcc13-testresults.specgcc13.changesgcc13.specgcc41-ppc32-retaddr.patchgcc43-no-unwind-tables.diffgcc44-rename-info-files.patchgcc44-textdomain.patchgcc48-libstdc++-api-reference.patchgcc7-avoid-fixinc-error.diffgcc7-remove-Wexpansion-to-defined-from-Wextra.patchgcc9-reproducible-builds-buildid-for-checksum.patchgcc9-reproducible-builds.patchgdcflags.patchnewlib-4.3.0.20230120.tar.xzpre_checkin.shtls-no-direct.diff
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
31
README.First-for.SuSE.packagers
Normal file
31
README.First-for.SuSE.packagers
Normal file
@ -0,0 +1,31 @@
|
||||
IMPORTANT: Please change gcc.spec.in and then run ./pre_checkin.sh!
|
||||
Do not change gcc.spec directly!
|
||||
|
||||
Since GCC comes with a testsuite that runs for quite a long time and
|
||||
that test suite also contains some known failures, we should run the
|
||||
testsuite of GCC whenever the compiler is changed to ensure a high
|
||||
quality compiler.
|
||||
|
||||
The package is now split into multiple parts, gcc$VER,
|
||||
gcc$VER-testresults and libffi$VER (plus various spec files for
|
||||
cross and icecream cross compilers). The testsuite is run from
|
||||
gcc$VER-testresults, a dummy package with the testresults, gcc$VER-testresults,
|
||||
is generated from it which contains testing logfiles and summary.
|
||||
|
||||
Before checking in a new compiler, please do the following steps as QA
|
||||
measure to check that the new compiler does not introduce any new
|
||||
failures:
|
||||
|
||||
- Run mbuild for all archs for at least the gcc$VER and the gcc$VER-testresults
|
||||
subpackages
|
||||
|
||||
- When mbuild is finished, call
|
||||
/suse/rguenther/bin/compare-testresults.sh mbuild-directory
|
||||
(for the gcc$VER-testresults build).
|
||||
The output of that script should not show any failures. If it does,
|
||||
please fix them or discuss this with the gcc package maintainers.
|
||||
|
||||
- Do not remove this file.
|
||||
|
||||
Thanks,
|
||||
Your GCC packagers.
|
26
_constraints
Normal file
26
_constraints
Normal file
@ -0,0 +1,26 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">26</size>
|
||||
</disk>
|
||||
<physicalmemory>
|
||||
<size unit="G">4</size>
|
||||
</physicalmemory>
|
||||
<processors>4</processors>
|
||||
<jobs>4</jobs>
|
||||
</hardware>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>x86_64</arch>
|
||||
<arch>ppc64le</arch>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">8</size>
|
||||
</memory>
|
||||
<processors>8</processors>
|
||||
<jobs>8</jobs>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
35
_multibuild
Normal file
35
_multibuild
Normal file
@ -0,0 +1,35 @@
|
||||
<multibuild>
|
||||
<flavor>gcc13-testresults</flavor>
|
||||
<flavor>cross-aarch64-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-aarch64-gcc13</flavor>
|
||||
<flavor>cross-riscv64-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-riscv64-gcc13</flavor>
|
||||
<flavor>cross-s390x-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-s390x-gcc13</flavor>
|
||||
<flavor>cross-ppc64le-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-ppc64le-gcc13</flavor>
|
||||
<flavor>cross-arm-gcc13</flavor>
|
||||
<flavor>cross-avr-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-avr-gcc13</flavor>
|
||||
<flavor>cross-pru-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-pru-gcc13</flavor>
|
||||
<flavor>cross-x86_64-gcc13</flavor>
|
||||
<flavor>cross-sparc-gcc13</flavor>
|
||||
<flavor>cross-sparc64-gcc13</flavor>
|
||||
<flavor>cross-ppc64-gcc13</flavor>
|
||||
<flavor>cross-m68k-gcc13</flavor>
|
||||
<flavor>cross-mips-gcc13</flavor>
|
||||
<flavor>cross-hppa-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-hppa-gcc13</flavor>
|
||||
<flavor>cross-arm-none-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-arm-none-gcc13</flavor>
|
||||
<flavor>cross-epiphany-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-epiphany-gcc13</flavor>
|
||||
<flavor>cross-riscv64-elf-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-riscv64-elf-gcc13</flavor>
|
||||
<flavor>cross-rx-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-rx-gcc13</flavor>
|
||||
<flavor>cross-nvptx-gcc13</flavor>
|
||||
<flavor>cross-amdgcn-gcc13</flavor>
|
||||
<flavor>cross-bpf-gcc13</flavor>
|
||||
</multibuild>
|
135
change_spec
Normal file
135
change_spec
Normal file
@ -0,0 +1,135 @@
|
||||
#!/bin/bash
|
||||
|
||||
do_crosses=1
|
||||
do_optional_compiler_languages=0
|
||||
rm -f gcc*-testresults.spec gcc*-testresults.changes gcc*.spec cross*.spec cross*.changes
|
||||
|
||||
# Default is to generate the normal gcc package
|
||||
# unless a parameter is given. In case that it is '-*',
|
||||
# that parameter will be used as suffix for the package name
|
||||
# and as suffix for the install path (/opt/gccSUFFIX)
|
||||
# In case that it is '[0-9]*', that parameter will be used
|
||||
# as a suffix for a versioned package name.
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
echo No package suffix given
|
||||
outfile=gcc.spec
|
||||
else
|
||||
case $1 in
|
||||
[0-9]*)
|
||||
base_ver=$1
|
||||
outfile=gcc$1.spec
|
||||
;;
|
||||
*)
|
||||
echo Invalid package suffix
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
: > $outfile
|
||||
if test "$do_optional_compiler_languages" = "1"; then
|
||||
echo '%define build_optional_compiler_languages 1' >> $outfile
|
||||
fi
|
||||
sed -e 's%@base_ver@%'$base_ver'%g' \
|
||||
gcc.spec.in \
|
||||
| sed -n -e '{
|
||||
/^# PACKAGE-BEGIN/h
|
||||
/^# PACKAGE-BEGIN/,/^# PACKAGE-END/H
|
||||
/^# PACKAGE-BEGIN/,/^# PACKAGE-END/!p
|
||||
/^# PACKAGE-END/{g
|
||||
s/@variant@//g
|
||||
p
|
||||
g
|
||||
s/@variant@/-32bit/g
|
||||
p
|
||||
g
|
||||
s/@variant@/-64bit/g
|
||||
p
|
||||
}
|
||||
}' >> $outfile
|
||||
|
||||
echo '%define building_testsuite 1' > gcc$base_ver-testresults.spec
|
||||
echo '%define run_tests 1' >> gcc$base_ver-testresults.spec
|
||||
sed -e '/^# GCC-TESTSUITE-DELETE-BEGIN/,/^# GCC-TESTSUITE-DELETE-END/d;s/-n gcc@base_ver@-testresults$//g;s/^Name:[[:space:]]*gcc@base_ver@/Name: gcc@base_ver@-testresults/g' \
|
||||
gcc.spec.in \
|
||||
| sed -e 's%@base_ver@%'$base_ver'%g' \
|
||||
>> gcc$base_ver-testresults.spec
|
||||
|
||||
echo '<multibuild>' > _multibuild
|
||||
echo '<flavor>'gcc$base_ver-testresults'</flavor>' >> _multibuild
|
||||
|
||||
add_cross() {
|
||||
local pkgname="$1"; shift
|
||||
local rpmtarget="$1"; shift
|
||||
local triplet="$1"; shift
|
||||
|
||||
echo "%define pkgname $pkgname" > $pkgname.spec
|
||||
echo "%define cross_arch $rpmtarget" >> $pkgname.spec
|
||||
echo "%define gcc_target_arch $triplet" >> $pkgname.spec
|
||||
echo "$@" >> $pkgname.spec
|
||||
{ sed -n -e '1,/SRC-COMMON-BEGIN/p' cross.spec.in
|
||||
sed -n -e '/SRC-COMMON-BEGIN/,/SRC-COMMON-END/p' $outfile
|
||||
sed -n -e '/SRC-COMMON-END/,/BUILD-COMMON-BEGIN/p' cross.spec.in
|
||||
sed -n -e '/BUILD-COMMON-BEGIN/,/BUILD-COMMON-END/p' $outfile
|
||||
sed -n -e '/BUILD-COMMON-END/,$p' cross.spec.in; } |
|
||||
sed -e "s#@base_ver@#$base_ver#" \
|
||||
-e "s/^\(ExclusiveArch.*\) $rpmtarget[^ \r]*/\1 /" \
|
||||
>> $pkgname.spec
|
||||
|
||||
echo '<flavor>'$pkgname'</flavor>' >> _multibuild
|
||||
}
|
||||
|
||||
add_newlib_cross() {
|
||||
add_cross $1-bootstrap $2 $3 "%define gcc_target_newlib 1
|
||||
%define gcc_libc_bootstrap 1"
|
||||
add_cross $1 $2 $3 "%define gcc_target_newlib 1"
|
||||
}
|
||||
|
||||
add_glibc_cross() {
|
||||
add_cross $1-bootstrap $2 $3 "%define gcc_libc_bootstrap 1"
|
||||
add_cross $1 $2 $3 "%define gcc_target_glibc 1"
|
||||
}
|
||||
|
||||
# We now support "proper" cross-compilers to suse targets via a
|
||||
# cross-glibc package, enable that via for example
|
||||
#
|
||||
# add_cross cross-aarch64-gcc$base_ver aarch64 aarch64-suse-linux
|
||||
#
|
||||
# For now keep the old way of doing things
|
||||
if test "$do_crosses" = 1 ; then
|
||||
add_glibc_cross cross-aarch64-gcc$base_ver aarch64 aarch64-suse-linux
|
||||
add_glibc_cross cross-riscv64-gcc$base_ver riscv64 riscv64-suse-linux
|
||||
add_glibc_cross cross-s390x-gcc$base_ver s390x s390x-suse-linux
|
||||
add_glibc_cross cross-ppc64le-gcc$base_ver ppc64le powerpc64le-suse-linux
|
||||
add_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi %define gcc_icecream 1
|
||||
add_cross cross-avr-gcc$base_ver-bootstrap avr avr "%define gcc_libc_bootstrap 1"
|
||||
add_cross cross-avr-gcc$base_ver avr avr
|
||||
add_newlib_cross cross-pru-gcc$base_ver pru pru
|
||||
add_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-m68k-gcc$base_ver m68k m68k-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-mips-gcc$base_ver mips mips-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-hppa-gcc$base_ver-bootstrap hppa hppa-suse-linux %define gcc_libc_bootstrap 1
|
||||
add_cross cross-hppa-gcc$base_ver hppa hppa-suse-linux %define gcc_icecream 1
|
||||
add_newlib_cross cross-arm-none-gcc$base_ver arm-none arm-none-eabi
|
||||
add_newlib_cross cross-epiphany-gcc$base_ver epiphany epiphany-elf
|
||||
#add_newlib_cross cross-nds32le-gcc$base_ver nds32le nds32le-elf
|
||||
add_newlib_cross cross-riscv64-elf-gcc$base_ver riscv64 riscv64-elf
|
||||
#add_newlib_cross cross-rl78-gcc$base_ver rl78 rl78-elf
|
||||
add_newlib_cross cross-rx-gcc$base_ver rx rx-elf
|
||||
fi
|
||||
# the nvptx and amdgcn crosses are used for offloading
|
||||
add_cross cross-nvptx-gcc$base_ver nvptx nvptx-none %define gcc_accel 1
|
||||
add_cross cross-amdgcn-gcc$base_ver amdgcn amdgcn-amdhsa %define gcc_accel 1
|
||||
add_cross cross-bpf-gcc$base_ver bpf bpf-none
|
||||
|
||||
for f in *.spec; do
|
||||
sed -i -e '/^# .*-\(BEGIN\|END\)$/d' $f
|
||||
done
|
||||
|
||||
echo '</multibuild>' >> _multibuild
|
||||
|
||||
osc service localrun format_spec_file
|
38
check-build.sh
Normal file
38
check-build.sh
Normal file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2003,2005 SUSE Linux Products GmbH, Germany. All rights reserved.
|
||||
#
|
||||
# Authors: Thorsten Kukuk <kukuk@suse.de>
|
||||
#
|
||||
# this script use the following variable(s):
|
||||
#
|
||||
# - $BUILD_BASENAME
|
||||
#
|
||||
|
||||
case $BUILD_BASENAME in
|
||||
*ppc*)
|
||||
# Our biarch 32-bit compiler needs to be build on a 64-bit machine,
|
||||
# otherwise some configure checks fail.
|
||||
# Note that we cannot use uname here since powerpc32 was invoked
|
||||
# already.
|
||||
grep 'series64\|ppc64' /proc/version > /dev/null
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "build does not work on `hostname` for gcc"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*x86_64*)
|
||||
#if [ `ulimit -v` -le 740000 ] ; then
|
||||
# echo "build does not work on ("`hostname`" for gcc)"
|
||||
# exit 1
|
||||
#fi
|
||||
if [ `getconf _NPROCESSORS_CONF` -lt 2 ] ; then
|
||||
echo "build does not work on `hostname` for gcc"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
1078
cross-aarch64-gcc13-bootstrap.spec
Normal file
1078
cross-aarch64-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-aarch64-gcc13.spec
Normal file
1078
cross-aarch64-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-amdgcn-gcc13.spec
Normal file
1078
cross-amdgcn-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-arm-gcc13.spec
Normal file
1078
cross-arm-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1079
cross-arm-none-gcc13-bootstrap.spec
Normal file
1079
cross-arm-none-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-arm-none-gcc13.spec
Normal file
1078
cross-arm-none-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-avr-gcc13-bootstrap.spec
Normal file
1078
cross-avr-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-avr-gcc13.spec
Normal file
1078
cross-avr-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-bpf-gcc13.spec
Normal file
1078
cross-bpf-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1079
cross-epiphany-gcc13-bootstrap.spec
Normal file
1079
cross-epiphany-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-epiphany-gcc13.spec
Normal file
1078
cross-epiphany-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-hppa-gcc13-bootstrap.spec
Normal file
1078
cross-hppa-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-hppa-gcc13.spec
Normal file
1078
cross-hppa-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-m68k-gcc13.spec
Normal file
1078
cross-m68k-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-mips-gcc13.spec
Normal file
1078
cross-mips-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-nvptx-gcc13.spec
Normal file
1078
cross-nvptx-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-ppc64-gcc13.spec
Normal file
1078
cross-ppc64-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-ppc64le-gcc13-bootstrap.spec
Normal file
1078
cross-ppc64le-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-ppc64le-gcc13.spec
Normal file
1078
cross-ppc64le-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1079
cross-pru-gcc13-bootstrap.spec
Normal file
1079
cross-pru-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-pru-gcc13.spec
Normal file
1078
cross-pru-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1079
cross-riscv64-elf-gcc13-bootstrap.spec
Normal file
1079
cross-riscv64-elf-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-riscv64-elf-gcc13.spec
Normal file
1078
cross-riscv64-elf-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-riscv64-gcc13-bootstrap.spec
Normal file
1078
cross-riscv64-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-riscv64-gcc13.spec
Normal file
1078
cross-riscv64-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1079
cross-rx-gcc13-bootstrap.spec
Normal file
1079
cross-rx-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-rx-gcc13.spec
Normal file
1078
cross-rx-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-s390x-gcc13-bootstrap.spec
Normal file
1078
cross-s390x-gcc13-bootstrap.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-s390x-gcc13.spec
Normal file
1078
cross-s390x-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-sparc-gcc13.spec
Normal file
1078
cross-sparc-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-sparc64-gcc13.spec
Normal file
1078
cross-sparc64-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
cross-x86_64-gcc13.spec
Normal file
1078
cross-x86_64-gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
530
cross.spec.in
Normal file
530
cross.spec.in
Normal file
@ -0,0 +1,530 @@
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
%if 0%{?gcc_libc_bootstrap:1} || "%{cross_arch}" == "bpf"
|
||||
%define build_cp 0
|
||||
%endif
|
||||
%define build_ada 0
|
||||
%define build_libjava 0
|
||||
%define build_java 0
|
||||
|
||||
%define build_fortran 0%{?gcc_accel:1}
|
||||
%define build_objc 0
|
||||
%define build_objcp 0
|
||||
%define build_go 0
|
||||
%define build_nvptx 0
|
||||
%define build_gcn 0
|
||||
%define build_d 0
|
||||
%define build_rust 0
|
||||
%define build_m2 0
|
||||
|
||||
%define enable_plugins 0
|
||||
%define build_jit 0
|
||||
%define use_lto_bootstrap 0
|
||||
|
||||
%define binutils_target %{cross_arch}
|
||||
%if "%{cross_arch}" == "armv7l" || "%{cross_arch}" == "armv7hl"
|
||||
%define binutils_target arm
|
||||
%endif
|
||||
%if "%{cross_arch}" == "armv6l" || "%{cross_arch}" == "armv6hl"
|
||||
%define binutils_target arm
|
||||
%endif
|
||||
%if "%{cross_arch}" == "armv5tel"
|
||||
%define binutils_target arm
|
||||
%endif
|
||||
%if "%{cross_arch}" == "arm-none"
|
||||
%define binutils_target arm
|
||||
%endif
|
||||
%if "%{cross_arch}" == "riscv64-elf"
|
||||
%define binutils_target riscv64
|
||||
%endif
|
||||
%if "%{cross_arch}" == "sparcv9"
|
||||
%define binutils_target sparc
|
||||
%endif
|
||||
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
|
||||
%if "%{binutils_target}" == "avr" || "%{binutils_target}" == "spu" || "%{binutils_target}" == "pru"
|
||||
%define binutils_os %{canonical_target}
|
||||
%else
|
||||
%if "%{binutils_target}" == "epiphany" || "%{binutils_target}" == "nds32le" || "%{binutils_target}" == "rl78" || "%{binutils_target}" == "rx"
|
||||
%define binutils_os %{canonical_target}-elf
|
||||
%else
|
||||
%if "%{binutils_target}" == "arm"
|
||||
%define binutils_os %{canonical_target}-suse-linux-gnueabi
|
||||
%else
|
||||
%if "%{binutils_target}" == "bpf"
|
||||
%define binutils_os %{canonical_target}-none
|
||||
%else
|
||||
%if 0%{?gcc_accel:1}
|
||||
%define binutils_os %{gcc_target_arch}
|
||||
%else
|
||||
%define binutils_os %{canonical_target}-suse-linux
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?gcc_icecream:1}
|
||||
%define sysroot %{_prefix}/%{gcc_target_arch}
|
||||
%else
|
||||
# offloading builds newlib in-tree and can install in
|
||||
# the GCC private path without extra sysroot
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# use same sysroot as in binutils.spec
|
||||
%define sysroot %{_prefix}/%{binutils_os}/sys-root
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
# SRC-COMMON-BEGIN
|
||||
# SRC-COMMON-END
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
%if 0%{!?gcc_icecream:1}
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if 0%{?gcc_target_newlib:1}
|
||||
%if !0%{?is_opensuse}
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: avr-libc
|
||||
%endif
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
BuildRequires: nvptx-tools
|
||||
Requires: nvptx-tools
|
||||
Requires: cross-nvptx-newlib-devel >= %{version}-%{release}
|
||||
ExclusiveArch: x86_64
|
||||
%define nvptx_newlib 1
|
||||
%endif
|
||||
%if "%{cross_arch}" == "amdgcn"
|
||||
# amdgcn uses the llvm assembler and linker
|
||||
%if %{suse_version} < 1550
|
||||
BuildRequires: llvm13
|
||||
%define product_libs_llvm_ver 13
|
||||
%else
|
||||
BuildRequires: llvm%{product_libs_llvm_ver}
|
||||
%endif
|
||||
BuildRequires: lld
|
||||
%if %{suse_version} < 1550
|
||||
Requires: llvm13
|
||||
%else
|
||||
Requires: llvm%{product_libs_llvm_ver}
|
||||
%endif
|
||||
Requires: lld
|
||||
Requires: cross-amdgcn-newlib-devel >= %{version}-%{release}
|
||||
# SLE12 does not fulfil build requirements for GCN, SLE15 SP1 does
|
||||
# technically also SLE12 SP5 but do not bother there
|
||||
%if %{suse_version} >= 1550 || 0%{?sle_version:%sle_version} >= 150100
|
||||
ExclusiveArch: x86_64
|
||||
%else
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%define amdgcn_newlib 1
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "pru"
|
||||
ExclusiveArch: %arm
|
||||
%endif
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%ifarch %{cross_arch}
|
||||
ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
# file conflicts with it and is no longer packaged
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc@base_ver@
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc@base_ver@
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
%description
|
||||
The GNU Compiler Collection as a cross-compiler targeting %{cross_arch}.
|
||||
%if 0%{?gcc_icecream:1}
|
||||
Note this is only useful for building freestanding things like the
|
||||
kernel since it fails to include target libraries and headers.
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
This is a package that is necessary for bootstrapping another package
|
||||
only, it is not intended for any other use.
|
||||
%endif
|
||||
|
||||
|
||||
# BUILD-COMMON-BEGIN
|
||||
# BUILD-COMMON-END
|
||||
%if 0%{!?gcc_icecream:1}
|
||||
make %{?make_output_sync} %{?_smp_mflags}
|
||||
%else
|
||||
make %{?make_output_sync} %{?_smp_mflags} all-host
|
||||
%endif
|
||||
|
||||
|
||||
%if 0%{?gcc_icecream:%gcc_icecream}
|
||||
%package -n cross-%cross_arch-gcc@base_ver@-icecream-backend
|
||||
Summary: Icecream backend for the GNU C Compiler
|
||||
Group: Development/Languages/C and C++
|
||||
|
||||
%description -n cross-%cross_arch-gcc@base_ver@-icecream-backend
|
||||
This package contains the icecream environment for the GNU C Compiler
|
||||
%endif
|
||||
|
||||
|
||||
%if 0%{?nvptx_newlib:1}
|
||||
%package -n cross-nvptx-newlib@base_ver@-devel
|
||||
Summary: Newlib for the nvptx offload target
|
||||
Group: Development/Languages/C and C++
|
||||
Provides: cross-nvptx-newlib-devel = %{version}-%{release}
|
||||
Conflicts: cross-nvptx-newlib-devel
|
||||
|
||||
%description -n cross-nvptx-newlib@base_ver@-devel
|
||||
Newlib development files for the nvptx offload target compiler.
|
||||
%endif
|
||||
|
||||
%if 0%{?amdgcn_newlib:1}
|
||||
%package -n cross-amdgcn-newlib@base_ver@-devel
|
||||
Summary: Newlib for the amdgcn offload target
|
||||
Group: Development/Languages/C and C++
|
||||
Provides: cross-amdgcn-newlib-devel = %{version}-%{release}
|
||||
Conflicts: cross-amdgcn-newlib-devel
|
||||
|
||||
%description -n cross-amdgcn-newlib@base_ver@-devel
|
||||
Newlib development files for the amdgcn offload target compiler.
|
||||
%endif
|
||||
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
%if "%{TARGET_ARCH}" == "amdgcn"
|
||||
# libtool needs to be able to call ranlib
|
||||
export PATH="`pwd`/target-tools/bin:$PATH"
|
||||
%endif
|
||||
|
||||
# install and fixup host parts
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-host
|
||||
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/install-tools
|
||||
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
|
||||
# common fixup
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
|
||||
|
||||
# install and fixup target parts
|
||||
%if 0%{?gcc_icecream:1}
|
||||
# so expect the sysroot to be populated from natively built binaries
|
||||
%else
|
||||
# We want shared libraries to reside in the sysroot but the .so symlinks
|
||||
# on the host. Once we have a cross target that has shared libs we need
|
||||
# to manually fix up things here like we do for non-cross compilers
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
mkdir -p $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version}
|
||||
find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -mindepth 1 -maxdepth 1 -type d -a -not -name %{gcc_target_arch} | xargs -r rm -r
|
||||
find $RPM_BUILD_ROOT/%_prefix/include/c++/%{gcc_dir_version} -maxdepth 1 -type f | xargs -r rm
|
||||
# And also remove installed pretty printers which conflict in similar ways
|
||||
rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc%{binsuffix}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?binutils_os:1}
|
||||
for prog in as ld; do
|
||||
ln -s /usr/%{binutils_os}/bin/$prog $RPM_BUILD_ROOT%{targetlibsubdir}/
|
||||
done
|
||||
%endif
|
||||
|
||||
# remove docs
|
||||
rm -rf $RPM_BUILD_ROOT%{_mandir}
|
||||
rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# also move things from target directories into the accel path since
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
%if "%{TARGET_ARCH}" == "amdgcn"
|
||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/amdgcn-amdhsa/bin
|
||||
ln -s /usr/bin/llvm-ar-%{product_libs_llvm_ver}* $RPM_BUILD_ROOT%{_prefix}/amdgcn-amdhsa/bin/ar
|
||||
ln -s /usr/bin/llvm-mc-%{product_libs_llvm_ver}* $RPM_BUILD_ROOT%{_prefix}/amdgcn-amdhsa/bin/as
|
||||
ln -s /usr/bin/lld $RPM_BUILD_ROOT%{_prefix}/amdgcn-amdhsa/bin/ld
|
||||
ln -s /usr/bin/llvm-nm-%{product_libs_llvm_ver}* $RPM_BUILD_ROOT%{_prefix}/amdgcn-amdhsa/bin/nm
|
||||
ln -s /usr/bin/llvm-ranlib-%{product_libs_llvm_ver}* $RPM_BUILD_ROOT%{_prefix}/amdgcn-amdhsa/bin/ranlib
|
||||
ln -s %{_prefix}/amdgcn-amdhsa/bin/ar $RPM_BUILD_ROOT%{_prefix}/bin/amdgcn-amdhsa-ar
|
||||
ln -s %{_prefix}/amdgcn-amdhsa/bin/as $RPM_BUILD_ROOT%{_prefix}/bin/amdgcn-amdhsa-as
|
||||
ln -s %{_prefix}/amdgcn-amdhsa/bin/ld $RPM_BUILD_ROOT%{_prefix}/bin/amdgcn-amdhsa-ld
|
||||
ln -s %{_prefix}/amdgcn-amdhsa/bin/nm $RPM_BUILD_ROOT%{_prefix}/bin/amdgcn-amdhsa-nm
|
||||
ln -s %{_prefix}/amdgcn-amdhsa/bin/ranlib $RPM_BUILD_ROOT%{_prefix}/bin/amdgcn-amdhsa-ranlib
|
||||
%endif
|
||||
|
||||
%if 0%{?gcc_icecream:%gcc_icecream}
|
||||
# Build an icecream environment
|
||||
# The assembler comes from the cross-binutils, and hence is _not_
|
||||
# named funnily, not even on ppc, so there we need the original target
|
||||
install -s -D %{_prefix}/bin/%{binutils_os}-as \
|
||||
$RPM_BUILD_ROOT/env/usr/bin/as
|
||||
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
|
||||
$RPM_BUILD_ROOT/env/usr/bin/g++
|
||||
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
|
||||
$RPM_BUILD_ROOT/env/usr/bin/gcc
|
||||
|
||||
for back in cc1 cc1plus; do
|
||||
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
|
||||
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
|
||||
done
|
||||
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
|
||||
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
|
||||
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
|
||||
fi
|
||||
|
||||
# Make sure to also pull in all shared library requirements for the
|
||||
# binaries we put into the environment which is operated by chrooting
|
||||
# into it and execing the compiler
|
||||
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
|
||||
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
|
||||
done | sort -u `
|
||||
for lib in $libs; do
|
||||
# Check wether the same library also exists in the parent directory,
|
||||
# and prefer that on the assumption that it is a more generic one.
|
||||
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
|
||||
test -f "$baselib" && lib=$baselib
|
||||
install -s -D $lib $RPM_BUILD_ROOT/env$lib
|
||||
done
|
||||
|
||||
cd $RPM_BUILD_ROOT/env
|
||||
tar --no-recursion --mtime @${SOURCE_DATE_EPOCH:-$(date +%s)} --format=gnu -cv `find *|LC_ALL=C sort` |\
|
||||
gzip -n9 > ../%{name}_%{_arch}.tar.gz
|
||||
cd ..
|
||||
mkdir -p usr/share/icecream-envs
|
||||
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
|
||||
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
|
||||
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
|
||||
rm -r env
|
||||
%endif
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
c++ g++ \
|
||||
%endif
|
||||
gcc-ar gcc-nm gcc-ranlib lto-dump \
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
gcov gcov-dump gcov-tool \
|
||||
%endif
|
||||
; do
|
||||
ln -s %{_sysconfdir}/alternatives/%{gcc_target_arch}-$ex \
|
||||
%{buildroot}%{_bindir}/%{gcc_target_arch}-$ex
|
||||
done
|
||||
|
||||
%post
|
||||
%{_sbindir}/update-alternatives \
|
||||
--install %{_bindir}/%{gcc_target_arch}-gcc %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix} @base_ver@ \
|
||||
--slave %{_bindir}/%{gcc_target_arch}-cpp %{gcc_target_arch}-cpp %{_bindir}/%{gcc_target_arch}-cpp%{binsuffix} \
|
||||
%if %{build_cp}
|
||||
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
|
||||
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
|
||||
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
|
||||
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
|
||||
%endif
|
||||
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
|
||||
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
|
||||
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
|
||||
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
|
||||
%postun
|
||||
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then
|
||||
%{_sbindir}/update-alternatives --remove %{gcc_target_arch}-gcc %{_bindir}/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
fi
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%if 0%{?gcc_accel:1}
|
||||
%{_prefix}/bin/%{GCCDIST}-accel-%{gcc_target_arch}-*
|
||||
%dir %{libsubdir}
|
||||
%dir %{libsubdir}/accel
|
||||
%{libsubdir}/accel/%{gcc_target_arch}
|
||||
%if "%{cross_arch}" == "amdgcn"
|
||||
%{_prefix}/%{gcc_target_arch}/bin
|
||||
%{_prefix}/bin/amdgcn-amdhsa-ar
|
||||
%{_prefix}/bin/amdgcn-amdhsa-as
|
||||
%{_prefix}/bin/amdgcn-amdhsa-ld
|
||||
%{_prefix}/bin/amdgcn-amdhsa-nm
|
||||
%{_prefix}/bin/amdgcn-amdhsa-ranlib
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-nm
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ranlib
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-lto-dump
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%dir %{targetlibsubdir}
|
||||
%dir %{_libdir}/gcc/%{gcc_target_arch}
|
||||
%{targetlibsubdir}
|
||||
%endif
|
||||
%if 0%{!?gcc_icecream:1} && 0%{!?gcc_libc_bootstrap:1} && 0%{?sysroot:1}
|
||||
%{sysroot}
|
||||
%endif
|
||||
|
||||
%if 0%{?gcc_icecream:%gcc_icecream}
|
||||
%files -n cross-%cross_arch-gcc@base_ver@-icecream-backend
|
||||
%defattr(-,root,root)
|
||||
/usr/share/icecream-envs
|
||||
%endif
|
||||
|
||||
%if 0%{?nvptx_newlib:1}
|
||||
%files -n cross-nvptx-newlib@base_ver@-devel
|
||||
%defattr(-,root,root)
|
||||
%{_prefix}/%{gcc_target_arch}
|
||||
%endif
|
||||
|
||||
%if 0%{?amdgcn_newlib:1}
|
||||
%files -n cross-amdgcn-newlib@base_ver@-devel
|
||||
%defattr(-,root,root)
|
||||
%{_prefix}/%{gcc_target_arch}
|
||||
%exclude %{_prefix}/%{gcc_target_arch}/bin
|
||||
%endif
|
||||
|
||||
%changelog -n cross-%{pkgname}-gcc@base_ver@
|
BIN
gcc-13.2.1+git8285.tar.xz
(Stored with Git LFS)
Normal file
BIN
gcc-13.2.1+git8285.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
51
gcc-add-defaultsspec.diff
Normal file
51
gcc-add-defaultsspec.diff
Normal file
@ -0,0 +1,51 @@
|
||||
Index: gcc/gcc.cc
|
||||
===================================================================
|
||||
--- gcc/gcc.cc.orig 2013-11-26 15:41:59.000000000 +0100
|
||||
+++ gcc/gcc.cc 2013-11-26 16:40:35.780548125 +0100
|
||||
@@ -258,6 +258,7 @@ static const char *replace_outfile_spec_
|
||||
static const char *remove_outfile_spec_function (int, const char **);
|
||||
static const char *version_compare_spec_function (int, const char **);
|
||||
static const char *include_spec_function (int, const char **);
|
||||
+static const char *include_noerr_spec_function (int, const char **);
|
||||
static const char *find_file_spec_function (int, const char **);
|
||||
static const char *find_plugindir_spec_function (int, const char **);
|
||||
static const char *print_asm_header_spec_function (int, const char **);
|
||||
@@ -1357,6 +1358,7 @@ static const struct spec_function static
|
||||
{ "remove-outfile", remove_outfile_spec_function },
|
||||
{ "version-compare", version_compare_spec_function },
|
||||
{ "include", include_spec_function },
|
||||
+ { "include_noerr", include_noerr_spec_function },
|
||||
{ "find-file", find_file_spec_function },
|
||||
{ "find-plugindir", find_plugindir_spec_function },
|
||||
{ "print-asm-header", print_asm_header_spec_function },
|
||||
@@ -6480,6 +6482,8 @@ main (int argc, char **argv)
|
||||
if (access (specs_file, R_OK) == 0)
|
||||
read_specs (specs_file, true, false);
|
||||
|
||||
+ do_self_spec ("%:include_noerr(defaults.spec)%(default_spec)");
|
||||
+
|
||||
/* Process any configure-time defaults specified for the command line
|
||||
options, via OPTION_DEFAULT_SPECS. */
|
||||
for (i = 0; i < ARRAY_SIZE (option_default_specs); i++)
|
||||
@@ -8401,6 +8405,21 @@ get_random_number (void)
|
||||
return ret ^ getpid ();
|
||||
}
|
||||
|
||||
+static const char *
|
||||
+include_noerr_spec_function (int argc, const char **argv)
|
||||
+{
|
||||
+ char *file;
|
||||
+
|
||||
+ if (argc != 1)
|
||||
+ abort ();
|
||||
+
|
||||
+ file = find_a_file (&startfile_prefixes, argv[0], R_OK, 0);
|
||||
+ if (file)
|
||||
+ read_specs (file, FALSE, TRUE);
|
||||
+
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
/* %:compare-debug-dump-opt spec function. Save the last argument,
|
||||
expected to be the last -fdump-final-insns option, or generate a
|
||||
temporary. */
|
3167
gcc.spec.in
Normal file
3167
gcc.spec.in
Normal file
File diff suppressed because it is too large
Load Diff
31
gcc10-amdgcn-llvm-as.patch
Normal file
31
gcc10-amdgcn-llvm-as.patch
Normal file
@ -0,0 +1,31 @@
|
||||
varasm.c: Always output flags in merged .section for LLVM assembler compatibility [PR97827]
|
||||
|
||||
For compatibility with LLVM 11's 'mc' assembler, the flags have to be
|
||||
repeated every time. See also LLVM Bug 48201 for this issue and
|
||||
https://reviews.llvm.org/D73999 for the patch causing the issue.
|
||||
|
||||
gcc/
|
||||
PR target/97827
|
||||
* varasm.c (default_elf_asm_named_section): Always output all
|
||||
flags if SECTION_MERGE, even if already declared before.
|
||||
|
||||
diff --git a/gcc/varasm.cc b/gcc/varasm.cc
|
||||
index 21be03aeba2..9cb46885aa5 100644
|
||||
--- a/gcc/varasm.cc
|
||||
+++ b/gcc/varasm.cc
|
||||
@@ -6792,10 +6792,13 @@ default_elf_asm_named_section (const char *name, unsigned int flags,
|
||||
/* If we have already declared this section, we can use an
|
||||
abbreviated form to switch back to it -- unless this section is
|
||||
part of a COMDAT groups or with SHF_GNU_RETAIN or with SHF_LINK_ORDER,
|
||||
- in which case GAS requires the full declaration every time. */
|
||||
+ in which case GAS requires the full declaration every time.
|
||||
+ LLVM's MC linker requires that the
|
||||
+ flags are identical, thus avoid the abbreviated form with MERGE. */
|
||||
if (!(HAVE_COMDAT_GROUP && (flags & SECTION_LINKONCE))
|
||||
&& !(flags & (SECTION_RETAIN | SECTION_LINK_ORDER))
|
||||
- && (flags & SECTION_DECLARED))
|
||||
+ && (flags & SECTION_DECLARED)
|
||||
+ && !(flags & SECTION_MERGE))
|
||||
{
|
||||
fprintf (asm_out_file, "\t.section\t%s\n", name);
|
||||
return;
|
22
gcc11-amdgcn-disable-hot-cold-partitioning.patch
Normal file
22
gcc11-amdgcn-disable-hot-cold-partitioning.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
|
||||
index 6d02a4a02..d77f66182 100644
|
||||
--- a/gcc/config/gcn/gcn.cc
|
||||
+++ b/gcc/config/gcn/gcn.cc
|
||||
@@ -6413,9 +6413,17 @@ gcn_dwarf_register_span (rtx rtl)
|
||||
return p;
|
||||
}
|
||||
|
||||
+static void
|
||||
+gcn_override_options_after_change (void)
|
||||
+{
|
||||
+ flag_reorder_blocks_and_partition = 0;
|
||||
+}
|
||||
+
|
||||
/* }}} */
|
||||
/* {{{ TARGET hook overrides. */
|
||||
|
||||
+#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
|
||||
+#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE gcn_override_options_after_change
|
||||
#undef TARGET_ADDR_SPACE_ADDRESS_MODE
|
||||
#define TARGET_ADDR_SPACE_ADDRESS_MODE gcn_addr_space_address_mode
|
||||
#undef TARGET_ADDR_SPACE_DEBUG
|
29
gcc11-gdwarf-4-default.patch
Normal file
29
gcc11-gdwarf-4-default.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff --git a/gcc/defaults.h b/gcc/defaults.h
|
||||
index 376687d91b1..613003eb14f 100644
|
||||
--- a/gcc/defaults.h
|
||||
+++ b/gcc/defaults.h
|
||||
@@ -1444,7 +1444,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
/* When generating dwarf info, the default standard version we'll honor
|
||||
and advertise in absence of -gdwarf-<N> on the command line. */
|
||||
#ifndef DWARF_VERSION_DEFAULT
|
||||
-#define DWARF_VERSION_DEFAULT 5
|
||||
+#define DWARF_VERSION_DEFAULT 4
|
||||
#endif
|
||||
|
||||
#ifndef USED_FOR_TARGET
|
||||
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
||||
index 04ca9d9b02b..944019edbc1 100644
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -11255,9 +11255,8 @@ possible.
|
||||
@itemx -gdwarf-@var{version}
|
||||
Produce debugging information in DWARF format (if that is supported).
|
||||
The value of @var{version} may be either 2, 3, 4 or 5; the default
|
||||
-version for most targets is 5 (with the exception of VxWorks, TPF and
|
||||
-Darwin/Mac OS X, which default to version 2, and AIX, which defaults
|
||||
-to version 4).
|
||||
+version for most targets is 4 (with the exception of VxWorks, TPF and
|
||||
+Darwin/Mac OS X, which default to version 2).
|
||||
|
||||
Note that with DWARF Version 2, some ports require and always
|
||||
use some non-conflicting DWARF 3 extensions in the unwind tables.
|
58
gcc13-bsc1216664.patch
Normal file
58
gcc13-bsc1216664.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From 7562f089a190953b8ef615b90b7b0520e812a930 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Mon, 6 Nov 2023 11:31:40 +0100
|
||||
Subject: [PATCH] libstdc++/112351 - deal with __gthread_once failure during
|
||||
locale init
|
||||
To: gcc-patches@gcc.gnu.org
|
||||
|
||||
The following makes the C++98 locale init path follow the way the
|
||||
C++11 performs initialization. This way we deal with pthread_once
|
||||
failing, falling back to non-threadsafe initialization which, given we
|
||||
initialize from the library, should be serialized by the dynamic
|
||||
loader already.
|
||||
|
||||
PR libstdc++/112351
|
||||
libstdc++-v3/
|
||||
* src/c++98/locale.cc (locale::facet::_S_initialize_once):
|
||||
Check whether _S_c_locale is already initialized.
|
||||
(locale::facet::_S_get_c_locale): Always perform non-threadsafe
|
||||
init when threadsafe init failed.
|
||||
---
|
||||
libstdc++-v3/src/c++98/locale.cc | 13 ++++++++-----
|
||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libstdc++-v3/src/c++98/locale.cc b/libstdc++-v3/src/c++98/locale.cc
|
||||
index d308140bab7..1ef0c394cd7 100644
|
||||
--- a/libstdc++-v3/src/c++98/locale.cc
|
||||
+++ b/libstdc++-v3/src/c++98/locale.cc
|
||||
@@ -206,6 +206,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
void
|
||||
locale::facet::_S_initialize_once()
|
||||
{
|
||||
+ // Need to check this because we could get called once from
|
||||
+ // _S_get_c_locale() when the program is single-threaded, and then again
|
||||
+ // (via __gthread_once) when it's multi-threaded.
|
||||
+ if (_S_c_locale)
|
||||
+ return;
|
||||
+
|
||||
// Initialize the underlying locale model.
|
||||
_S_create_c_locale(_S_c_locale, _S_c_name);
|
||||
}
|
||||
@@ -216,12 +222,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
#ifdef __GTHREADS
|
||||
if (__gthread_active_p())
|
||||
__gthread_once(&_S_once, _S_initialize_once);
|
||||
- else
|
||||
#endif
|
||||
- {
|
||||
- if (!_S_c_locale)
|
||||
- _S_initialize_once();
|
||||
- }
|
||||
+ if (__builtin_expect (!_S_c_locale, 0))
|
||||
+ _S_initialize_once();
|
||||
return _S_c_locale;
|
||||
}
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
158
gcc13-pr88345-min-func-alignment.diff
Normal file
158
gcc13-pr88345-min-func-alignment.diff
Normal file
@ -0,0 +1,158 @@
|
||||
From 441d0aa048a51d2e9c4f4227916d2a1a2f06b4e5 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Hubicka <jh@suse.cz>
|
||||
Date: Wed, 24 Jan 2024 18:13:17 +0100
|
||||
Subject: [PATCH] Add -fmin-function-alignmnet
|
||||
To: gcc-patches@gcc.gnu.org
|
||||
|
||||
-falign-functions is ignored in cold code, since it is an optimization intended to
|
||||
improve instruction prefetch. In some case it is necessary to force alignment for
|
||||
all functions, so this patch adds -fmin-function-alignment for this purpose.
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
PR middle-end/88345
|
||||
* common.opt: (flimit-function-alignment): Reorder alphabeticaly
|
||||
(fmin-function-alignment): New parameter.
|
||||
* doc/invoke.texi: (-fmin-function-alignment): Document.
|
||||
(-falign-functions,-falign-loops,-falign-labels): Mention that
|
||||
aglinments are ignored in cold code.
|
||||
* varasm.cc (assemble_start_function): Handle min-function-alignment.
|
||||
* lto-streamer.h (LTO_minor_version): Bump.
|
||||
---
|
||||
gcc/common.opt | 10 +++++++---
|
||||
gcc/doc/invoke.texi | 18 +++++++++++++++++-
|
||||
gcc/lto-streamer.h | 2 +-
|
||||
gcc/varasm.cc | 5 +++++
|
||||
4 files changed, 30 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/gcc/common.opt b/gcc/common.opt
|
||||
index 862c474d3c8..5d35391b99f 100644
|
||||
--- a/gcc/common.opt
|
||||
+++ b/gcc/common.opt
|
||||
@@ -1027,9 +1027,6 @@ Align the start of functions.
|
||||
falign-functions=
|
||||
Common RejectNegative Joined Var(str_align_functions) Optimization
|
||||
|
||||
-flimit-function-alignment
|
||||
-Common Var(flag_limit_function_alignment) Optimization Init(0)
|
||||
-
|
||||
falign-jumps
|
||||
Common Var(flag_align_jumps) Optimization
|
||||
Align labels which are only reached by jumping.
|
||||
@@ -2165,6 +2162,10 @@ fmessage-length=
|
||||
Common RejectNegative Joined UInteger
|
||||
-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping.
|
||||
|
||||
+fmin-function-alignment=
|
||||
+Common Joined RejectNegative UInteger Var(flag_min_function_alignment) Optimization
|
||||
+Align the start of every function.
|
||||
+
|
||||
fmodulo-sched
|
||||
Common Var(flag_modulo_sched) Optimization
|
||||
Perform SMS based modulo scheduling before the first scheduling pass.
|
||||
@@ -2489,6 +2490,9 @@ starts and when the destructor finishes.
|
||||
flifetime-dse=
|
||||
Common Joined RejectNegative UInteger Var(flag_lifetime_dse) Optimization IntegerRange(0, 2)
|
||||
|
||||
+flimit-function-alignment
|
||||
+Common Var(flag_limit_function_alignment) Optimization Init(0)
|
||||
+
|
||||
flive-patching
|
||||
Common RejectNegative Alias(flive-patching=,inline-clone) Optimization
|
||||
|
||||
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
||||
index b777fc92755..d39cb26326c 100644
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -531,6 +531,7 @@ Objective-C and Objective-C++ Dialects}.
|
||||
-falign-jumps[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]]
|
||||
-falign-labels[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]]
|
||||
-falign-loops[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]]
|
||||
+-fmin-function-alignment=[@var{n}]
|
||||
-fno-allocation-dce -fallow-store-data-races
|
||||
-fassociative-math -fauto-profile -fauto-profile[=@var{path}]
|
||||
-fauto-inc-dec -fbranch-probabilities
|
||||
@@ -13650,6 +13651,9 @@ Align the start of functions to the next power-of-two greater than or
|
||||
equal to @var{n}, skipping up to @var{m}-1 bytes. This ensures that at
|
||||
least the first @var{m} bytes of the function can be fetched by the CPU
|
||||
without crossing an @var{n}-byte alignment boundary.
|
||||
+This is an optimization of code performance and alignment is ignored for
|
||||
+functions considered cold. If alignment is required for all functions,
|
||||
+use @option{-fmin-function-alignment}.
|
||||
|
||||
If @var{m} is not specified, it defaults to @var{n}.
|
||||
|
||||
@@ -13713,6 +13717,8 @@ Enabled at levels @option{-O2}, @option{-O3}.
|
||||
Align loops to a power-of-two boundary. If the loops are executed
|
||||
many times, this makes up for any execution of the dummy padding
|
||||
instructions.
|
||||
+This is an optimization of code performance and alignment is ignored for
|
||||
+loops considered cold.
|
||||
|
||||
If @option{-falign-labels} is greater than this value, then its value
|
||||
is used instead.
|
||||
@@ -13735,6 +13741,8 @@ Enabled at levels @option{-O2}, @option{-O3}.
|
||||
Align branch targets to a power-of-two boundary, for branch targets
|
||||
where the targets can only be reached by jumping. In this case,
|
||||
no dummy operations need be executed.
|
||||
+This is an optimization of code performance and alignment is ignored for
|
||||
+jumps considered cold.
|
||||
|
||||
If @option{-falign-labels} is greater than this value, then its value
|
||||
is used instead.
|
||||
@@ -13748,6 +13756,14 @@ The maximum allowed @var{n} option value is 65536.
|
||||
|
||||
Enabled at levels @option{-O2}, @option{-O3}.
|
||||
|
||||
+@opindex fmin-function-alignment=@var{n}
|
||||
+@item -fmin-function-alignment
|
||||
+Specify minimal alignment of functions to the next power-of-two greater than or
|
||||
+equal to @var{n}. Unlike @option{-falign-functions} this alignment is applied
|
||||
+also to all functions (even those considered cold). The alignment is also not
|
||||
+affected by @option{-flimit-function-alignment}
|
||||
+
|
||||
+
|
||||
@opindex fno-allocation-dce
|
||||
@item -fno-allocation-dce
|
||||
Do not remove unused C++ allocations in dead code elimination.
|
||||
@@ -13844,7 +13860,7 @@ To use the link-time optimizer, @option{-flto} and optimization
|
||||
options should be specified at compile time and during the final link.
|
||||
It is recommended that you compile all the files participating in the
|
||||
same link with the same options and also specify those options at
|
||||
-link time.
|
||||
+link time.
|
||||
For example:
|
||||
|
||||
@smallexample
|
||||
diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
|
||||
index 75cebcd02d3..2827897cc7a 100644
|
||||
--- a/gcc/lto-streamer.h
|
||||
+++ b/gcc/lto-streamer.h
|
||||
@@ -122,7 +122,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
form followed by the data for the string. */
|
||||
|
||||
#define LTO_major_version GCC_major_version
|
||||
-#define LTO_minor_version 1
|
||||
+#define LTO_minor_version 2
|
||||
|
||||
typedef unsigned char lto_decl_flags_t;
|
||||
|
||||
diff --git a/gcc/varasm.cc b/gcc/varasm.cc
|
||||
index cd0cd88321c..5de821b63e6 100644
|
||||
--- a/gcc/varasm.cc
|
||||
+++ b/gcc/varasm.cc
|
||||
@@ -1914,6 +1914,11 @@ assemble_start_function (tree decl, const char *fnname)
|
||||
|
||||
/* Tell assembler to move to target machine's alignment for functions. */
|
||||
align = floor_log2 (align / BITS_PER_UNIT);
|
||||
+ /* Handle forced alignment. This really ought to apply to all functions,
|
||||
+ since it is used by patchable entries. */
|
||||
+ if (flag_min_function_alignment)
|
||||
+ align = MAX (align, floor_log2 (flag_min_function_alignment));
|
||||
+
|
||||
if (align > 0)
|
||||
{
|
||||
ASM_OUTPUT_ALIGN (asm_out_file, align);
|
||||
--
|
||||
2.35.3
|
||||
|
19
gcc13-rpmlintrc
Normal file
19
gcc13-rpmlintrc
Normal file
@ -0,0 +1,19 @@
|
||||
# This line is mandatory to access the configuration functions
|
||||
from Config import *
|
||||
|
||||
# gcc/gcc-c++ are devel packages even if not called -devel...
|
||||
addFilter ("gcc.*devel-file-in-non-devel-package")
|
||||
addFilter ("gcc.*devel-dependency glibc-devel")
|
||||
addFilter ("gcc.*devel-dependency libstdc")
|
||||
# libstdc++6-devel is the devel package of libstdc++6, no better name exists
|
||||
# and we do package static libs and the .so links (but in a gcc versioned
|
||||
# directory)
|
||||
addFilter ("libstdc.*shlib-policy-missing-lib")
|
||||
# We have names lib libgcc_s1-gcc7 for non-default GCCs
|
||||
addFilter ("shlib-policy-name-error")
|
||||
addFilter ("shlib-legacy-policy-name-error")
|
||||
# Packages provide libgcc_s1 = $version and conflict with other providers
|
||||
# of libgcc_s1
|
||||
addFilter ("conflicts-with-provides")
|
||||
# SLE12 rpmlint complains about valid SPDX licenses
|
||||
addFilter ("invalid-license")
|
142
gcc13-sanitizer-remove-crypt-interception.patch
Normal file
142
gcc13-sanitizer-remove-crypt-interception.patch
Normal file
@ -0,0 +1,142 @@
|
||||
From b9ab7f38227b8980b09537ed1fc45632d7b4b0ea Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <i@maskray.me>
|
||||
Date: Fri, 28 Apr 2023 09:59:17 -0700
|
||||
Subject: [PATCH] Remove crypt and crypt_r interceptors
|
||||
To: gcc-patches@gcc.gnu.org
|
||||
|
||||
From Florian Weimer's D144073
|
||||
|
||||
> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
|
||||
>
|
||||
> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
|
||||
|
||||
Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
|
||||
newer glibc.
|
||||
|
||||
For older glibc, msan will not know that an uninstrumented crypt_r call
|
||||
initializes `data`, so there is a risk for false positives. However, with some
|
||||
codebase survey, I think crypt_r uses are very few and the call sites typically
|
||||
have a `memset(&data, 0, sizeof(data));` anyway.
|
||||
|
||||
Fix https://github.com/google/sanitizers/issues/1365
|
||||
Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
|
||||
|
||||
Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D149403
|
||||
---
|
||||
.../sanitizer_common_interceptors.inc | 37 -------------------
|
||||
.../sanitizer_platform_interceptors.h | 2 -
|
||||
.../sanitizer_platform_limits_posix.cpp | 8 ----
|
||||
.../sanitizer_platform_limits_posix.h | 1 -
|
||||
4 files changed, 48 deletions(-)
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
|
||||
index ba4b80081f0..662c4199742 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
|
||||
@@ -10187,41 +10187,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
|
||||
#define INIT_GETRANDOM
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_INTERCEPT_CRYPT
|
||||
-INTERCEPTOR(char *, crypt, char *key, char *salt) {
|
||||
- void *ctx;
|
||||
- COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
|
||||
- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
|
||||
- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
|
||||
- char *res = REAL(crypt)(key, salt);
|
||||
- if (res != nullptr)
|
||||
- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
|
||||
- return res;
|
||||
-}
|
||||
-#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
|
||||
-#else
|
||||
-#define INIT_CRYPT
|
||||
-#endif
|
||||
-
|
||||
-#if SANITIZER_INTERCEPT_CRYPT_R
|
||||
-INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
|
||||
- void *ctx;
|
||||
- COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
|
||||
- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
|
||||
- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
|
||||
- char *res = REAL(crypt_r)(key, salt, data);
|
||||
- if (res != nullptr) {
|
||||
- COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
|
||||
- __sanitizer::struct_crypt_data_sz);
|
||||
- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
|
||||
- }
|
||||
- return res;
|
||||
-}
|
||||
-#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
|
||||
-#else
|
||||
-#define INIT_CRYPT_R
|
||||
-#endif
|
||||
-
|
||||
#if SANITIZER_INTERCEPT_GETENTROPY
|
||||
INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
|
||||
void *ctx;
|
||||
@@ -10772,8 +10737,6 @@ static void InitializeCommonInterceptors() {
|
||||
INIT_GETUSERSHELL;
|
||||
INIT_SL_INIT;
|
||||
INIT_GETRANDOM;
|
||||
- INIT_CRYPT;
|
||||
- INIT_CRYPT_R;
|
||||
INIT_GETENTROPY;
|
||||
INIT_QSORT;
|
||||
INIT_QSORT_R;
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
index 8307b1ec28b..d50166ee6ce 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
@@ -571,8 +571,6 @@
|
||||
#define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
|
||||
#define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
|
||||
#define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
|
||||
-#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
|
||||
-#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
|
||||
|
||||
#define SANITIZER_INTERCEPT_GETRANDOM \
|
||||
((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
index c85cf1626a7..bcbd143d19d 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
@@ -176,10 +176,6 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
# include "sanitizer_platform_interceptors.h"
|
||||
# include "sanitizer_platform_limits_posix.h"
|
||||
|
||||
-#if SANITIZER_INTERCEPT_CRYPT_R
|
||||
-#include <crypt.h>
|
||||
-#endif
|
||||
-
|
||||
namespace __sanitizer {
|
||||
unsigned struct_utsname_sz = sizeof(struct utsname);
|
||||
unsigned struct_stat_sz = sizeof(struct stat);
|
||||
@@ -283,10 +279,6 @@ namespace __sanitizer {
|
||||
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
-#if SANITIZER_INTERCEPT_CRYPT_R
|
||||
- unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
|
||||
-#endif
|
||||
-
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned struct_timex_sz = sizeof(struct timex);
|
||||
unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
index 44dd3d9e22d..29ebb304a9b 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
@@ -319,7 +319,6 @@ extern unsigned struct_msqid_ds_sz;
|
||||
extern unsigned struct_mq_attr_sz;
|
||||
extern unsigned struct_timex_sz;
|
||||
extern unsigned struct_statvfs_sz;
|
||||
-extern unsigned struct_crypt_data_sz;
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
struct __sanitizer_iovec {
|
||||
--
|
||||
2.35.3
|
||||
|
10
gcc13-testresults-rpmlintrc
Normal file
10
gcc13-testresults-rpmlintrc
Normal file
@ -0,0 +1,10 @@
|
||||
# This line is mandatory to access the configuration functions
|
||||
from Config import *
|
||||
|
||||
# Currently gotools.log contains $RPM_BUILD_ROOT and there's nothing
|
||||
# to be done about that and neither do we care
|
||||
addFilter ("gcc.*-testresults.*file-contains-buildroot")
|
||||
|
||||
# The package should _not_ be noarch, testresults differ from architecture
|
||||
# to architecture
|
||||
addFilter ("gcc.*-testresults.*no-binary")
|
1018
gcc13-testresults.spec
Normal file
1018
gcc13-testresults.spec
Normal file
File diff suppressed because it is too large
Load Diff
449
gcc13.changes
Normal file
449
gcc13.changes
Normal file
@ -0,0 +1,449 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 8 08:17:53 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add gcc13-sanitizer-remove-crypt-interception.patch to remove
|
||||
crypt and crypt_r interceptors. The crypt API change in SLE15 SP3
|
||||
breaks them. [bsc#1219520]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 6 08:04:04 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-13 branch head, 67ac78caf31f7cb3202177e642, git8285
|
||||
- Add gcc13-pr88345-min-func-alignment.diff to add support for
|
||||
-fmin-function-alignment. [bsc#1214934]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 5 14:24:16 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Use %{_target_cpu} to determine host and build.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 25 07:59:39 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-13 branch head, fc7d87e0ffadca49bec29b2107, git8250
|
||||
* Includes fix for building TVM. [boo#1218492]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 22 10:05:20 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add cross-X-newlib-devel requires to newlib cross compilers.
|
||||
[boo#1219031]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 18 14:14:46 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Package m2rte.so plugin in the gcc13-m2 sub-package rather than
|
||||
in gcc13-devel. [boo#1210959]
|
||||
- Require libstdc++6-devel-gcc13 from gcc13-m2 as m2 programs
|
||||
are linked against libstdc++6.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 9 14:20:57 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-13 branch head, 36ddb5230f56a30317630a928, git8205
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 30 11:43:17 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-13 branch head, 741743c028dc00f27b9c8b1d5, git8109
|
||||
* Includes fix for building mariadb on i686. [bsc#1217667]
|
||||
* Remove pr111411.patch contained in the update.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 24 08:49:50 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Avoid update-alternatives dependency for accelerator crosses.
|
||||
- Package tool links to llvm in cross-amdgcn-gcc13 rather than in
|
||||
cross-amdgcn-newlib13-devel since that also has the dependence.
|
||||
- Depend on llvmVER instead of llvm with VER equal to
|
||||
%product_libs_llvm_ver where available and adjust tool discovery
|
||||
accordingly. This should also properly trigger re-builds when
|
||||
the patchlevel version of llvmVER changes, possibly changing
|
||||
the binary names we link to. [bsc#1217450]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 7 12:57:49 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add gcc13-bsc1216664.patch, works around SAP ASE DB crash during
|
||||
C++ standard library initialization. [bsc#1216664]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 22 08:07:30 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add pr111411.patch (bsc#1215427)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 12 17:52:25 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to b96e66fd4ef3e36983969fb8cdd1956f551a074b, git7831
|
||||
* Includes many bugfixes
|
||||
* Includes fix to -fstack-protector issues with variable
|
||||
length stack allocations on aarch64. [bsc#1214052] (CVE-2023-4039)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 28 07:59:17 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Disable building glibc cross compilers on SLE based code streams,
|
||||
the required cross-glibc packages are not available there.
|
||||
- Disable building avr cross on non-openSUSE code streams since
|
||||
avr-libc isn't available there.
|
||||
- Disable building newlib cross compilers on non-openSUSE code streams
|
||||
since newlib isn't available there.
|
||||
- Fix typo preventing s390x compiler build.
|
||||
- Raise s390x architecture baseline to z14 for ALP. [PED-253]
|
||||
- Turn cross compiler to ppc64le to a glibc cross.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 23 06:50:07 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Turn cross compiler to s390x to a glibc cross. [bsc#1214460]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 18 13:03:36 UTC 2023 - Michal Suchanek <msuchanek@suse.com>
|
||||
|
||||
- Raise Power architecture baseline to Power9 only for ALP (boo#1213915).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 3 13:34:26 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to cc279d6c64562f05019e1d12d0d825f9391b5553, git7683
|
||||
* Includes GCC 13.2 release
|
||||
* Includes patch to fix broken testcase in libbacktrace, fixing
|
||||
build problems on SLES 12
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 2 08:01:18 UTC 2023 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- gdcflags.patch: Use substituted GDCFLAGS
|
||||
- Filter out -Werror=return-type from D compile flags
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 20 09:04:51 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to 9aac37ab8a7b919a89c6d64bc7107a8436996e93, git7597
|
||||
* GCC 13.2 RC1
|
||||
- Add rpmlint filter for SLE12 complaining about invalid licenses.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 11 14:33:29 UTC 2023 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- Also handle -static-pie in the default-PIE specs
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 10 08:12:40 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to f9781fcf733ca3afe5b5811afd8ecbb18d9d3a11, git7552
|
||||
- Remove gcc13-pr110334.patch again as it breaks libreoffice build.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 28 06:56:52 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to a533ded17fb13cbbb2fa5133ecd470360f66c5cf, git7489.
|
||||
- Add gcc13-pr110334.patch to fix missed optimization in Skia
|
||||
resulting in Firefox crashes when building with LTO. [boo#1212101]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 13 09:22:50 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Raise architecture levels for ALP. [PED-153]
|
||||
* Raise POWER architecture baseline to power9. [PED-2005]
|
||||
* Raise x86-64 architecture baseline to x86-64-v2 for ALP. [PED-252]
|
||||
* Delay raising s390x architecture baseline to z14. [PED-253]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 22 09:05:30 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to dd36656ada05731c069ecd5b1878380294fb1f3e, git7364.
|
||||
* Includes the RISC-V atomic changes
|
||||
- Remove riscv-atomic.patch and riscv-pthread.patch now included
|
||||
- Make libstdc++6-devel packages own their directories since they
|
||||
can be installed standalone. [bsc#1211427]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 27 07:29:05 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to 910735c5d7ce7607384fc1eec4189e90c8ae5c84, git7256.
|
||||
* Includes GCC 13.1 release and first bugfixes
|
||||
- Update riscv-atomic.patch from the version committed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 06:46:36 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to f980561c60b0446cc427595198d7f3f4f90e0924, git7231.
|
||||
* fixes compile-time issue reported in [bsc#1210557]
|
||||
* GCC 13.1 RC3
|
||||
- Disable building the rust frontend.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 12 21:15:13 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to d339e9802f758e051b0a1ef6db732ff846cbf4e3, git7162.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 11 08:58:11 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Add new x86-related intrinsics (amxcomplexintrin.h).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 11 08:29:47 UTC 2023 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- riscv-atomic.patch: RISC-V: Add support for inlining subword atomic
|
||||
operations
|
||||
- riscv-pthread.patch: Don't add -latomic with -pthread
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 4 07:02:21 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to d0b961b802dd7d9d555ff4515835a479329326e9, git6995.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 24 14:44:48 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Add %limit_build for gcc13 to avoid OOM
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 24 13:37:38 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Use --enable-link-serialization rather that --enable-link-mutex,
|
||||
the benefit of the former one is that the linker jobs are not
|
||||
holding tokens of the make's jobserver.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 23 22:14:59 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to c4792bd1de0621932a47fb86aca09fafafdb2972, git6840.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 21 10:45:33 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add cross-bpf packages. See https://gcc.gnu.org/wiki/BPFBackEnd
|
||||
for the general state of BPF with GCC.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 21 08:39:35 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to 5f413dc41ee4f8bc3a0fc295f98b75dceae52fa8, git6773.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 27 10:25:35 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Always enable the link mutex.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 27 08:34:33 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to 529e03b9882fe48cfa3c182abb12a5858a5762a2, git6353.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 23 10:26:27 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Rebase gcc44-rename-info-files.patch patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 27 10:35:15 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Add support for new front-ends Rust and Modula-2.
|
||||
- Align _multibuild order with gcc12 package.
|
||||
- Bump to ca8fb0096713a8477614ef874f16ba5bf16c48bc, git5428.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 23 15:19:53 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add bootstrap conditional to allow --without=bootstrap to be
|
||||
specified to speed up local builds for testing.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 23 08:45:24 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump included newlib to version 4.3.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 19 11:34:00 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to GCC trunk head (r13-5254-g05b9868b182bb9)
|
||||
* pulls Go frontend fix to fix build fail on s390x
|
||||
* pulls upstream fix for PR107678, obsoleting gcc13-pr107678.patch
|
||||
- Also package libhwasan_preinit.o on aarch64.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 17 09:30:14 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Configure external timezone database provided by the timezone
|
||||
package. Make libstdc++6 recommend timezone to get a fully
|
||||
working std::chrono. Install timezone when running the testsuite.
|
||||
- Remove dependence on doxygen and graphviz when building the
|
||||
testsuite. Those were used to build the libstdc++ API html
|
||||
documentation but we stopped shipping that when Java support
|
||||
was removed and nobody noticed. Purge traces of the built
|
||||
libstdc++6-gccN-doc package.
|
||||
- Package libhwasan_preinit.o on x86_64.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 16 11:59:43 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to GCC trunk head (r13-5199-g2f81164255bf0d)
|
||||
* pulls changes up to the start of Stage 4
|
||||
- Change version numbering to match the commit count from
|
||||
the git gcc-descr alias
|
||||
- Add gcc13-pr107678.patch to fix unwinding on aarch64 with
|
||||
pointer signing. [bsc#1206684]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 27 11:13:16 UTC 2022 - Ludwig Nussel <lnussel@suse.com>
|
||||
|
||||
- Don't rely on %usrmerged, set it based on standard %suse_version
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 22 08:31:14 UTC 2022 - Matwey Kornilov <matwey.kornilov@gmail.com>
|
||||
|
||||
- Enable PRU flavour for gcc13
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 19 14:59:32 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update floatn fixinclude pickup to check each header separately (bsc#1206480)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 14 07:52:36 UTC 2022 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Redo floatn fixinclude pick-up to simply keep what is there.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 13 10:34:35 UTC 2022 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to 0a43f7b1a73c8e3b9cefffe430274d0a3d6d3291, git197351.
|
||||
- Bump libgo SONAME to libgo22.
|
||||
- Do not package libhwasan for biarch (32-bit architecture)
|
||||
as the extension depends on 64-bit pointers.
|
||||
- Sync cross.spec.in changes from gcc12 package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 5 08:01:00 UTC 2022 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Bump to 380d62c14c99d8df13b7a86660e7ee67d01ad827, git197210.
|
||||
- Adjust floatn fixincludes guard to work with SLE12 and earlier
|
||||
SLE15.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 1 22:09:49 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to de144fdab17dbbb64ccb540056ab78b4ffb3fbbc, git197173.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 1 13:59:05 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Depend on at least LLVM 13 for GCN cross compiler.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 1 05:34:47 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to 4304e09a1617bcf1c87f5bc96017ae5017379d75, git197155.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 1 05:33:14 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Rebase gcc44-rename-info-files.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 30 22:09:37 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to d13c359a49291f0a1206adbad4065677010b7e4b, git197143.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 29 07:06:11 UTC 2022 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Sync changes from gcc12 package
|
||||
- Update embedded newlib to version 4.2.0
|
||||
* includes newlib-4.1.0-aligned_alloc.patch
|
||||
- Allow cross-pru-gcc12-bootstrap for armv7l architecture.
|
||||
PRU architecture is used for real-time MCUs embedded into TI
|
||||
armv7l and aarch64 SoCs. We need to have cross-pru-gcc12 for
|
||||
armv7l in order to build both host applications and PRU firmware
|
||||
during the same build.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 28 22:09:40 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to 2b0ae7fb91f64fb005abf7d7903fd4c0764bb45c, git197102.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 22 07:14:27 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Handle new libstdc++exp.a lib.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 21 22:09:43 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to 5c0d171f67d082c353ddc319859111d3b9126c17, git196938.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 8 11:32:46 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Add 2 new headers.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 7 23:58:33 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to b457b779427b0f7b3fbac447811c9c52db5bc79e, git196485.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 27 15:32:26 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Revert --disable-fixincludes due to float128 needed fix.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 27 15:14:40 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to 0b2706ac0e6d6b990d789325f9e081dfe4501f4f, git195623.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 31 20:04:10 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to be9dd80f9334800300a80268dbb92cf3fafcfcf8, git195041.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 31 20:02:34 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Start using --disable-fixincludes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 8 18:33:26 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Fix workaround for obs-service-format_spec_file.
|
||||
- Bump version in gcc.spec.in.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 5 21:07:30 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Bump to cc01a27db5411a4fe354a97b7c86703c5bc81243, git194700.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 28 15:36:41 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- New package, inherits from gcc12
|
||||
- Take patches inherited from GCC 12.
|
||||
* gcc-add-defaultsspec.diff, add the ability to provide a specs
|
||||
file that is read by default
|
||||
* tls-no-direct.diff, avoid direct %fs references on x86 to not
|
||||
slow down Xen
|
||||
* gcc43-no-unwind-tables.diff, do not produce unwind tables for
|
||||
CRT files
|
||||
* gcc41-ppc32-retaddr.patch, fix expansion of __builtin_return_addr
|
||||
for ppc, just a testcase
|
||||
* gcc44-textdomain.patch, make translation files version specific
|
||||
and adjust textdomain to find them
|
||||
* gcc44-rename-info-files.patch, fix cross-references in info files
|
||||
when renaming them to be version specific
|
||||
* gcc48-libstdc++-api-reference.patch, fix link in the installed
|
||||
libstdc++ html documentation
|
||||
* gcc48-remove-mpfr-2.4.0-requirement.patch, make GCC work with
|
||||
earlier mpfr versions on old products
|
||||
* gcc5-no-return-gcc43-workaround.patch, make build work with
|
||||
host gcc 4.3
|
||||
* gcc7-remove-Wexpansion-to-defined-from-Wextra.patch, removes
|
||||
new warning from -Wextra
|
||||
* gcc7-avoid-fixinc-error.diff
|
||||
* gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
* gcc9-reproducible-builds.patch
|
||||
* gcc10-amdgcn-llvm-as.patch
|
4154
gcc13.spec
Normal file
4154
gcc13.spec
Normal file
File diff suppressed because it is too large
Load Diff
91
gcc41-ppc32-retaddr.patch
Normal file
91
gcc41-ppc32-retaddr.patch
Normal file
@ -0,0 +1,91 @@
|
||||
2005-11-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0,
|
||||
read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx
|
||||
instead of doing an extran indirection from frame_pointer_rtx.
|
||||
|
||||
* gcc.dg/20051128-1.c: New test.
|
||||
|
||||
#Index: gcc/config/rs6000/rs6000.cc
|
||||
#===================================================================
|
||||
#--- gcc/config/rs6000/rs6000.cc.orig 2013-11-26 15:42:33.000000000 +0100
|
||||
#+++ gcc/config/rs6000/rs6000.cc 2013-11-26 16:44:14.566089231 +0100
|
||||
#@@ -20878,18 +20878,22 @@ rs6000_return_addr (int count, rtx frame
|
||||
if (count != 0
|
||||
|| ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) && flag_pic))
|
||||
{
|
||||
+ rtx x;
|
||||
cfun->machine->ra_needs_full_frame = 1;
|
||||
|
||||
- return
|
||||
- gen_rtx_MEM
|
||||
- (Pmode,
|
||||
- memory_address
|
||||
- (Pmode,
|
||||
- plus_constant (Pmode,
|
||||
- copy_to_reg
|
||||
- (gen_rtx_MEM (Pmode,
|
||||
- memory_address (Pmode, frame))),
|
||||
- RETURN_ADDRESS_OFFSET)));
|
||||
+ if (count == 0)
|
||||
+ {
|
||||
+ gcc_assert (frame == frame_pointer_rtx);
|
||||
+ x = arg_pointer_rtx;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ x = memory_address (Pmode, frame);
|
||||
+ x = copy_to_reg (gen_rtx_MEM (Pmode, x));
|
||||
+ }
|
||||
+
|
||||
+ x = plus_constant (Pmode, x, RETURN_ADDRESS_OFFSET);
|
||||
+ return gen_rtx_MEM (Pmode, memory_address (Pmode, x));
|
||||
}
|
||||
|
||||
cfun->machine->ra_need_lr = 1;
|
||||
Index: gcc/testsuite/gcc.dg/20051128-1.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gcc/testsuite/gcc.dg/20051128-1.c 2013-11-26 16:44:14.566089231 +0100
|
||||
@@ -0,0 +1,41 @@
|
||||
+/* { dg-do run } */
|
||||
+/* { dg-options "-O2 -fpic" } */
|
||||
+
|
||||
+extern void exit (int);
|
||||
+extern void abort (void);
|
||||
+
|
||||
+int b;
|
||||
+
|
||||
+struct A
|
||||
+{
|
||||
+ void *pad[147];
|
||||
+ void *ra, *h;
|
||||
+ long o;
|
||||
+};
|
||||
+
|
||||
+void
|
||||
+__attribute__((noinline))
|
||||
+foo (struct A *a, void *x)
|
||||
+{
|
||||
+ __builtin_memset (a, 0, sizeof (a));
|
||||
+ if (!b)
|
||||
+ exit (0);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+__attribute__((noinline))
|
||||
+bar (void)
|
||||
+{
|
||||
+ struct A a;
|
||||
+
|
||||
+ __builtin_unwind_init ();
|
||||
+ foo (&a, __builtin_return_address (0));
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+ bar ();
|
||||
+ abort ();
|
||||
+ return 0;
|
||||
+}
|
13
gcc43-no-unwind-tables.diff
Normal file
13
gcc43-no-unwind-tables.diff
Normal file
@ -0,0 +1,13 @@
|
||||
Index: libgcc/Makefile.in
|
||||
===================================================================
|
||||
--- libgcc/Makefile.in.orig 2015-12-14 11:33:03.225790694 +0100
|
||||
+++ libgcc/Makefile.in 2015-12-17 15:09:45.415136693 +0100
|
||||
@@ -301,7 +301,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
|
||||
$(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \
|
||||
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
|
||||
-fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \
|
||||
- $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY)
|
||||
+ $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY) -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
|
||||
# Extra flags to use when compiling crt{begin,end}.o.
|
||||
CRTSTUFF_T_CFLAGS =
|
708
gcc44-rename-info-files.patch
Normal file
708
gcc44-rename-info-files.patch
Normal file
@ -0,0 +1,708 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
# DP: Allow transformations on info file names. Reference the
|
||||
# DP: transformed info file names in the texinfo files.
|
||||
|
||||
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
|
||||
;;
|
||||
-unpatch)
|
||||
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
|
||||
;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
esac
|
||||
exit 0
|
||||
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
2004-02-17 Matthias Klose <doko@debian.org>
|
||||
|
||||
* Makefile.in: Allow transformations on info file names.
|
||||
Define MAKEINFODEFS, macros to pass transformated info file
|
||||
names to makeinfo.
|
||||
* doc/cpp.texi: Use macros defined in MAKEINFODEFS for references.
|
||||
* doc/cppinternals.texi: Likewise.
|
||||
* doc/extend.texi: Likewise.
|
||||
* doc/gcc.texi: Likewise.
|
||||
* doc/gccint.texi: Likewise.
|
||||
* doc/invoke.texi: Likewise.
|
||||
* doc/libgcc.texi: Likewise.
|
||||
* doc/makefile.texi: Likewise.
|
||||
* doc/passes.texi: Likewise.
|
||||
* doc/sourcebuild.texi: Likewise.
|
||||
* doc/standards.texi: Likewise.
|
||||
* doc/trouble.texi: Likewise.
|
||||
|
||||
gcc/fortran/ChangeLog:
|
||||
* Make-lang.in: Allow transformations on info file names.
|
||||
Pass macros of transformated info file defined in MAKEINFODEFS
|
||||
names to makeinfo.
|
||||
* gfortran.texi: Use macros defined in MAKEINFODEFS for references.
|
||||
|
||||
gcc/java/ChangeLog:
|
||||
* Make-lang.in: Allow transformations on info file names.
|
||||
Pass macros of transformated info file defined in MAKEINFODEFS
|
||||
names to makeinfo.
|
||||
* gcj.texi: Use macros defined in MAKEINFODEFS for references.
|
||||
|
||||
|
||||
---
|
||||
gcc/Makefile.in | 74 ++++++++++++++++++++++++++++++++++++----------
|
||||
gcc/ada/gnat-style.texi | 2 -
|
||||
gcc/ada/gnat_rm.texi | 2 -
|
||||
gcc/ada/gnat_ugn.texi | 2 -
|
||||
gcc/doc/cpp.texi | 2 -
|
||||
gcc/doc/cppinternals.texi | 2 -
|
||||
gcc/doc/extend.texi | 2 -
|
||||
gcc/doc/gcc.texi | 8 ++--
|
||||
gcc/doc/gccint.texi | 4 +-
|
||||
gcc/doc/install.texi | 2 -
|
||||
gcc/doc/invoke.texi | 10 +++---
|
||||
gcc/doc/libgcc.texi | 2 -
|
||||
gcc/doc/makefile.texi | 2 -
|
||||
gcc/doc/passes.texi | 2 -
|
||||
gcc/doc/standards.texi | 4 +-
|
||||
gcc/fortran/Make-lang.in | 11 +++---
|
||||
gcc/fortran/gfortran.texi | 2 -
|
||||
gcc/java/Make-lang.in | 19 +++++++++--
|
||||
gcc/java/gcj.texi | 20 ++++++------
|
||||
libgomp/Makefile.am | 13 ++++----
|
||||
libgomp/Makefile.in | 14 ++++----
|
||||
libgomp/libgomp.texi | 2 -
|
||||
22 files changed, 131 insertions(+), 70 deletions(-)
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index d8b76d83d68..4f9c274ee38 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -3333,8 +3333,29 @@ install-no-fixedincludes:
|
||||
|
||||
doc: $(BUILD_INFO) $(GENERATED_MANPAGES)
|
||||
|
||||
-INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \
|
||||
- doc/gccinstall.info doc/cppinternals.info
|
||||
+INFO_CPP_NAME = $(shell echo cpp|sed '$(program_transform_name)')
|
||||
+INFO_GCC_NAME = $(shell echo gcc|sed '$(program_transform_name)')
|
||||
+INFO_GXX_NAME = $(shell echo g++|sed '$(program_transform_name)')
|
||||
+INFO_GCCINT_NAME = $(shell echo gccint|sed '$(program_transform_name)')
|
||||
+INFO_GCCINSTALL_NAME = $(shell echo gccinstall|sed '$(program_transform_name)')
|
||||
+INFO_CPPINT_NAME = $(shell echo cppinternals|sed '$(program_transform_name)')
|
||||
+
|
||||
+INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
|
||||
+INFO_GCJ_NAME = $(shell echo gcj|sed '$(program_transform_name)')
|
||||
+INFO_GDC_NAME = $(shell echo gdc|sed '$(program_transform_name)')
|
||||
+
|
||||
+INFOFILES = doc/$(INFO_CPP_NAME).info doc/$(INFO_GCC_NAME).info \
|
||||
+ doc/$(INFO_GCCINT_NAME).info \
|
||||
+ doc/$(INFO_GCCINSTALL_NAME).info doc/$(INFO_CPPINT_NAME).info
|
||||
+
|
||||
+MAKEINFODEFS = -D 'fncpp $(INFO_CPP_NAME)' -D 'fngcc $(INFO_GCC_NAME)' \
|
||||
+ -D 'fngxx $(INFO_GXX_NAME)' \
|
||||
+ -D 'fngccint $(INFO_GCCINT_NAME)' \
|
||||
+ -D 'fngccinstall $(INFO_GCCINSTALL_NAME)' \
|
||||
+ -D 'fncppint $(INFO_CPPINT_NAME)' \
|
||||
+ -D 'fngfortran $(INFO_FORTRAN_NAME)' \
|
||||
+ -D 'fngcj $(INFO_GCJ_NAME)' \
|
||||
+ -D 'fngdc $(INFO_GDC_NAME)'
|
||||
|
||||
info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
|
||||
|
||||
@@ -3390,21 +3411,41 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE)
|
||||
# patterns. To use them, put each of the specific targets with its
|
||||
# specific dependencies but no build commands.
|
||||
|
||||
-doc/cpp.info: $(TEXI_CPP_FILES)
|
||||
-doc/gcc.info: $(TEXI_GCC_FILES)
|
||||
-doc/gccint.info: $(TEXI_GCCINT_FILES)
|
||||
-doc/cppinternals.info: $(TEXI_CPPINT_FILES)
|
||||
-
|
||||
+# Generic entry to handle info files, which are not renamed (currently Ada)
|
||||
doc/%.info: %.texi
|
||||
if [ x$(BUILD_INFO) = xinfo ]; then \
|
||||
$(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \
|
||||
-I $(gcc_docdir)/include -o $@ $<; \
|
||||
fi
|
||||
|
||||
+doc/$(INFO_CPP_NAME).info: $(TEXI_CPP_FILES)
|
||||
+ if [ x$(BUILD_INFO) = xinfo ]; then \
|
||||
+ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
|
||||
+ -I $(gcc_docdir)/include -o $@ $<; \
|
||||
+ fi
|
||||
+
|
||||
+doc/$(INFO_GCC_NAME).info: $(TEXI_GCC_FILES)
|
||||
+ if [ x$(BUILD_INFO) = xinfo ]; then \
|
||||
+ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
|
||||
+ -I $(gcc_docdir)/include -o $@ $<; \
|
||||
+ fi
|
||||
+
|
||||
+doc/$(INFO_GCCINT_NAME).info: $(TEXI_GCCINT_FILES)
|
||||
+ if [ x$(BUILD_INFO) = xinfo ]; then \
|
||||
+ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
|
||||
+ -I $(gcc_docdir)/include -o $@ $<; \
|
||||
+ fi
|
||||
+
|
||||
+doc/$(INFO_CPPINT_NAME).info: $(TEXI_CPPINT_FILES)
|
||||
+ if [ x$(BUILD_INFO) = xinfo ]; then \
|
||||
+ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
|
||||
+ -I $(gcc_docdir)/include -o $@ $<; \
|
||||
+ fi
|
||||
+
|
||||
# Duplicate entry to handle renaming of gccinstall.info
|
||||
-doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
|
||||
+doc/$(INFO_GCCINSTALL_NAME).info: $(TEXI_GCCINSTALL_FILES)
|
||||
if [ x$(BUILD_INFO) = xinfo ]; then \
|
||||
- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
|
||||
+ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
|
||||
-I $(gcc_docdir)/include -o $@ $<; \
|
||||
fi
|
||||
|
||||
@@ -3815,11 +3856,11 @@ install-driver: installdirs xgcc$(exeext)
|
||||
# $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
|
||||
# to do the install.
|
||||
install-info:: doc installdirs \
|
||||
- $(DESTDIR)$(infodir)/cpp.info \
|
||||
- $(DESTDIR)$(infodir)/gcc.info \
|
||||
- $(DESTDIR)$(infodir)/cppinternals.info \
|
||||
- $(DESTDIR)$(infodir)/gccinstall.info \
|
||||
- $(DESTDIR)$(infodir)/gccint.info \
|
||||
+ $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info \
|
||||
+ $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info \
|
||||
+ $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info \
|
||||
+ $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info \
|
||||
+ $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info \
|
||||
lang.install-info
|
||||
|
||||
$(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
|
||||
@@ -4058,8 +4099,11 @@ uninstall: lang.uninstall
|
||||
-rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
|
||||
-rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
|
||||
-rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
|
||||
- -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
|
||||
- -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
|
||||
+ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info*
|
||||
+ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info*
|
||||
+ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info*
|
||||
+ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info*
|
||||
+ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info*
|
||||
for i in ar nm ranlib ; do \
|
||||
install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\
|
||||
target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \
|
||||
diff --git a/gcc/ada/gnat-style.texi b/gcc/ada/gnat-style.texi
|
||||
index f3b1c29a24f..46bd21535cf 100644
|
||||
--- a/gcc/ada/gnat-style.texi
|
||||
+++ b/gcc/ada/gnat-style.texi
|
||||
@@ -12,7 +12,7 @@
|
||||
@finalout
|
||||
@dircategory GNU Ada Tools
|
||||
@direntry
|
||||
-* gnat-style: (gnat-style.info). gnat-style
|
||||
+* gnat-style: (gnat-style-12.info). gnat-style
|
||||
@end direntry
|
||||
|
||||
@c %**end of header
|
||||
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
|
||||
index 212ed3df9d8..bed8ce40548 100644
|
||||
--- a/gcc/ada/gnat_rm.texi
|
||||
+++ b/gcc/ada/gnat_rm.texi
|
||||
@@ -12,7 +12,7 @@
|
||||
@finalout
|
||||
@dircategory GNU Ada Tools
|
||||
@direntry
|
||||
-* gnat_rm: (gnat_rm.info). gnat_rm
|
||||
+* GNAT Reference Manual: (gnat_rm-12). Reference Manual for GNU Ada tools.
|
||||
@end direntry
|
||||
|
||||
@c %**end of header
|
||||
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
|
||||
index a1daff92fbe..514931ec139 100644
|
||||
--- a/gcc/ada/gnat_ugn.texi
|
||||
+++ b/gcc/ada/gnat_ugn.texi
|
||||
@@ -12,7 +12,7 @@
|
||||
@finalout
|
||||
@dircategory GNU Ada Tools
|
||||
@direntry
|
||||
-* gnat_ugn: (gnat_ugn.info). gnat_ugn
|
||||
+* User's Guide: (gnat_ugn-12).
|
||||
@end direntry
|
||||
|
||||
@c %**end of header
|
||||
diff --git a/gcc/d/Make-lang.in b/gcc/d/Make-lang.in
|
||||
index 1679fb81097..6845aa67d43 100644
|
||||
--- a/gcc/d/Make-lang.in
|
||||
+++ b/gcc/d/Make-lang.in
|
||||
@@ -247,10 +247,11 @@ D_TEXI_FILES = \
|
||||
$(gcc_docdir)/include/gcc-common.texi \
|
||||
gcc-vers.texi
|
||||
|
||||
-doc/gdc.info: $(D_TEXI_FILES)
|
||||
+INFO_GDC_NAME = $(shell echo gdc|sed '$(program_transform_name)')
|
||||
+doc/$(INFO_GDC_NAME).info: $(D_TEXI_FILES)
|
||||
if test "x$(BUILD_INFO)" = xinfo; then \
|
||||
- rm -f doc/gdc.info*; \
|
||||
- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
|
||||
+ rm -f doc/$(INFO_GDC_NAME).info*; \
|
||||
+ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
|
||||
-I $(gcc_docdir)/include -o $@ $<; \
|
||||
else true; fi
|
||||
|
||||
@@ -275,11 +276,11 @@ gdc.pod: d/gdc.texi
|
||||
d.all.cross: gdc-cross$(exeext)
|
||||
d.start.encap: gdc$(exeext)
|
||||
d.rest.encap:
|
||||
-d.info: doc/gdc.info
|
||||
+d.info: doc/$(INFO_GDC_NAME).info
|
||||
d.dvi: doc/gdc.dvi
|
||||
d.pdf: doc/gdc.pdf
|
||||
d.html: $(build_htmldir)/gdc/index.html
|
||||
-d.srcinfo: doc/gdc.info
|
||||
+d.srcinfo: doc/$(INFO_GDC_NAME).info
|
||||
-cp -p $^ $(srcdir)/doc
|
||||
d.srcextra:
|
||||
|
||||
@@ -320,7 +321,7 @@ d.install-common: installdirs
|
||||
|
||||
d.install-plugin:
|
||||
|
||||
-d.install-info: $(DESTDIR)$(infodir)/gdc.info
|
||||
+d.install-info: $(DESTDIR)$(infodir)/$(INFO_GDC_NAME).info
|
||||
|
||||
d.install-pdf: doc/gdc.pdf
|
||||
@$(NORMAL_INSTALL)
|
||||
@@ -370,7 +371,7 @@ d.uninstall:
|
||||
-rm -rf $(DESTDIR)$(bindir)/$(D_INSTALL_NAME)$(exeext)
|
||||
-rm -rf $(DESTDIR)$(man1dir)/$(D_INSTALL_NAME)$(man1ext)
|
||||
-rm -rf $(DESTDIR)$(bindir)/$(D_TARGET_INSTALL_NAME)$(exeext)
|
||||
- -rm -rf $(DESTDIR)$(infodir)/gdc.info*
|
||||
+ -rm -rf $(DESTDIR)$(infodir)/$(INFO_GDC_NAME).info*
|
||||
|
||||
# Clean hooks.
|
||||
|
||||
diff --git a/gcc/d/gdc.texi b/gcc/d/gdc.texi
|
||||
index 24b6ee00478..1a35bb099e6 100644
|
||||
--- a/gcc/d/gdc.texi
|
||||
+++ b/gcc/d/gdc.texi
|
||||
@@ -38,7 +38,7 @@ man page gfdl(7).
|
||||
@format
|
||||
@dircategory Software development
|
||||
@direntry
|
||||
-* gdc: (gdc). A GCC-based compiler for the D language
|
||||
+* @value{fngdc}: (@value{fngdc}). A GCC-based compiler for the D language
|
||||
@end direntry
|
||||
@end format
|
||||
|
||||
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
|
||||
index b0a2ce3ac6b..922a1c95181 100644
|
||||
--- a/gcc/doc/cpp.texi
|
||||
+++ b/gcc/doc/cpp.texi
|
||||
@@ -50,7 +50,7 @@ This manual contains no Invariant Sections. The Front-Cover Texts are
|
||||
@ifinfo
|
||||
@dircategory Software development
|
||||
@direntry
|
||||
-* Cpp: (cpp). The GNU C preprocessor.
|
||||
+* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor.
|
||||
@end direntry
|
||||
@end ifinfo
|
||||
|
||||
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
|
||||
index a8ddb5c190e..e8fe1fcf2d8 100644
|
||||
--- a/gcc/doc/cppinternals.texi
|
||||
+++ b/gcc/doc/cppinternals.texi
|
||||
@@ -7,7 +7,7 @@
|
||||
@ifinfo
|
||||
@dircategory Software development
|
||||
@direntry
|
||||
-* Cpplib: (cppinternals). Cpplib internals.
|
||||
+* @value{fncppint}: (@value{fncppint}). Cpplib internals.
|
||||
@end direntry
|
||||
@end ifinfo
|
||||
|
||||
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
|
||||
index 3adb67aa47a..0fae318cade 100644
|
||||
--- a/gcc/doc/extend.texi
|
||||
+++ b/gcc/doc/extend.texi
|
||||
@@ -24488,7 +24488,7 @@ want to write code that checks whether these features are available, you can
|
||||
test for the GNU compiler the same way as for C programs: check for a
|
||||
predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to
|
||||
test specifically for GNU C++ (@pxref{Common Predefined Macros,,
|
||||
-Predefined Macros,cpp,The GNU C Preprocessor}).
|
||||
+Predefined Macros,@value{fncpp},The GNU C Preprocessor}).
|
||||
|
||||
@menu
|
||||
* C++ Volatiles:: What constitutes an access to a volatile object.
|
||||
diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi
|
||||
index b3d500d4f47..d58e57dd480 100644
|
||||
--- a/gcc/doc/gcc.texi
|
||||
+++ b/gcc/doc/gcc.texi
|
||||
@@ -70,12 +70,12 @@ Texts being (a) (see below), and with the Back-Cover Texts being (b)
|
||||
@ifnottex
|
||||
@dircategory Software development
|
||||
@direntry
|
||||
-* gcc: (gcc). The GNU Compiler Collection.
|
||||
-* g++: (gcc). The GNU C++ compiler.
|
||||
-* gcov: (gcc) Gcov. @command{gcov}---a test coverage program.
|
||||
-* gcov-tool: (gcc) Gcov-tool. @command{gcov-tool}---an offline gcda profile processing program.
|
||||
-* gcov-dump: (gcc) Gcov-dump. @command{gcov-dump}---an offline gcda and gcno profile dump tool.
|
||||
-* lto-dump: (gcc) lto-dump. @command{lto-dump}---Tool for
|
||||
+* @value{fngcc}: (@value{fngcc}). The GNU Compiler Collection.
|
||||
+* @value{fngxx}: (@value{fngcc}). The GNU C++ compiler.
|
||||
+* gcov: (@value{fngcc}) Gcov. @command{gcov}---a test coverage program.
|
||||
+* gcov-tool: (@value{fngcc}) Gcov-tool. @command{gcov-tool}---an offline gcda profile processing program.
|
||||
+* gcov-dump: (@value{fngcc}) Gcov-dump. @command{gcov-dump}---an offline gcda and gcno profile dump tool.
|
||||
+* lto-dump: (@value{fngcc}) Lto-dump. @command{lto-dump}---Tool for
|
||||
dumping LTO object files.
|
||||
@end direntry
|
||||
@sp 1
|
||||
@@ -135,7 +135,7 @@ version @value{version-GCC}.
|
||||
The internals of the GNU compilers, including how to port them to new
|
||||
targets and some information about how to write front ends for new
|
||||
languages, are documented in a separate manual. @xref{Top,,
|
||||
-Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
|
||||
+Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}.
|
||||
|
||||
@menu
|
||||
* G++ and GCC:: You can compile C or C++ programs.
|
||||
diff --git a/gcc/doc/gccint.texi b/gcc/doc/gccint.texi
|
||||
index 33cf7fdafce..8c76bf8a0c6 100644
|
||||
--- a/gcc/doc/gccint.texi
|
||||
+++ b/gcc/doc/gccint.texi
|
||||
@@ -49,7 +49,7 @@ Texts being (a) (see below), and with the Back-Cover Texts being (b)
|
||||
@ifnottex
|
||||
@dircategory Software development
|
||||
@direntry
|
||||
-* gccint: (gccint). Internals of the GNU Compiler Collection.
|
||||
+* @value{fngccint}: (@value{fngccint}). Internals of the GNU Compiler Collection.
|
||||
@end direntry
|
||||
This file documents the internals of the GNU compilers.
|
||||
@sp 1
|
||||
@@ -81,7 +81,7 @@ write front ends for new languages. It corresponds to the compilers
|
||||
@value{VERSION_PACKAGE}
|
||||
@end ifset
|
||||
version @value{version-GCC}. The use of the GNU compilers is documented in a
|
||||
-separate manual. @xref{Top,, Introduction, gcc, Using the GNU
|
||||
+separate manual. @xref{Top,, Introduction, @value{fngcc}, Using the GNU
|
||||
Compiler Collection (GCC)}.
|
||||
|
||||
This manual is mainly a reference manual rather than a tutorial. It
|
||||
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
|
||||
index 63fc949b447..a5a1b01fc55 100644
|
||||
--- a/gcc/doc/install.texi
|
||||
+++ b/gcc/doc/install.texi
|
||||
@@ -89,7 +89,7 @@ Free Documentation License}''.
|
||||
@end ifinfo
|
||||
@dircategory Software development
|
||||
@direntry
|
||||
-* gccinstall: (gccinstall). Installing the GNU Compiler Collection.
|
||||
+* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection.
|
||||
@end direntry
|
||||
|
||||
@c Part 3 Titlepage and Copyright
|
||||
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
||||
index def2df4584b..e5385a6140f 100644
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -17722,7 +17722,7 @@ One of the standard libraries bypassed by @option{-nostdlib} and
|
||||
@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
|
||||
which GCC uses to overcome shortcomings of particular machines, or special
|
||||
needs for some languages.
|
||||
-(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
|
||||
+(@xref{Interface,,Interfacing to GCC Output,@value{fngccint},GNU Compiler
|
||||
Collection (GCC) Internals},
|
||||
for more discussion of @file{libgcc.a}.)
|
||||
In most cases, you need @file{libgcc.a} even when you want to avoid
|
||||
@@ -17731,7 +17731,7 @@ or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
|
||||
This ensures that you have no unresolved references to internal GCC
|
||||
library subroutines.
|
||||
(An example of such an internal subroutine is @code{__main}, used to ensure C++
|
||||
-constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
|
||||
+constructors are called; @pxref{Collect2,,@code{collect2}, @value{fngccint},
|
||||
GNU Compiler Collection (GCC) Internals}.)
|
||||
|
||||
@opindex nostdlib++
|
||||
@@ -35109,7 +35109,7 @@ Note that you can also specify places to search using options such as
|
||||
@option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These
|
||||
take precedence over places specified using environment variables, which
|
||||
in turn take precedence over those specified by the configuration of GCC@.
|
||||
-@xref{Driver,, Controlling the Compilation Driver @file{gcc}, gccint,
|
||||
+@xref{Driver,, Controlling the Compilation Driver @file{gcc}, @value{fngccint},
|
||||
GNU Compiler Collection (GCC) Internals}.
|
||||
|
||||
@table @env
|
||||
@@ -35289,7 +35289,7 @@ the headers it contains change.
|
||||
|
||||
A precompiled header file is searched for when @code{#include} is
|
||||
seen in the compilation. As it searches for the included file
|
||||
-(@pxref{Search Path,,Search Path,cpp,The C Preprocessor}) the
|
||||
+(@pxref{Search Path,,Search Path,@value{fncpp},The C Preprocessor}) the
|
||||
compiler looks for a precompiled header in each directory just before it
|
||||
looks for the include file in that directory. The name searched for is
|
||||
the name specified in the @code{#include} with @samp{.gch} appended. If
|
||||
diff --git a/gcc/doc/libgcc.texi b/gcc/doc/libgcc.texi
|
||||
index 73aa803f97b..e005588b88e 100644
|
||||
--- a/gcc/doc/libgcc.texi
|
||||
+++ b/gcc/doc/libgcc.texi
|
||||
@@ -24,7 +24,7 @@ that needs them.
|
||||
GCC will also generate calls to C library routines, such as
|
||||
@code{memcpy} and @code{memset}, in some cases. The set of routines
|
||||
that GCC may possibly use is documented in @ref{Other
|
||||
-Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}.
|
||||
+Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}.
|
||||
|
||||
These routines take arguments and return values of a specific machine
|
||||
mode, not a specific C type. @xref{Machine Modes}, for an explanation
|
||||
diff --git a/gcc/fortran/Make-lang.in b/gcc/fortran/Make-lang.in
|
||||
index 1666fd8f0ff..96ec8861a3d 100644
|
||||
--- a/gcc/fortran/Make-lang.in
|
||||
+++ b/gcc/fortran/Make-lang.in
|
||||
@@ -116,7 +116,8 @@ fortran.tags: force
|
||||
cd $(srcdir)/fortran; $(ETAGS) -o TAGS.sub *.cc *.h; \
|
||||
$(ETAGS) --include TAGS.sub --include ../TAGS.sub
|
||||
|
||||
-fortran.info: doc/gfortran.info doc/gfc-internals.info
|
||||
+INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
|
||||
+fortran.info: doc/$(INFO_FORTRAN_NAME).info
|
||||
|
||||
F95_DVIFILES = doc/gfortran.dvi
|
||||
|
||||
@@ -199,10 +200,10 @@ GFORTRAN_TEXI = \
|
||||
$(srcdir)/doc/include/gcc-common.texi \
|
||||
gcc-vers.texi
|
||||
|
||||
-doc/gfortran.info: $(GFORTRAN_TEXI)
|
||||
+doc/$(INFO_FORTRAN_NAME).info: $(GFORTRAN_TEXI)
|
||||
if [ x$(BUILD_INFO) = xinfo ]; then \
|
||||
rm -f doc/gfortran.info-*; \
|
||||
- $(MAKEINFO) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
|
||||
+ $(MAKEINFO) $(MAKEINFODEFS) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
|
||||
-o $@ $<; \
|
||||
else true; fi
|
||||
|
||||
@@ -267,7 +268,7 @@ fortran.install-common: install-finclude-dir installdirs
|
||||
|
||||
fortran.install-plugin:
|
||||
|
||||
-fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info
|
||||
+fortran.install-info: $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info
|
||||
|
||||
fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext)
|
||||
|
||||
@@ -285,7 +286,7 @@ fortran.uninstall:
|
||||
rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
|
||||
rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \
|
||||
rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
|
||||
- rm -rf $(DESTDIR)$(infodir)/gfortran.info*
|
||||
+ rm -rf $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info*
|
||||
|
||||
#
|
||||
# Clean hooks:
|
||||
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
|
||||
index b96712987e1..55ed2a540c2 100644
|
||||
--- a/gcc/fortran/gfortran.texi
|
||||
+++ b/gcc/fortran/gfortran.texi
|
||||
@@ -101,7 +101,7 @@ Texts being (a) (see below), and with the Back-Cover Texts being (b)
|
||||
@ifinfo
|
||||
@dircategory Software development
|
||||
@direntry
|
||||
-* gfortran: (gfortran). The GNU Fortran Compiler.
|
||||
+* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler.
|
||||
@end direntry
|
||||
This file documents the use and the internals of
|
||||
the GNU Fortran compiler, (@command{gfortran}).
|
||||
diff --git a/libffi/Makefile.am b/libffi/Makefile.am
|
||||
index c6d6f849c53..6fbf374a2e7 100644
|
||||
--- a/libffi/Makefile.am
|
||||
+++ b/libffi/Makefile.am
|
||||
@@ -28,6 +28,8 @@ TEXINFO_TEX = ../gcc/doc/include/texinfo.tex
|
||||
# Defines info, dvi, pdf and html targets
|
||||
MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
|
||||
info_TEXINFOS = doc/libffi.texi
|
||||
+INFO_LIBFFI_NAME = $(shell echo libffi | sed '${program_transform_name}')
|
||||
+INFO_DEPS = doc/$(INFO_LIBFFI_NAME).info
|
||||
|
||||
# AM_CONDITIONAL on configure option --generated-files-in-srcdir
|
||||
if GENINSRC
|
||||
@@ -45,14 +47,14 @@ endif
|
||||
|
||||
all-local: $(STAMP_GENINSRC)
|
||||
|
||||
-stamp-geninsrc: doc/libffi.info
|
||||
- cp -p $(top_builddir)/doc/libffi.info $(srcdir)/doc/libffi.info
|
||||
+stamp-geninsrc: doc/$(INFO_LIBFFI_NAME).info
|
||||
+ cp -p $(top_builddir)/doc/$(INFO_LIBFFI_NAME).info $(srcdir)/doc/libffi.info
|
||||
@touch $@
|
||||
|
||||
-doc/libffi.info: $(STAMP_BUILD_INFO)
|
||||
+doc/$(INFO_LIBFFI_NAME).info: $(STAMP_BUILD_INFO)
|
||||
|
||||
stamp-build-info: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
||||
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)/doc -o doc/libffi.info $(srcdir)/doc/libffi.texi
|
||||
+ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibffi $(INFO_LIBFFI_NAME)' -I $(srcdir)/doc -o doc/$(INFO_LIBFFI_NAME).info $(srcdir)/doc/libffi.texi
|
||||
@touch $@
|
||||
|
||||
CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO)
|
||||
diff --git a/libffi/Makefile.in b/libffi/Makefile.in
|
||||
index 5524a6a571e..1898ffee446 100644
|
||||
--- a/libffi/Makefile.in
|
||||
+++ b/libffi/Makefile.in
|
||||
@@ -249,7 +249,8 @@ AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
|
||||
am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
|
||||
am__v_texidevnull_0 = > /dev/null
|
||||
am__v_texidevnull_1 =
|
||||
-INFO_DEPS = doc/libffi.info
|
||||
+INFO_LIBFFI_NAME = $(shell echo libffi | sed '${program_transform_name}')
|
||||
+INFO_DEPS = doc/$(INFO_LIBFFI_NAME).info
|
||||
am__TEXINFO_TEX_DIR = $(srcdir)/../gcc/doc/include
|
||||
DVIS = doc/libffi.dvi
|
||||
PDFS = doc/libffi.pdf
|
||||
@@ -473,6 +474,8 @@ TEXINFO_TEX = ../gcc/doc/include/texinfo.tex
|
||||
# Defines info, dvi, pdf and html targets
|
||||
MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
|
||||
info_TEXINFOS = doc/libffi.texi
|
||||
+INFO_LIBFFI_NAME = $(shell echo libffi | sed '${program_transform_name}')
|
||||
+INFO_DEPS = doc/$(INFO_LIBFFI_NAME).info
|
||||
@GENINSRC_FALSE@STAMP_GENINSRC =
|
||||
|
||||
# AM_CONDITIONAL on configure option --generated-files-in-srcdir
|
||||
@@ -1906,14 +1909,15 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
|
||||
|
||||
all-local: $(STAMP_GENINSRC)
|
||||
|
||||
-stamp-geninsrc: doc/libffi.info
|
||||
- cp -p $(top_builddir)/doc/libffi.info $(srcdir)/doc/libffi.info
|
||||
+$(srcdir)/doc/libffi.info: stamp-geninsrc
|
||||
+stamp-geninsrc: doc/$(INFO_LIBFFI_NAME).info
|
||||
+ cp -p $(top_builddir)/doc/$(INFO_LIBFFI_NAME).info $(srcdir)/doc/libffi.info
|
||||
@touch $@
|
||||
|
||||
-doc/libffi.info: $(STAMP_BUILD_INFO)
|
||||
+doc/$(INFO_LIBFFI_NAME).info: $(STAMP_BUILD_INFO)
|
||||
|
||||
stamp-build-info: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
||||
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)/doc -o doc/libffi.info $(srcdir)/doc/libffi.texi
|
||||
+ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibffi $(INFO_LIBFFI_NAME)' -I $(srcdir)/doc -o doc/$(INFO_LIBFFI_NAME).info $(srcdir)/doc/libffi.texi
|
||||
@touch $@
|
||||
@LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@libffi.map-sun : libffi.map $(top_srcdir)/../contrib/make_sunver.pl \
|
||||
@LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@ $(libffi_la_OBJECTS) $(libffi_la_LIBADD)
|
||||
diff --git a/libffi/doc/libffi.texi b/libffi/doc/libffi.texi
|
||||
index 7fd3625d992..62dc76d6d64 100644
|
||||
--- a/libffi/doc/libffi.texi
|
||||
+++ b/libffi/doc/libffi.texi
|
||||
@@ -43,7 +43,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
@dircategory Development
|
||||
@direntry
|
||||
-* libffi: (libffi). Portable foreign function interface library.
|
||||
+* libffi: (@value{fnlibffi}). Portable foreign-function interface library.
|
||||
@end direntry
|
||||
|
||||
@titlepage
|
||||
diff --git a/libgomp/Makefile.am b/libgomp/Makefile.am
|
||||
index 428f7a9dab5..cce97d85bc8 100644
|
||||
--- a/libgomp/Makefile.am
|
||||
+++ b/libgomp/Makefile.am
|
||||
@@ -129,14 +129,17 @@ endif
|
||||
|
||||
all-local: $(STAMP_GENINSRC)
|
||||
|
||||
-stamp-geninsrc: libgomp.info
|
||||
- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
|
||||
+INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
|
||||
+stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
|
||||
+ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
|
||||
@touch $@
|
||||
|
||||
-libgomp.info: $(STAMP_BUILD_INFO)
|
||||
+libgomp.info: $(INFO_LIBGOMP_NAME).info
|
||||
+ cp $(INFO_LIBGOMP_NAME).info libgomp.info
|
||||
+$(STAMP_BUILD_INFO).info: $(STAMP_BUILD_INFO)
|
||||
|
||||
stamp-build-info: libgomp.texi
|
||||
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
|
||||
+ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
|
||||
@touch $@
|
||||
|
||||
|
||||
diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in
|
||||
index 2c81ccacc1d..0fb67876733 100644
|
||||
--- a/libgomp/Makefile.in
|
||||
+++ b/libgomp/Makefile.in
|
||||
@@ -612,6 +612,7 @@ info_TEXINFOS = libgomp.texi
|
||||
|
||||
# AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
|
||||
@BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info
|
||||
+INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
|
||||
CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO)
|
||||
MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
|
||||
MULTISRCTOP =
|
||||
@@ -1392,15 +1393,16 @@ env.lo: libgomp_f.h
|
||||
env.o: libgomp_f.h
|
||||
|
||||
all-local: $(STAMP_GENINSRC)
|
||||
-
|
||||
-stamp-geninsrc: libgomp.info
|
||||
- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
|
||||
+stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
|
||||
+ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
|
||||
@touch $@
|
||||
|
||||
-libgomp.info: $(STAMP_BUILD_INFO)
|
||||
+libgomp.info: $(INFO_LIBGOMP_NAME).info
|
||||
+ cp $(INFO_LIBGOMP_NAME).info libgomp.info
|
||||
+$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO)
|
||||
|
||||
stamp-build-info: libgomp.texi
|
||||
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
|
||||
+ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
|
||||
@touch $@
|
||||
|
||||
# target overrides
|
||||
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
|
||||
index 5bcb84a1d6f..60715911924 100644
|
||||
--- a/libgomp/libgomp.texi
|
||||
+++ b/libgomp/libgomp.texi
|
||||
@@ -31,7 +31,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
|
||||
@ifinfo
|
||||
@dircategory GNU Libraries
|
||||
@direntry
|
||||
-* libgomp: (libgomp). GNU Offloading and Multi Processing Runtime Library.
|
||||
+* @value{fnlibgomp}: (@value{fnlibgomp}). GNU Offloading and Multi Processing Runtime Library.
|
||||
@end direntry
|
||||
|
||||
This manual documents libgomp, the GNU Offloading and Multi Processing
|
||||
diff --git a/libitm/libitm.texi b/libitm/libitm.texi
|
||||
index 9bb818fa53f..e62a90231f5 100644
|
||||
--- a/libitm/libitm.texi
|
||||
+++ b/libitm/libitm.texi
|
||||
@@ -20,7 +20,7 @@ Free Documentation License''.
|
||||
@ifinfo
|
||||
@dircategory GNU Libraries
|
||||
@direntry
|
||||
-* libitm: (libitm). GNU Transactional Memory Library
|
||||
+* libitm: (libitm-6). GNU Transactional Memory Library
|
||||
@end direntry
|
||||
|
||||
This manual documents the GNU Transactional Memory Library.
|
||||
diff --git a/libquadmath/libquadmath.texi b/libquadmath/libquadmath.texi
|
||||
index 2e3a62511b1..ac658f5f2a7 100644
|
||||
--- a/libquadmath/libquadmath.texi
|
||||
+++ b/libquadmath/libquadmath.texi
|
||||
@@ -25,7 +25,7 @@ copy and modify this GNU manual.
|
||||
@ifinfo
|
||||
@dircategory GNU Libraries
|
||||
@direntry
|
||||
-* libquadmath: (libquadmath). GCC Quad-Precision Math Library
|
||||
+* libquadmath: (libquadmath-6). GCC Quad-Precision Math Library
|
||||
@end direntry
|
||||
|
||||
This manual documents the GCC Quad-Precision Math Library API.
|
115
gcc44-textdomain.patch
Normal file
115
gcc44-textdomain.patch
Normal file
@ -0,0 +1,115 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
# DP: Set gettext's domain and textdomain to the versioned package name.
|
||||
|
||||
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
|
||||
;;
|
||||
-unpatch)
|
||||
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
|
||||
;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
esac
|
||||
exit 0
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index 0fe2ba241..86e5fb9e7 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -4303,8 +4303,8 @@ install-po:
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
echo $(mkinstalldirs) $(DESTDIR)$$dir; \
|
||||
$(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
|
||||
- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
|
||||
- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
|
||||
+ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-13.mo; \
|
||||
+ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-13.mo; \
|
||||
done
|
||||
|
||||
# Rule for regenerating the message template (gcc.pot).
|
||||
diff --git a/gcc/intl.cc b/gcc/intl.cc
|
||||
index e8108b7dc..62895c11f 100644
|
||||
--- a/gcc/intl.cc
|
||||
+++ b/gcc/intl.cc
|
||||
@@ -55,8 +55,8 @@ gcc_init_libintl (void)
|
||||
setlocale (LC_ALL, "");
|
||||
#endif
|
||||
|
||||
- (void) bindtextdomain ("gcc", LOCALEDIR);
|
||||
- (void) textdomain ("gcc");
|
||||
+ (void) bindtextdomain ("gcc-13", LOCALEDIR);
|
||||
+ (void) textdomain ("gcc-13");
|
||||
|
||||
/* Opening quotation mark. */
|
||||
open_quote = _("`");
|
||||
diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in
|
||||
index 5fbba9b9c..c37bc6bcf 100644
|
||||
--- a/libcpp/Makefile.in
|
||||
+++ b/libcpp/Makefile.in
|
||||
@@ -49,6 +49,7 @@ LDFLAGS = @LDFLAGS@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
PACKAGE = @PACKAGE@
|
||||
+PACKAGE_SUFFIX = -13
|
||||
RANLIB = @RANLIB@
|
||||
SHELL = @SHELL@
|
||||
USED_CATALOGS = @USED_CATALOGS@
|
||||
@@ -76,8 +77,10 @@ INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
|
||||
|
||||
ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG) \
|
||||
$(CET_HOST_FLAGS)
|
||||
+ALL_CFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\"
|
||||
ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(NOEXCEPTION_FLAGS) $(INCLUDES) \
|
||||
$(CPPFLAGS) $(PICFLAG) $(CET_HOST_FLAGS)
|
||||
+ALL_CXXFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\"
|
||||
|
||||
# The name of the compiler to use.
|
||||
COMPILER = $(CXX)
|
||||
@@ -166,8 +169,8 @@ install-strip install: all installdirs
|
||||
else continue; \
|
||||
fi; \
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
|
||||
- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
|
||||
+ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
|
||||
+ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
|
||||
done
|
||||
|
||||
mostlyclean:
|
||||
diff --git a/libcpp/init.cc b/libcpp/init.cc
|
||||
index 63124c816..4471ff358 100644
|
||||
--- a/libcpp/init.cc
|
||||
+++ b/libcpp/init.cc
|
||||
@@ -167,7 +167,7 @@ init_library (void)
|
||||
init_trigraph_map ();
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
- (void) bindtextdomain (PACKAGE, LOCALEDIR);
|
||||
+ (void) bindtextdomain (PACKAGE PACKAGE_SUFFIX, LOCALEDIR);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
diff --git a/libcpp/system.h b/libcpp/system.h
|
||||
index 0a0629d55..6fc28a651 100644
|
||||
--- a/libcpp/system.h
|
||||
+++ b/libcpp/system.h
|
||||
@@ -284,7 +284,7 @@ extern int errno;
|
||||
#endif
|
||||
|
||||
#ifndef _
|
||||
-# define _(msgid) dgettext (PACKAGE, msgid)
|
||||
+# define _(msgid) dgettext (PACKAGE PACKAGE_SUFFIX, msgid)
|
||||
#endif
|
||||
|
||||
#ifndef N_
|
14
gcc48-libstdc++-api-reference.patch
Normal file
14
gcc48-libstdc++-api-reference.patch
Normal file
@ -0,0 +1,14 @@
|
||||
Index: libstdc++-v3/doc/html/index.html
|
||||
===================================================================
|
||||
--- libstdc++-v3/doc/html/index.html (revision 210144)
|
||||
+++ libstdc++-v3/doc/html/index.html (working copy)
|
||||
@@ -18,7 +18,7 @@
|
||||
</p></li><li class="listitem"><p>
|
||||
<a class="link" href="faq.html" title="Frequently Asked Questions">Frequently Asked Questions</a>
|
||||
</p></li><li class="listitem"><p>
|
||||
- <a class="link" href="api.html" title="The GNU C++ Library API Reference">API and Source Documentation</a>
|
||||
+ <a class="link" href="api/index.html" title="The GNU C++ Library API Reference">API and Source Documentation</a>
|
||||
</p></li></ul></div><p>
|
||||
</p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I.
|
||||
Introduction
|
||||
|
18
gcc7-avoid-fixinc-error.diff
Normal file
18
gcc7-avoid-fixinc-error.diff
Normal file
@ -0,0 +1,18 @@
|
||||
Index: gcc/Makefile.in
|
||||
===================================================================
|
||||
--- gcc/Makefile.in (revision 255776)
|
||||
+++ gcc/Makefile.in (working copy)
|
||||
@@ -3066,13 +3066,6 @@ stmp-fixinc: gsyslimits.h macro_list fix
|
||||
sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \
|
||||
multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \
|
||||
fix_dir=include-fixed$${multi_dir}; \
|
||||
- if ! $(inhibit_libc) && test ! -d ${BUILD_SYSTEM_HEADER_DIR}; then \
|
||||
- echo The directory that should contain system headers does not exist: >&2 ; \
|
||||
- echo " ${BUILD_SYSTEM_HEADER_DIR}" >&2 ; \
|
||||
- tooldir_sysinc=`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \
|
||||
- if test "x${BUILD_SYSTEM_HEADER_DIR}" = "x$${tooldir_sysinc}"; \
|
||||
- then sleep 1; else exit 1; fi; \
|
||||
- fi; \
|
||||
$(mkinstalldirs) $${fix_dir}; \
|
||||
chmod a+rx $${fix_dir} || true; \
|
||||
(TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
|
13
gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
Normal file
13
gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: gcc/c-family/c.opt
|
||||
===================================================================
|
||||
--- gcc/c-family/c.opt (revision 246224)
|
||||
+++ gcc/c-family/c.opt (working copy)
|
||||
@@ -596,7 +596,7 @@ C ObjC C++ ObjC++ Var(warn_double_promot
|
||||
Warn about implicit conversions from \"float\" to \"double\".
|
||||
|
||||
Wexpansion-to-defined
|
||||
-C ObjC C++ ObjC++ CPP(warn_expansion_to_defined) CppReason(CPP_W_EXPANSION_TO_DEFINED) Var(cpp_warn_expansion_to_defined) Init(0) Warning EnabledBy(Wextra || Wpedantic)
|
||||
+C ObjC C++ ObjC++ CPP(warn_expansion_to_defined) CppReason(CPP_W_EXPANSION_TO_DEFINED) Var(cpp_warn_expansion_to_defined) Init(0) Warning EnabledBy(Wpedantic)
|
||||
Warn if \"defined\" is used outside #if.
|
||||
|
||||
Wimplicit-function-declaration
|
116
gcc9-reproducible-builds-buildid-for-checksum.patch
Normal file
116
gcc9-reproducible-builds-buildid-for-checksum.patch
Normal file
@ -0,0 +1,116 @@
|
||||
Use the binaries build-id as checksum for PCH purposes.
|
||||
|
||||
diff --git a/gcc/c-family/c-pch.cc b/gcc/c-family/c-pch.cc
|
||||
index 2cafa1387bb..7f51f977378 100644
|
||||
--- a/gcc/c-family/c-pch.cc
|
||||
+++ b/gcc/c-family/c-pch.cc
|
||||
@@ -64,6 +64,66 @@ static FILE *pch_outfile;
|
||||
|
||||
static const char *get_ident (void);
|
||||
|
||||
+#if _GNU_SOURCE
|
||||
+#include <link.h>
|
||||
+
|
||||
+#define ALIGN(val, align) (((val) + (align) - 1) & ~((align) - 1))
|
||||
+
|
||||
+static int
|
||||
+get_build_id_1 (struct dl_phdr_info *info, size_t, void *data)
|
||||
+{
|
||||
+ for (unsigned i = 0; i < info->dlpi_phnum; ++i)
|
||||
+ {
|
||||
+ if (info->dlpi_phdr[i].p_type != PT_NOTE)
|
||||
+ continue;
|
||||
+ ElfW(Nhdr) *nhdr
|
||||
+ = (ElfW(Nhdr) *)(info->dlpi_addr + info->dlpi_phdr[i].p_vaddr);
|
||||
+ ptrdiff_t size = info->dlpi_phdr[i].p_filesz;
|
||||
+ ptrdiff_t align = info->dlpi_phdr[i].p_align;
|
||||
+ if (align != 8)
|
||||
+ align = 4;
|
||||
+ while (size >= (ptrdiff_t)sizeof (ElfW(Nhdr)))
|
||||
+ {
|
||||
+ if (nhdr->n_type == NT_GNU_BUILD_ID
|
||||
+ && nhdr->n_namesz == 4
|
||||
+ && strncmp ((char *)nhdr
|
||||
+ + sizeof (ElfW(Nhdr)),
|
||||
+ "GNU", 4) == 0
|
||||
+ && nhdr->n_descsz >= 16)
|
||||
+ {
|
||||
+ memcpy (data,
|
||||
+ (char *)nhdr
|
||||
+ + ALIGN (sizeof (ElfW(Nhdr))
|
||||
+ + nhdr->n_namesz, align), 16);
|
||||
+ return 1;
|
||||
+ }
|
||||
+ size_t offset = (ALIGN (sizeof (ElfW(Nhdr))
|
||||
+ + nhdr->n_namesz, align)
|
||||
+ + ALIGN(nhdr->n_descsz, align));
|
||||
+ nhdr = (ElfW(Nhdr) *)((char *)nhdr + offset);
|
||||
+ size -= offset;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const unsigned char *
|
||||
+get_build_id ()
|
||||
+{
|
||||
+ static unsigned char build_id[16];
|
||||
+ if (!dl_iterate_phdr (get_build_id_1, build_id))
|
||||
+ return NULL;
|
||||
+ return build_id;
|
||||
+}
|
||||
+#else
|
||||
+static const unsigned char *
|
||||
+get_build_id ()
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* Compute an appropriate 8-byte magic number for the PCH file, so that
|
||||
utilities like file(1) can identify it, and so that GCC can quickly
|
||||
ignore non-PCH files and PCH files that are of a completely different
|
||||
@@ -118,8 +178,11 @@ pch_init (void)
|
||||
}
|
||||
target_validity = targetm.get_pch_validity (&v.target_data_length);
|
||||
|
||||
+ const unsigned char *chksum = get_build_id ();
|
||||
+ if (!chksum)
|
||||
+ chksum = executable_checksum;
|
||||
if (fwrite (partial_pch, IDENT_LENGTH, 1, f) != 1
|
||||
- || fwrite (executable_checksum, 16, 1, f) != 1
|
||||
+ || fwrite (chksum, 16, 1, f) != 1
|
||||
|| fwrite (&v, sizeof (v), 1, f) != 1
|
||||
|| fwrite (target_validity, v.target_data_length, 1, f) != 1)
|
||||
fatal_error (input_location, "cannot write to %s: %m", pch_file);
|
||||
@@ -234,7 +297,10 @@ c_common_valid_pch (cpp_reader *pfile, const char *name, int fd)
|
||||
cpp_warning (pfile, CPP_W_INVALID_PCH, "%s: not a PCH file", name);
|
||||
return 2;
|
||||
}
|
||||
- if (memcmp (ident + IDENT_LENGTH, executable_checksum, 16) != 0)
|
||||
+ const unsigned char *chksum = get_build_id ();
|
||||
+ if (!chksum)
|
||||
+ chksum = executable_checksum;
|
||||
+ if (memcmp (ident + IDENT_LENGTH, chksum, 16) != 0)
|
||||
{
|
||||
cpp_warning (pfile, CPP_W_INVALID_PCH,
|
||||
"%s: created by a different GCC executable", name);
|
||||
diff --git a/gcc/genchecksum.cc b/gcc/genchecksum.cc
|
||||
index 47280f5147b..bcfdcacf954 100644
|
||||
--- a/gcc/genchecksum.cc
|
||||
+++ b/gcc/genchecksum.cc
|
||||
@@ -113,8 +113,13 @@ main (int argc, char ** argv)
|
||||
puts ("#include \"config.h\"");
|
||||
puts ("#include \"system.h\"");
|
||||
fputs ("EXPORTED_CONST unsigned char executable_checksum[16] = { ", stdout);
|
||||
+#if _GNU_SOURCE
|
||||
+ for (i = 0; i < 16; i++)
|
||||
+ printf ("0x%02x%s", 0, i == 15 ? " };\n" : ", ");
|
||||
+#else
|
||||
for (i = 0; i < 16; i++)
|
||||
printf ("0x%02x%s", result[i], i == 15 ? " };\n" : ", ");
|
||||
+#endif
|
||||
|
||||
return 0;
|
||||
}
|
15
gcc9-reproducible-builds.patch
Normal file
15
gcc9-reproducible-builds.patch
Normal file
@ -0,0 +1,15 @@
|
||||
Avoid leaking current data on generated file for Ada.
|
||||
|
||||
Index: gcc/ada/gcc-interface/Makefile.in
|
||||
===================================================================
|
||||
--- gcc/ada/gcc-interface/Makefile.in (revision 268977)
|
||||
+++ gcc/ada/gcc-interface/Makefile.in (working copy)
|
||||
@@ -2407,6 +2407,7 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib
|
||||
$(OSCONS_CPP) ; \
|
||||
$(OSCONS_EXTRACT) ; \
|
||||
../bldtools/oscons/xoscons s-oscons)
|
||||
+ touch -r $(fsrcpfx)ada/gsocket.h $@
|
||||
|
||||
gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads
|
||||
test -f $(RTSDIR)/s-oscons.ads || exit 1
|
||||
|
57
gdcflags.patch
Normal file
57
gdcflags.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From 1ed21e23d6d4da8201a09558b71d9a34281e54dd Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schwab <schwab@suse.de>
|
||||
Date: Sun, 16 Jul 2023 19:43:56 +0200
|
||||
Subject: [PATCH] Use substituted GDCFLAGS
|
||||
|
||||
Use the substituted value for GCDFLAGS instead of hardcoding $(CFLAGS) so
|
||||
that the subdir configure scripts use the configured value.
|
||||
|
||||
* configure.ac (GDCFLAGS): Set default from ${CFLAGS}.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in (GDCFLAGS): Substitute @GDCFLAGS@.
|
||||
---
|
||||
Makefile.in | 2 +-
|
||||
configure | 1 +
|
||||
configure.ac | 1 +
|
||||
3 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 04307ca561b..144bccd2603 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -444,7 +444,7 @@ LIBCFLAGS = $(CFLAGS)
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||
GOCFLAGS = $(CFLAGS)
|
||||
-GDCFLAGS = $(CFLAGS)
|
||||
+GDCFLAGS = @GDCFLAGS@
|
||||
GM2FLAGS = $(CFLAGS)
|
||||
|
||||
# Pass additional PGO and LTO compiler options to the PGO build.
|
||||
diff --git a/configure b/configure
|
||||
index 0d3f5c6455d..3269da9829f 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -12947,6 +12947,7 @@ fi
|
||||
|
||||
|
||||
|
||||
+GDCFLAGS=${GDCFLAGS-${CFLAGS}}
|
||||
|
||||
# Target tools.
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index dddab2a56d8..d07a0fa7698 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3662,6 +3662,7 @@ AC_SUBST(CFLAGS)
|
||||
AC_SUBST(CXXFLAGS)
|
||||
AC_SUBST(GDC)
|
||||
AC_SUBST(GDCFLAGS)
|
||||
+GDCFLAGS=${GDCFLAGS-${CFLAGS}}
|
||||
|
||||
# Target tools.
|
||||
AC_ARG_WITH([build-time-tools],
|
||||
--
|
||||
2.41.0
|
||||
|
BIN
newlib-4.3.0.20230120.tar.xz
(Stored with Git LFS)
Normal file
BIN
newlib-4.3.0.20230120.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
31
pre_checkin.sh
Normal file
31
pre_checkin.sh
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# This script is called automatically during autobuild checkin.
|
||||
|
||||
case $0 in
|
||||
\./*)
|
||||
here=$PWD
|
||||
;;
|
||||
*/*)
|
||||
here=${0%/*}
|
||||
;;
|
||||
*)
|
||||
here=$PWD
|
||||
;;
|
||||
esac
|
||||
case ${here##*/} in
|
||||
gcc*.*)
|
||||
# Handle maintainance projects with .$REPO suffix
|
||||
suffix=${here##*/}
|
||||
suffix=${suffix%%\.*}
|
||||
set ${suffix#gcc}
|
||||
;;
|
||||
gcc-*)
|
||||
suffix=${here##*/}
|
||||
set ${suffix#*-}-
|
||||
;;
|
||||
gcc[0-9]*)
|
||||
suffix=${here##*/}
|
||||
set ${suffix#gcc}
|
||||
;;
|
||||
esac
|
||||
. ${here}/change_spec
|
20
tls-no-direct.diff
Normal file
20
tls-no-direct.diff
Normal file
@ -0,0 +1,20 @@
|
||||
For i?86 negative offsets to %fs segment accesses cause a hypervisor
|
||||
trap for Xen. Avoid this by making accesses indirect.
|
||||
|
||||
??? Note that similar to the behavior on SLE11 this only affects
|
||||
the compiler built on %ix86, not that on x86_64, even with -m32.
|
||||
|
||||
Index: gcc/config/i386/linux.h
|
||||
===================================================================
|
||||
--- gcc/config/i386/linux.h.orig 2015-12-17 15:07:37.785650062 +0100
|
||||
+++ gcc/config/i386/linux.h 2015-12-17 15:08:06.393983290 +0100
|
||||
@@ -24,3 +24,9 @@ along with GCC; see the file COPYING3.
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER
|
||||
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
|
||||
+
|
||||
+/* This slows down Xen, so take a very small general performance hit
|
||||
+ for not accessing the %fs segment with negative offsets by making
|
||||
+ GCC not emit direct accesses to %fs at all. */
|
||||
+#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
|
||||
+#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT 0
|
Loading…
Reference in New Issue
Block a user