Skip to content

Commit 1c2d10a

Browse files
committed
Tune GCC configure options
1 parent a2460e4 commit 1c2d10a

File tree

2 files changed

+55
-12
lines changed

2 files changed

+55
-12
lines changed

.github/workflows/build.yml

+12-12
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,22 @@ jobs:
5858
strategy:
5959
matrix:
6060
target: [
61-
'ia64-unknown-linux-gnu',
62-
'alpha-unknown-linux-gnu',
61+
# 'ia64-unknown-linux-gnu',
62+
# 'alpha-unknown-linux-gnu',
6363
'x86_64-unknown-linux-gnu',
6464
'i386-unknown-linux-gnu',
65-
'arm-unknown-linux-gnueabi',
65+
# 'arm-unknown-linux-gnueabi',
6666
'arm-unknown-linux-gnueabihf',
67-
'hppa-unknown-linux-gnu',
67+
# 'hppa-unknown-linux-gnu',
6868
'aarch64-unknown-linux-gnu',
69-
'mips-unknown-linux-gnu',
70-
'mipsel-unknown-linux-gnu',
71-
'powerpc-unknown-linux-gnu',
72-
's390-unknown-linux-gnu',
73-
's390x-unknown-linux-gnu',
74-
'sparc-unknown-linux-gnu',
75-
'powerpc64le-unknown-linux-gnu',
76-
'mips64el-unknown-linux-gnuabi64'
69+
# 'mips-unknown-linux-gnu',
70+
# 'mipsel-unknown-linux-gnu',
71+
# 'powerpc-unknown-linux-gnu',
72+
# 's390-unknown-linux-gnu',
73+
# 's390x-unknown-linux-gnu',
74+
# 'sparc-unknown-linux-gnu',
75+
# 'powerpc64le-unknown-linux-gnu',
76+
# 'mips64el-unknown-linux-gnuabi64'
7777
]
7878
steps:
7979
- uses: actions/checkout@main

build.sh

+43
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ declare -r mpfr_directory='/tmp/mpfr-4.2.1'
1818
declare -r mpc_tarball='/tmp/mpc.tar.gz'
1919
declare -r mpc_directory='/tmp/mpc-1.3.1'
2020

21+
declare -r isl_tarball='/tmp/isl.tar.xz'
22+
declare -r isl_directory='/tmp/isl-0.27'
23+
2124
declare -r binutils_tarball='/tmp/binutils.tar.xz'
2225
declare -r binutils_directory='/tmp/binutils-with-gold-2.44'
2326

@@ -31,6 +34,7 @@ declare -r max_jobs='40'
3134
declare -r optlto="-flto=${max_jobs} -fno-fat-lto-objects"
3235
declare -r optfatlto="-flto=${max_jobs} -ffat-lto-objects"
3336

37+
declare -r pieflags='-fPIE'
3438
declare -r optflags='-w -O2'
3539
declare -r linkflags='-Wl,-s'
3640

@@ -119,6 +123,23 @@ if ! [ -f "${mpc_tarball}" ]; then
119123
--file="${mpc_tarball}"
120124
fi
121125

126+
if ! [ -f "${isl_tarball}" ]; then
127+
curl \
128+
--url 'https://libisl.sourceforge.io/isl-0.27.tar.xz' \
129+
--retry '30' \
130+
--retry-all-errors \
131+
--retry-delay '0' \
132+
--retry-max-time '0' \
133+
--location \
134+
--silent \
135+
--output "${isl_tarball}"
136+
137+
tar \
138+
--directory="$(dirname "${isl_directory}")" \
139+
--extract \
140+
--file="${isl_tarball}"
141+
fi
142+
122143
if ! [ -f "${binutils_tarball}" ]; then
123144
curl \
124145
--url 'https://ftp.gnu.org/gnu/binutils/binutils-with-gold-2.44.tar.xz' \
@@ -214,6 +235,24 @@ cd "${mpc_directory}/build"
214235
make all --jobs
215236
make install
216237

238+
[ -d "${isl_directory}/build" ] || mkdir "${isl_directory}/build"
239+
240+
cd "${isl_directory}/build"
241+
rm --force --recursive ./*
242+
243+
../configure \
244+
--host="${CROSS_COMPILE_TRIPLET}" \
245+
--prefix="${toolchain_directory}" \
246+
--with-gmp-prefix="${toolchain_directory}" \
247+
--enable-shared \
248+
--enable-static \
249+
CFLAGS="${pieflags} ${optflags} ${optlto}" \
250+
CXXFLAGS="${pieflags} ${optflags} ${optlto}" \
251+
LDFLAGS="-Wl,-rpath-link -Wl,${toolchain_directory}/lib ${linkflags} ${optlto}"
252+
253+
make all --jobs
254+
make install
255+
217256
for target in "${targets[@]}"; do
218257
source "${workdir}/${target}.sh"
219258

@@ -271,15 +310,18 @@ for target in "${targets[@]}"; do
271310
--with-gmp="${toolchain_directory}" \
272311
--with-mpc="${toolchain_directory}" \
273312
--with-mpfr="${toolchain_directory}" \
313+
--with-isl="${toolchain_directory}" \
274314
--with-bugurl='https://github.com/AmanoTeam/Raiden/issues' \
275315
--with-pkgversion="Raiden v0.8-${revision}" \
276316
--with-sysroot="${toolchain_directory}/${triplet}" \
277317
--with-gcc-major-version-only \
278318
--with-native-system-header-dir='/include' \
319+
--with-default-libstdcxx-abi='new' \
279320
--enable-__cxa_atexit \
280321
--enable-cet='auto' \
281322
--enable-checking='release' \
282323
--enable-clocale='gnu' \
324+
--enable-default-pie \
283325
--enable-default-ssp \
284326
--enable-gnu-indirect-function \
285327
--enable-libssp \
@@ -293,6 +335,7 @@ for target in "${targets[@]}"; do
293335
--enable-gold \
294336
--enable-languages='c,c++' \
295337
--enable-plugin \
338+
--enable-libstdcxx-time='yes' \
296339
--disable-libsanitizer \
297340
--disable-fixincludes \
298341
--disable-gnu-unique-object \

0 commit comments

Comments
 (0)