aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/APKBUILD
blob: 89d818309ea1e185d383b97e67a641726184110a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gcc
pkgver=5.2.0
_cross=""
[ "$BOOTSTRAP" = "noheaders" ] && pkgname="gcc-pass1"
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
[ "$CHOST" != "$CTARGET" ] && [ -n "$CHOST" -a -n "$CTARGET" ] \
	&& _cross="-$CTARGET"

pkgname="$pkgname$_cross"
pkgrel=0
pkgdesc="The GNU Compiler Collection"
url="http://gcc.gnu.org"
arch="all"
license="GPL LGPL"
_gccrel=$pkgver-r$pkgrel
depends="binutils$_cross isl"
makedepends_build="paxmark bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev zlib-dev !gettext-dev"
makedepends="$makedepends_build $makedepends_host"
subpackages=" "
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-doc$_cross"
replaces="libstdc++ binutils"

: ${LANG_CXX:=true}
: ${LANG_OBJC:=true}
: ${LANG_JAVA:=true}
: ${LANG_GO:=true}
: ${LANG_FORTRAN:=true}
: ${LANG_ADA:=true}

LIBGOMP=true
LIBGCC=true
LIBATOMIC=true
LIBITM=true
if [ "$CHOST" != "$CTARGET" ] && [ -n "$CHOST" -a -n "$CTARGET" ]; then
	if [ "$BOOTSTRAP" ]; then
		LANG_CXX=false
		LANG_ADA=false
		LIBGCC=false
		_builddir="$srcdir/build-cross-pass2"
	else
		_builddir="$srcdir/build-cross-final"
	fi
	LANG_OBJC=false
	LANG_JAVA=false
	LANG_GO=false
	LANG_FORTRAN=false
	LIBGOMP=false
	LIBATOMIC=false
	LIBITM=false

	# reset target flags (should be set in crosscreate abuild)
	# fixup flags. seems gcc treats CPPFLAGS as global without
	# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
	export CFLAGS="$CPPFLAGS $CFLAGS"
	export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
	unset CPPFLAGS
	export CFLAGS_FOR_TARGET=" "
	export CXXFLAGS_FOR_TARGET=" "
	export LDFLAGS_FOR_TARGET=" "

	STRIP_FOR_TARGET="$CTARGET-strip"
elif [ "$CBUILD" != "$CHOST" ] && [ -n "$CBUILD" -a -n "$CHOST" ]; then
	# fixup flags. seems gcc treats CPPFLAGS as global without
	# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
	export CFLAGS="$CPPFLAGS $CFLAGS"
	export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
	unset CPPFLAGS

	# reset flags and cc for build
	export CC_FOR_BUILD="gcc"
	export CXX_FOR_BUILD="g++"
	export CFLAGS_FOR_BUILD=" "
	export CXXFLAGS_FOR_BUILD=" "
	export LDFLAGS_FOR_BUILD=" "

	# Languages that do not need bootstrapping
	LANG_OBJC=false
	LANG_JAVA=false
	LANG_GO=false
	LANG_FORTRAN=false

	STRIP_FOR_TARGET=${CROSS_COMPILE}strip
	_builddir="$srcdir/build-cross-native"
else
	STRIP_FOR_TARGET=${CROSS_COMPILE}strip
	_builddir="$srcdir/build"
fi

# Go needs {set,make,swap}context, unimplemented in musl
[ "$CTARGET_LIBC" = musl ] && LANG_GO=false

# libitm has TEXTRELs in ARM build, so disable for now
case "$CTARGET_ARCH" in
arm*)		LIBITM=false ;;
esac

# Fortran uses libquadmath if toolchain has __float128
# currently on x86, x86_64 and ia64
LIBQUADMATH=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64)	LIBQUADMATH=$LANG_FORTRAN ;;
*)		LIBQUADMATH=false ;;
esac

# libatomic is a dependency for openvswitch
$LIBATOMIC && subpackages="$subpackages libatomic"
$LIBGCC && subpackages="$subpackages libgcc"
$LIBQUADMATH && subpackages="$subpackages libquadmath"
if $LIBGOMP; then
	depends="$depends libgomp=$_gccrel"
	subpackages="$subpackages libgomp"
fi

_languages=c
if $LANG_CXX; then
	subpackages="$subpackages libstdc++:libcxx g++$_cross:gpp"
	_languages="$_languages,c++"
fi
if $LANG_OBJC; then
	subpackages="$subpackages libobjc gcc-objc$_cross:objc"
	_languages="$_languages,objc"
fi
if $LANG_JAVA; then
	subpackages="$subpackages libgcj gcc-java$_cross:java"
	_languages="$_languages,java"
fi
if $LANG_GO; then
	subpackages="$subpackages libgo gcc-go$_cross:go"
	_languages="$_languages,go"
fi
if $LANG_FORTRAN; then
	subpackages="$subpackages libgfortran gfortran$_cross:gfortran"
	_languages="$_languages,fortran"
fi
if $LANG_ADA; then
	subpackages="$subpackages libgnat gcc-gnat$_cross:gnat"
	_languages="$_languages,ada"
	makedepends="$makedepends gcc-gnat"
fi

source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2
	ftp://sourceware.org/pub/java/ecj-latest.jar

	005_all_gcc-spec-env.patch
	010_all_default-fortify-source.patch
	011_all_default-warn-format-security.patch
	012_all_default-warn-trampolines.patch
	020_all_msgfmt-libstdc++-link.patch
	050_all_libiberty-asprintf.patch
	051_all_libiberty-pic.patch
	053_all_libitm-no-fortify-source.patch
	067_all_gcc-poison-system-directories.patch
	074_all_gcc5_isl-dl.patch
	090_all_pr55930-dependency-tracking.patch

	101_all_gcc49_configure.patch
	102_all_gcc48_config.in.patch
	103_all_gcc49_Makefile.in.patch
	105_all_gcc48_gcc.c.patch
	116_all_gcc47_nopie_option.patch
	120_all_gcc49_config_crtbeginp.patch
	124_all_gcc49_invoke.texi.patch
	134_all_gcc48_config_i386.patch
	135_all_gcc48_config_arm.patch
	140_all_gcc49_config_esp.patch
	141_all_gcc49_config_esp_alpine.patch

	201-libitm.patch
	202-musl-config-v3.patch
	204-arm.patch
	209-x86-v3.patch
	210-fixincludes.patch
	211-unwind.patch
	212-gthr.patch
	213-posix_memalign.patch
	214-stdint.patch
	arm-pr65932.patch

	libgcc-always-build-gcceh.a.patch
	gcc-4.8-musl-libssp.patch
	gcc-4.9-musl-fortify.patch
	boehm-gc-musl.patch
	gcc-pure64.patch
	fix-gcj-musl.patch
	fix-gcj-iconv-musl.patch

	gcc-4.8-build-args.patch
	fix-cxxflags-passing.patch
	ada-no-pie.patch
	ada-fixes.patch
	ada-shared.patch
	ada-musl.patch

	vanilla.specs
	hardenednossp.specs
	hardenednopie.specs
	hardenednopiessp.specs
	"

# we build out-of-tree
_gccdir="$srcdir"/gcc-$pkgver
_gcclibdir=/usr/lib/gcc/${CTARGET}/$pkgver
_gcclibexec=/usr/libexec/gcc/${CTARGET}/$pkgver

prepare() {
	cd "$_gccdir"
	# verify we have set CHOST
	if [ -z "$CHOST" ]; then
		error "CHOST not set"
		return 1
	fi

	# Gentoo, PIE and uclibc patches
	_err=
	for i in $source; do
		case "$i" in
		*.patch)
			msg "Applying $i"
			patch -p1 -F3 -i "$srcdir"/$i || _err="$_err $i"
			;;
		esac
	done

	if [ -n "$_err" ]; then
		error "The following patches failed:"
		for i in $_err; do
			echo "  $i"
		done
		return 1
	fi

	# genautomata crashes with a "Bus Error" when compiled with PIC
	# mostly affecting cross-builds as on native build bootstrapping
	# somehow seems to build proper genautomata
	sed -i gcc/Makefile.in -e 's|^build/genautomata$(build_exeext) .*|& -fno-PIC|' \
		|| return 1

	# see http://gcc.gnu.org/ml/java/2008-04/msg00027.html
	mv "$srcdir"/ecj-latest.jar ecj.jar

	echo ${pkgver} > gcc/BASE-VER
}

build() {
	local _arch_configure=
	local _libc_configure=
	local _cross_configure=
	local _bootstrap_configure=
	local _symvers=

	cd "$_gccdir"

	case "$CTARGET" in
	armv7-*-*-*eabihf)	_arch_configure="--with-arch=armv7-a --with-tune=cortex-a15 --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux";;
	armv6-*-*-*eabihf)	_arch_configure="--with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux";;
	mipsel-*-*-*)		_arch_configure="--with-arch-32=mips2 --with-tune-32=mips32 --with-fp-32=32 --with-mips-plt --with-float=hard --with-abi=32";;
	i486-*-*-*)		_arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";;
	i586-*-*-*)		_arch_configure="--with-arch=i586 --with-tune=generic --enable-cld";;
	esac

	case "$CTARGET_LIBC" in
	musl)
		# musl does not support mudflap, or libsanitizer
		# alpine musl provides libssp_nonshared.a, so we don't need libssp either
		_libc_configure="--disable-libssp --disable-libmudflap --disable-libsanitizer"
		_symvers="--disable-symvers"
		export libat_cv_have_ifunc=no
		;;
	esac

	[ "$CBUILD" != "$CHOST"   ] && _cross_configure="--disable-bootstrap"
	[ "$CHOST"  != "$CTARGET" ] && _cross_configure="--disable-bootstrap --with-sysroot=$CBUILDROOT"

	case "$BOOTSTRAP" in
	noheaders)
		_bootstrap_configure="--with-newlib --without-headers --disable-shared --enable-threads=no"
		;;
	nolibc)
		_bootstrap_configure="--with-newlib --disable-shared --enable-threads=no"
		;;
	*)
		_bootstrap_configure="--enable-shared --enable-threads --enable-tls"
		;;
	esac

	$LIBGOMP	|| _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
	$LIBATOMIC	|| _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
	$LIBITM		|| _bootstrap_configure="$_bootstrap_configure --disable-libitm"
	$LIBQUADMATH	|| _arch_configure="$_arch_configure --disable-libquadmath"

	msg "Building the following:"
	echo ""
	echo "  CBUILD=$CBUILD"
	echo "  CHOST=$CHOST"
	echo "  CTARGET=$CTARGET"
	echo "  CTARGET_ARCH=$CTARGET_ARCH"
	echo "  CTARGET_LIBC=$CTARGET_LIBC"
	echo "  languages=$_languages"
	echo "  arch_configure=$_arch_configure"
	echo "  libc_configure=$_libc_configure"
	echo "  cross_configure=$_cross_configure"
	echo "  bootstrap_configure=$_bootstrap_configure"
	echo ""

	mkdir -p "$_builddir"
	cd "$_builddir"
	"$_gccdir"/configure --prefix=/usr \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--build=${CBUILD} \
		--host=${CHOST} \
		--target=${CTARGET} \
		--with-pkgversion="Alpine ${pkgver}" \
		--enable-checking=release \
		--disable-fixed-point \
		--disable-libstdcxx-pch \
		--disable-multilib \
		--disable-nls \
		--disable-werror \
		$_symvers \
		--enable-__cxa_atexit \
		--enable-esp \
		--enable-cloog-backend \
		--enable-languages=$_languages \
		$_arch_configure \
		$_libc_configure \
		$_cross_configure \
		$_bootstrap_configure \
		--with-system-zlib \
		|| return 1

	# fix ada bootstrap
	# piepatches adds -fstack-check to spec which breaks ada bootstrap
	# TODO: upstream this to piepatches
	export ADA_CFLAGS='-fno-stack-check'

	make || return 1
}

package() {
	cd "$_builddir"
	make -j1 DESTDIR="${pkgdir}" install || return 1
	find "$pkgdir" -name '*.la' -delete || return 1

	ln -s gcc "$pkgdir"/usr/bin/cc

	# install the specs
	local i
	for i in $source; do
		case "$i" in
		*.specs)
			install -m644 "$srcdir"/$i "$pkgdir"/$_gcclibdir/$i || return 1
			;;
		esac
	done

	# we dont support gcj -static
	# and saving 35MB is not bad.
	find "$pkgdir" -name libgcj.a -o -name libgtkpeer.a \
		-o -name libgjsmalsa.a -o -name libgcj-tools.a \
		-o -name libjvm.a -o -name libgij.a -o -name libgcj_bc.a \
		-o -name libjavamath.a \
		| xargs rm -f \
		|| return 1

	# strip debug info from some statib libs
	${STRIP_FOR_TARGET} -g `find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
		-o -name libmudflap.a -o -name libmudflapth.a \
		-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
		-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
		-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \
		-a -type f` || return 1

	if $LANG_JAVA; then
		sed -i -e 's/lib: /&%{static:%eJava programs cannot be linked statically}/' \
			"$pkgdir"/usr/lib/libgcj.spec
	fi

	if $LIBGOMP; then
		mv "$pkgdir"/usr/lib/libgomp.spec "$pkgdir"/$_gcclibdir || return 1
	fi
	if $LIBITM; then
		mv "$pkgdir"/usr/lib/libitm.spec "$pkgdir"/$_gcclibdir || return 1
	fi

	# remove ffi
	rm -f "$pkgdir"/usr/lib/libffi* "$pkgdir"/usr/share/man/man3/ffi*
	find "$pkgdir" -name 'ffi*.h' | xargs rm -f

	mkdir -p "$pkgdir"/usr/share/gdb/python/auto-load/usr/lib
	mv "$pkgdir"/usr/lib/*-gdb.py \
		"$pkgdir"/usr/share/gdb/python/auto-load/usr/lib/

	paxmark -pmrs "$pkgdir"/$_gcclibexec/cc1 || return 1

	# move ada runtime libs
	if $LANG_ADA; then
		for i in "$pkgdir"/$_gcclibdir/adalib/libgna*.so; do
			mv "$i" "$pkgdir"/usr/lib/ || return 1
			ln -s ../../../../${i##*/} $i || return 1
		done
	fi

	if [ "$CHOST" != "$CTARGET" ]; then
		# cross-gcc: remove any files that would conflict with the
		# native gcc package
		rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "$pkgdir"/usr/share
	fi
}

libatomic() {
        pkgdesc="GCC Atomic library"
        depends=
	replaces="gcc"
        CARCH="$CTARGET_ARCH"

        mkdir -p "$subpkgdir"/usr/lib
        mv "$pkgdir"/usr/lib/libatomic.so.* "$subpkgdir"/usr/lib/ || \
                cp -a "$pkgdir"/usr/$CTARGET/lib/libatomic.so.* "$subpkgdir"/usr/lib/ || \
                return 1
}

libcxx() {
	pkgdesc="GNU C++ standard runtime library"
	depends=
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libstdc++.so.* "$subpkgdir"/usr/lib/ || \
		cp -a "$pkgdir"/usr/$CTARGET/lib/libstdc++.so.* "$subpkgdir"/usr/lib/ || \
		return 1
}

gpp() {
	pkgdesc="GNU C++ standard library and compiler"
	depends="libstdc++=$_gccrel gcc=$_gccrel libc-dev"
	mkdir -p "$subpkgdir/$_gcclibexec" \
		"$subpkgdir"/usr/bin \
		"$subpkgdir"/usr/include \
		"$subpkgdir"/usr/lib \

	mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/"
	paxmark -pmrs "$subpkgdir/$_gcclibexec/cc1plus" || return 1

	mv "$pkgdir"/usr/lib/*++* "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/include/c++ "$subpkgdir"/usr/include/
	mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
}

libobjc() {
	pkgdesc="GNU Objective-C runtime"
	replaces="objc"
	depends=
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libobjc.so.* "$subpkgdir"/usr/lib/
}

objc() {
	pkgdesc="GNU Objective-C"
	replaces="gcc"
	depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"

	mkdir -p "$subpkgdir"/$_gcclibdir/include \
		"$subpkgdir"/usr/lib \
		|| return 1
	mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/ \
		|| return 1
	mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
		"$subpkgdir"/usr/lib/ || return 1
}

libgcc() {
	pkgdesc="GNU C compiler runtime libraries"
	depends=
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libgcc_s.so.* "$subpkgdir"/usr/lib/ || \
		cp -a "$pkgdir"/usr/$CTARGET/lib/libgcc_s.so.* "$subpkgdir"/usr/lib/ || \
		return 1
}

libgomp() {
	pkgdesc="GCC shared-memory parallel programming API library"
	depends=
	replaces="gcc"
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libgomp.so.* "$subpkgdir"/usr/lib/
}

java() {
	pkgdesc="Java support for GCC"
	depends="zlib-dev gcc=$_gccrel libgcj=$_gccrel"

	paxmark -pm "$pkgdir"/$_gcclibexec/ecj1 || return 1
	mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib "$subpkgdir"/$_gcclibdir/
	cd "$pkgdir"/usr/bin
	mv gcj gcj-dbtool gjavah gcjh jcf-dump "$subpkgdir"/usr/bin/
	cd "$pkgdir"
	for i in $(find usr/ -name ecj1 -o -name jc1 -o -name jvgenmain); do
		mkdir -p "$subpkgdir"/${i%/*}
		mv "$pkgdir"/$i "$subpkgdir"/$i || return 1
	done
	for i in "$pkgdir"/usr/lib/libgcj*.so; do
		if [ -L "$i" ]; then
			mv "$i" "$subpkgdir"/usr/lib/ || return 1
		fi
	done
	mv "$pkgdir"/usr/lib/libgij.so "$subpkgdir"/usr/lib/ || return 1
	mv "$pkgdir"/usr/lib/libgcj.spec "$subpkgdir"/$_gcclibdir/ || return 1
}

libgcj() {
	pkgdesc="Java runtime library for gcc"
	# libgcj_bc.so moved from gcc-java to libgcj
	replaces="gcc-java"
	depends=
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/bin
	cd "$pkgdir"/usr/bin
	paxmark -pmse "$pkgdir"/usr/bin/gij || return 1
	mv aot-compile gappletviewer gc-analyze gij gjar gjarsigner gkeytool\
		gnative2ascii gorbd grmic grmid grmiregistry gserialver \
		gtnameserv jv-convert rebuild-gcj-db \
		"$subpkgdir"/usr/bin/
	cd "$pkgdir"
	for i in $(find usr/lib -name jc1 -o -name jvgenmain); do
		mkdir -p "$subpkgdir"/${i%/*}
		mv "$pkgdir"/$i "$subpkgdir"/$i || return 1
	done
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/gcj-* \
		"$pkgdir"/usr/lib/libgcj_bc.so \
		"$pkgdir"/usr/lib/libgcj*.so.* \
		"$pkgdir"/usr/lib/libgij.so.* \
		"$pkgdir"/usr/lib/logging.properties \
		"$pkgdir"/usr/lib/security \
		"$subpkgdir"/usr/lib/ \
		|| return 1

	mkdir -p "$subpkgdir"/usr/share/
	mv "$pkgdir"/usr/share/java "$subpkgdir"/usr/share/
}

libgo() {
	pkgdesc="Go runtime library for GCC"
	depends=
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
}

go() {
	pkgdesc="Go support for GCC"
	depends="gcc=$_gccrel libgo=$_gccrel"

	mkdir -p "$subpkgdir"/$_gcclibexec \
		"$subpkgdir"/usr/lib \
		"$subpkgdir"/usr/bin || return 1
	mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/ || return 1
	mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/ || return 1
	mv "$pkgdir"/usr/lib/libgo.a \
		"$pkgdir"/usr/lib/libgo.so \
		"$pkgdir"/usr/lib/libgobegin.a \
		"$subpkgdir"/usr/lib/ || return 1
}

libgfortran() {
	pkgdesc="Fortran runtime library for GCC"
	depends=
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
}

libquadmath() {
	replaces="gcc"
	pkgdesc="128-bit math library for GCC"
	depends=
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
}

gfortran() {
	pkgdesc="GNU Fortran Compiler"
	depends="gcc=$_gccrel libgfortran=$_gccrel"
	$LIBQUADMATH && depends="$depends libquadmath=$_gccrel"
	replaces="gcc"

	mkdir -p "$subpkgdir"/$_gcclibexec \
		"$subpkgdir"/$_gcclibdir \
		"$subpkgdir"/usr/lib \
		"$subpkgdir"/usr/bin || return 1
	mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/lib/libgfortran.a \
		"$pkgdir"/usr/lib/libgfortran.so \
		"$subpkgdir"/usr/lib/ || return 1
	if $LIBQUADMATH; then
		mv "$pkgdir"/usr/lib/libquadmath.a \
			"$pkgdir"/usr/lib/libquadmath.so \
			"$subpkgdir"/usr/lib/ || return 1
	fi
	mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec || return 1
	mv "$pkgdir"/$_gcclibdir/libgfortranbegin.a "$subpkgdir"/$_gcclibdir || return 1
	mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir || return 1
}

libgnat() {
	pkgdesc="GNU Ada runtime shared libraries"
	depends=
	CARCH="$CTARGET_ARCH"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
}

gnat() {
	pkgdesc="Ada support for GCC"
	depends="gcc=$_gccrel"
	[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"

	mkdir -p "$subpkgdir"/$_gcclibexec \
		"$subpkgdir"/$_gcclibdir \
		"$subpkgdir"/usr/bin \
		|| return 1
	mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/ \
		|| return 1
	mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/ || return 1
	mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/ || return 1
}

md5sums="a51bcfeb3da7dd4c623e27207ed43467  gcc-5.2.0.tar.bz2
d7cd6a27c8801e66cbaa964a039ecfdb  ecj-latest.jar
f4be3dc5dcbe42df9274774ddb908d4a  005_all_gcc-spec-env.patch
56147d4efc0a64dd193f5d211d5b9a61  010_all_default-fortify-source.patch
7f950b52dfdd1efb3de9aa101282a79f  011_all_default-warn-format-security.patch
55afcb3f072a6ffaff8ce03f310ae57f  012_all_default-warn-trampolines.patch
c324e6e3204a39334aa559329592bde3  020_all_msgfmt-libstdc++-link.patch
a99126f384a2899ff2716ad7389b784b  050_all_libiberty-asprintf.patch
d8692c56f04b92667096f59d843e95c5  051_all_libiberty-pic.patch
9cb2d475322dc61a1fe35054257001c5  053_all_libitm-no-fortify-source.patch
5d4fc1966db6860c43e2547be89bc666  067_all_gcc-poison-system-directories.patch
bbfb766dce636e8bc41e5e4cdc7731b4  074_all_gcc5_isl-dl.patch
7d4c5c1becd11ab4fe0ef9088f96e638  090_all_pr55930-dependency-tracking.patch
096f21a5269adc12cc967c2a63620fa0  101_all_gcc49_configure.patch
2a8d6a9046efc9f44449b012cf12d7fd  102_all_gcc48_config.in.patch
d7ab73bcfbb05a8636424fb479959c59  103_all_gcc49_Makefile.in.patch
bcc6826afc77ae77a5dd5f164b51c746  105_all_gcc48_gcc.c.patch
c4e4451863b021963645d904fc847105  116_all_gcc47_nopie_option.patch
b521d19ed71e0858fd700e31e57a8db5  120_all_gcc49_config_crtbeginp.patch
48da8dcab1946ebe1dec257472266ff9  124_all_gcc49_invoke.texi.patch
b0910da9f2eb4fe6a684e680f6336491  134_all_gcc48_config_i386.patch
9c6f5cd698ef54b4d32394988101cc37  135_all_gcc48_config_arm.patch
f972492ebb115777ee099f6d779a7a2d  140_all_gcc49_config_esp.patch
965a029d968eec0695191e3f148040f9  141_all_gcc49_config_esp_alpine.patch
938e8c9baf60508d37fe4483b2afc654  201-libitm.patch
c6542e3831e14d429848eb610a8fb179  202-musl-config-v3.patch
97d1014ce63986c6b7f8991cc0721ad2  204-arm.patch
0f5349304444b1ee2d991b363d8eaaeb  209-x86-v3.patch
f44f290f4d35f99fd682c0c114f35df9  210-fixincludes.patch
1671c6ebdebc01494e008f276aec2ce2  211-unwind.patch
8967273be5dd491d79530c81d9211f14  212-gthr.patch
81e7ef6d8bbd374fb73bc3edf6912228  213-posix_memalign.patch
ab90688b8df55e3602b5eb83ef272699  214-stdint.patch
d718d3a14ed8c36b7a73a75076a0ab34  arm-pr65932.patch
504c7dd8651c5d98229892c4cd9ea591  libgcc-always-build-gcceh.a.patch
0d0a41c02802b85c8f1b78ce28544f92  gcc-4.8-musl-libssp.patch
9e658e590bc51be611f39945183f6aa2  gcc-4.9-musl-fortify.patch
0ea0f556d4ef9c260d1353b7fd33970c  boehm-gc-musl.patch
2e2b787bb988d9007c9f7ce42178dfe6  gcc-pure64.patch
14fc0a0b925ef911ce78cd030fe58902  fix-gcj-musl.patch
e17bbb0fe802974e20645b4182b4c410  fix-gcj-iconv-musl.patch
0a2041bbf83648e6c4f6d3484f7249ca  gcc-4.8-build-args.patch
4aea37d334ab00bb6bba37cd8c481367  fix-cxxflags-passing.patch
a4ccdeee63d0ab08d5e6165cb32b66ff  ada-no-pie.patch
8f1d0704dd1b564e4a5e0790b3c27aa2  ada-fixes.patch
20e2731c02ce50739ebdead2795f9c41  ada-shared.patch
221773e09429ae2aba03780fb1089290  ada-musl.patch
a2f435d81e872a73a8b44a4581832af0  vanilla.specs
17a31b8580de9dd9c06a1ed96886d538  hardenednossp.specs
33ce2d221828a2d03978da52ba609524  hardenednopie.specs
5c431710b72c6ec16ed21bcca83d9f87  hardenednopiessp.specs"
sha256sums="5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad  gcc-5.2.0.tar.bz2
98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781  ecj-latest.jar
aac72f6c1940153084d5ffca8040db6e2eb9e75f15915b8f3f695bb0cd44716b  005_all_gcc-spec-env.patch
9f354a85bb1914b9a9cbd82e2a48fbd3aca384b801285b27512eb2b238c48635  010_all_default-fortify-source.patch
ff311c71e9398d3949e34c5f67fc9cde6edb553c3910a64b5ad7d1ff781ad4e5  011_all_default-warn-format-security.patch
da1fae26d6a387aa216af1816f241d141d8d4f158b1e5c3c827643ab8b491f3e  012_all_default-warn-trampolines.patch
c080f458c95dd0cbcc1322edc35890da892c3aaa7944c4eceb6319ca412cff02  020_all_msgfmt-libstdc++-link.patch
7e19261e2b5a5b9e518f6fd6844c1f0f5d0306de8bc1537c7c5cc4992a391049  050_all_libiberty-asprintf.patch
da6bbb5dc654d5e1df8ecae5c9ebb56265426c405931f14f5878248b8c79f78d  051_all_libiberty-pic.patch
545a0ffcf70fdd712c7e881cbd29e657f499b5e13cec5d0516b9fa277cefe67b  053_all_libitm-no-fortify-source.patch
278fe3352c38da7804292ddf2119aadf9a88999042cb8516301989c61a50e3f0  067_all_gcc-poison-system-directories.patch
4500e1b6aaf3f119abfe6712cddc9b1115906b8460bd0b82514473654fbed422  074_all_gcc5_isl-dl.patch
f108fdc8bb62aea4245ff9ad3d314603c69f7993f4c81de3a4c92a44b80b206e  090_all_pr55930-dependency-tracking.patch
d86a599414c8378aa1cfde75d7c2f94e7345c34063ff0114432c6de119eba2fc  101_all_gcc49_configure.patch
f301cce95609650f57c5212b38daf5288b4e7c5fa37ae2892664d4c8ceaadfbf  102_all_gcc48_config.in.patch
4bba7922c5cc6092860766022e418e920d8ea31608fd8006c912924b2416149d  103_all_gcc49_Makefile.in.patch
5fbe104dedff59b5faf9f11a51ea31b26913e8baa23fc724fc0238a4ef03b4e9  105_all_gcc48_gcc.c.patch
40a54195784bb613a27724518b6d6f1dc5475c47acccdade43cc1707d331f7f9  116_all_gcc47_nopie_option.patch
fded7088ad66eaa2c18890c1317492d1004229b485b200d4fbd882859e37d20d  120_all_gcc49_config_crtbeginp.patch
175051a5938073bba5d9f2f5803b6d9405e10475bfa9356df29cdda4f9a36719  124_all_gcc49_invoke.texi.patch
150f17367d7f514fda9e0aac283e059b190a2251d7d9dfa2b5686b2bdc67b725  134_all_gcc48_config_i386.patch
726838179efa612061bdf631514f68fffcf345198ef2e3adb46cafe068ee22f5  135_all_gcc48_config_arm.patch
e4ae7a4ac9c08775311fec84d800511f3409f1b5e9f25f0dd39cc0571d03846c  140_all_gcc49_config_esp.patch
b36f44331ca0204234263a4e3d953b741f114a8e6d05270ba0b9dc270faa0475  141_all_gcc49_config_esp_alpine.patch
cd6d91c2a7437e9d30497bdd1cd627ddbf477a0edd9629eeb2016ae175ada1fd  201-libitm.patch
f3cb8a345ed872f6ec5c996c7c31eca4705b7a0fd7cc1a850c403d0b9242b9f1  202-musl-config-v3.patch
24e989d8a87f0390029af2d486c37903456ee5ad32f1f3636484ffeddf8ba407  204-arm.patch
9ba4056b5d35dfe2ad65004577b07164dccdb45d8980e045917ddce0706b921d  209-x86-v3.patch
a151a3f3e34c52ce74718c768b25c7f50c9eab96f04943f4cdb2bd4c1bb7958e  210-fixincludes.patch
82001041657a7061cb4f5682a22f884abf7ba1d4f83d9cfda9737d235f0f6522  211-unwind.patch
b81fda1453d7f33ab81b526450e40132fa37d396e9cc6a76642ae7139cb74771  212-gthr.patch
87370f7854063bcf5f57bff931684c228370668ccf5ecd8e36ea9cf7c7455b16  213-posix_memalign.patch
a4909818a9811a8b8e074f5ab5b47d77075411a5192f3ebe4ed9766463be183b  214-stdint.patch
ca2567deb978ffa9566ca656ad1713edee2d90268aa0740b76e2658419b8b888  arm-pr65932.patch
1975189156d70f5428cb7f1516533965d1c8734f3009fc89a9b8e289b72326f1  libgcc-always-build-gcceh.a.patch
80b76ca30dcaf07481ab102869d741f044c7e5235f462182bc27467baacda9a4  gcc-4.8-musl-libssp.patch
dc93f97dff28b872f9c7e241fb87a3eca0271f706534d196b3517781b05667fa  gcc-4.9-musl-fortify.patch
6ccca88695ef84c0d038cd315cad5ae5b799672ecb009fdaab34e68ba60b733c  boehm-gc-musl.patch
f5473c6aea96d5137defd68898ba31042944a3f3ed26c05b964a40bd876c6f47  gcc-pure64.patch
22c78cc4a2658ff574e7ded1e5bc765a4f81f730d12e72d5883fe0bf73e71220  fix-gcj-musl.patch
51782c972ab828eb4ccb3ca3570341d025b2ae9a8e8fd8188cefb29c5f87401b  fix-gcj-iconv-musl.patch
bd7a6f514fcc457f29e5fda157203f3bcd013aeba5d53b3459196eef3ce752ab  gcc-4.8-build-args.patch
a395ba4cf047c48cac56985726fddf0948f4425c9f1a0c9ddba1812b2b3d8300  fix-cxxflags-passing.patch
7b71cd7c3c186ae488d2e2af169816e4f0f19782fc0e7bc6f9d0a9032e09ee5e  ada-no-pie.patch
e12d67a15bd45c4a05ffdea98caaa4017237cfd93b3853e380b0d2ab97f1d8f9  ada-fixes.patch
d6c7fc1820a4fa285297c299c255fe2f19ce1695486f20edd098252a97545e6a  ada-shared.patch
23d99e94060972bb25de4687da88ecb4fce9a7f0afa4b71a05161246917cd75d  ada-musl.patch
1315d4c430b4d81c61d14a252d7681125fd7d79fde457c014c18c62c4f1aa1de  vanilla.specs
50a46bb1c4d209ce687d13e74cc9e4e0b87cef4a8165d22fb9be243c9cf08374  hardenednossp.specs
8eccfcf282fb54aadede7c23a8b5b843c0a63a55485e74d4332ab49025d38e78  hardenednopie.specs
af85685ff501f5e0eaaa394628365425486dafe4780f0f683a4536ab60173cdf  hardenednopiessp.specs"
sha512sums="844120349ec04465dcea52d8ec747f1cbbc9d76a39fe3d8ef5e6b93614e63d718862d60d0a1c1cbf59ffc7815562287d0a2e536a6b220cebcd0b8de4ba35e715  gcc-5.2.0.tar.bz2
d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e  ecj-latest.jar
486ddf9293f11db70fa277196ba95a3a5a45c181c99d6460ef6b2ad7396a1e75533ef29d5c47f30319acf4fb731a40f312ba1c32105b23ee905a78b017e7aaf0  005_all_gcc-spec-env.patch
5c95afffbd6dc49c252fd3723142d240067470f4c347237c38d37cafe30f6251cd9bebad62d54b75ceacdccab3a2d806a1d17ad94122ce6a84229e099bac4379  010_all_default-fortify-source.patch
1eba1f17328760f72369947cd0d942d2356546fcd7c0b85f5f18ab42819e051e2010b8641eee35faf6492818a680d24bd6ae680b7a0cf2f36a3361e1a829ce81  011_all_default-warn-format-security.patch
9adb0d2b9b67dd957df6c609b8714c7c078efb52cd88770905c37c67827be8fc83d1125037b9c29d77db21ce78756aa2bb0bacdb0b98d869ac126da76a298e21  012_all_default-warn-trampolines.patch
d35a3ac7e13a4446921a90e1ff3eec1079840c845f9d523c868e24ae21f94cf69ba041de5341ebef96432a6f57598e223381d4286e8fb8baaa25906707f29fbd  020_all_msgfmt-libstdc++-link.patch
840070a3c423e6206aaa6e63e1d9a0fcd6efd53626cd1240a193f0b60aa5d84216acc4a2a4fa8bce74549b07e6a316b01d638f20cea13dc62473491a302fb3d6  050_all_libiberty-asprintf.patch
0a0bc72b9366158f5d23fff1928e756fdd212433bac6ab1f00d632f241382820db8db5d475ddf11ea020eaf7e2e71b12fb9b1c3c870cf84adf6c2b16f15aabca  051_all_libiberty-pic.patch
e7a2eb1b1870e199d6fd753d065781575656fa12baa264f96c5d179689d88c31b8a3f92a5dae96088c05e96aa2bda138364ad7dbcc79e1819a102f192cbb7bab  053_all_libitm-no-fortify-source.patch
9798f22203df092cc8c96a59da211431f4bc3dfc52676f288f0462ae207e5c26fa205b146e9e5dbff0d79755bd59eb980801e3f2c2ca556433a2994d99096728  067_all_gcc-poison-system-directories.patch
a197419f31395972f63545fba41ca1a50164471f868810fa913dcf1639dc91f9005766e97af303d56e8dfbc6816d15dbb78e3dfcdd7f4aa80981af1502518564  074_all_gcc5_isl-dl.patch
4a328d1e1a56c20166307edcfa322068915784d9c08025b7f81cf69714da48fc266b6d34f77b9135c2f10da830d9df408276a1b78d1fd218637c2823506593c2  090_all_pr55930-dependency-tracking.patch
618a8d037ccad15e60182acc9c85ba844cb9b5800a22ece0b814e43541b01b4e390a2847f86debb351f4b05580241747fde87e86a17060744e7bb2b9a3dc5bd4  101_all_gcc49_configure.patch
21770259c7916e55568027926e4a543eea468b04436cc61c28f749be5a6635c48e68b7924a8eb19a76733a9d2f00921ba06faddaedbf14b1cdad5ab1810cc6c6  102_all_gcc48_config.in.patch
adb01f47518ee81ebb2f463acc90a3422ee711f83edf56eda0e5d04586bc6346740e00c6ad1461c54fa67901da2e381a0f45cbcb8418e78c04809ecf8a463af9  103_all_gcc49_Makefile.in.patch
e98cc321d71e5bb62c6116b30ed6f11044bda440e238026a83dec63f04a0587440bdae50ec211b07976fcd9deb329f9dd1dac1317dae5003088a8a8bddbb97c1  105_all_gcc48_gcc.c.patch
98a4da3137177c5cad7dd7d35ad39cd416aa36f07867714e09ab8c0d8b759d2659063aa87b16ac1b708a283afd2ac54e20b327a32d1147720996d7bc11dcbd63  116_all_gcc47_nopie_option.patch
8fc6f2fd921c560fb1d7ba17b5cef4ea8071ee6909d372e41201667c011f948560fa543b1246cf55c0009622abf0dbc0bd79f718a853f2f0b59290e3df2c2968  120_all_gcc49_config_crtbeginp.patch
32bfe9c1f6f566de72c93388622001ff4b95086ea6f476bdfc08403ea474f98212f7396bc75d88a79a053159f78dca922ec6f641f83d9959ad419b0d8901b504  124_all_gcc49_invoke.texi.patch
dd5b9b30eb7716cb3c010ca79a83ed6219ff6e6f2557deb4e1d26cecac0f2b14c4ef7bf4dc5c2aec88aae5463763f5f64454b8a627ebd1d0a5c92984017025ad  134_all_gcc48_config_i386.patch
8355bc7dea07bf444b8bf3704dc8dc345b647f3b215a3a3ec09372a9bd86fc05922f53f46a8975791322fc755f155a648d0d1b2a86d7ed9e93b49dc927eb44d5  135_all_gcc48_config_arm.patch
976994900d20a448b97fa91e1d758b6da6d8ad9121b3dbc2e8f66ff8006d8e496cd3dddc41394db6c4d20366d56fe12375b97f494d6fb9abb8e64ab626acc2ef  140_all_gcc49_config_esp.patch
e2d027be2e76a64a607ae44566d163bcc2a03c9e14d5bd20cd8bb15c2e9e395d8964b747a6a9c49541a5d1613d721855b73d60cce7c834427b44788fa92d44dc  141_all_gcc49_config_esp_alpine.patch
0f9a05d21f060a2bfddee12441124b1e6e0f27ed140368b13de6fe9a35fa7a4a0e3f426e6a67bd3ccd82b657188ae6645129f3e28da9e0069b66dc1bc2ae9264  201-libitm.patch
1588508c31978f611dc0c0c2daa5400e2fa1f98644da8ca819e838f128b7e8242e758b8311490f3174dd2b3fec3137d26733dfd45be1479e31bfb9872317c966  202-musl-config-v3.patch
b46d0980ef1ff4387e7a5ab56b48d6f99df2679c78e338f755393e3d90fc5e317447c917bb6439e8715749392ad086605d4a44a39a8004c38a5e6ba914f6f079  204-arm.patch
a16eae6439b000ce75abc1ee8ece8c90af56eae10ca96d579e7c9468b4a424987dfc4c23fd8e2df21547541d1a019916d100f4339c15f82efa68207195e13c56  209-x86-v3.patch
f9d3d10a178b50cef06e2b16756d31662faf88e7f4a257efb7093eea9e104dd3b33fdf7f838a8f608ee876524ec896051cc1f777fc268d8b556f4f4da07b027e  210-fixincludes.patch
769ad0631c609c109d6d6f9930320d739693f0616d5b49e07b6e18284853d4c69eac5d7f876306c5a22b8aeb3836a15f0d976081c32bd8b8ec68351755d4485c  211-unwind.patch
f53475e3cc7953f5f2bfe5079b89c16d30bc09ddfc359dcd8bf87604f0899c0da07505b9bbc7ab8a844edd0911e0fc5745b60b3f724d5e5d30993372176c227f  212-gthr.patch
27e1a29e039dcc4c5190416702d1d95d48fbaeaac6440d81584989fe71a12f7bf5a484241ced9aa82b9f050eb3be8786d9584ba5299d304e7ed30506755880bc  213-posix_memalign.patch
27cbc715643b2b28d213bbc31ad68d8ca4fc2ca730b6967dce827ec9d4c54b74fa6c2ce021d91684984680b07734ab07ef9b824aec2281ed3f632fb9335cc3f6  214-stdint.patch
d0a95aa7253635ff8928840901436c94f50ecb907327b539d05fbf16611a14824b898a199615bf586f2f83910fb390820c707cb3784bdb4e229a6088644c49dd  arm-pr65932.patch
d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2fa63850c50ae5eefd5f59e5910ec10d20044dac082182a8b  libgcc-always-build-gcceh.a.patch
e6d9b103c128e5d4eca515b1496d78b05708de770597c883daddd95ea41e77b5ef1be613b989357cc870a7efd9e43b011022c2d302e7056cff7b69e764906ff2  gcc-4.8-musl-libssp.patch
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d  gcc-4.9-musl-fortify.patch
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7  boehm-gc-musl.patch
4a5aeff0399782c752e6e3f2f48d984b2056dfb5d229b23a24eee1562d241339989b2203f139821cfc03c9b25c9bd7da6ccbbdc7a09d242e4de7f0d606c6f63c  gcc-pure64.patch
f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d452e9579924a523bc75da6e0648c1c976d42e40af48b10343b  fix-gcj-musl.patch
54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6  fix-gcj-iconv-musl.patch
abe9aaf9aa956058d0386a4396a511d176a46bb3906b90e952383646cdc158cbeb0a5dc616a1ccb1ca7d49fd0b5e351532aa15a3b13362abbf1ca4266f54a687  gcc-4.8-build-args.patch
35d6d59f0b7b968f282f56767c9e0823a7bdc5aa0d450aca50fbd802649a7ca608b47671244a3faa208a9b0d6832cabb5a22724157dc817b2c0ad63d09f93282  fix-cxxflags-passing.patch
e80a08de4b43fb71f7699bcce360cd99bc525dab20b9109e7152bd211def5d8e728f88771ed59f15ed520cbf069364debc4f822c10a1abf7e2c7badd67e1c83c  ada-no-pie.patch
efab5c2b3334848f46bb039f067a65eeef3a11f5031ee87df6e14ede6afe891280cd9155bb660a54dc48fc8246120b5d32405a975398018dda00999012e3a3f4  ada-fixes.patch
3f5bc334d9f73d06f5f7c876738d02356acdd08958bea0e4d2095ebf15c2c2ec4e411abdae0297505ae9a1699ca01b17338e853184e84663203b192b0d35fc19  ada-shared.patch
a13c6acd864933bd7b12501686da57b09cbff9471c7f630f5bc9a92902a4006a9024a08ee41574707e4c232a754a21633ea89e0bb45dc0d5967e50b299ef6a5e  ada-musl.patch
83a0996a48096032bcc674a6d28524f1cd2d81837621ebe4c15b5aedbd551c77ce5576b6307adb673ef0e4ac0431d935ad6a427edca2af5c21b6be9176bfaddb  vanilla.specs
e4d38905527c500c61c421d782a8ac6ef2b034b15fd81d868486ac330a70922937d3c47e0684e9f3250744569b56a8df199499a4a5c107a6d544dca84458dc12  hardenednossp.specs
b56f7c308c5aefd0cfc647abd75939508a6640c53fce7c19da7c7d8ef4405d29b0d88800117fc7ff8d0022b035d511fb6d478e745bb2ed12a1b63f9f8cf3e168  hardenednopie.specs
f5ac7282201006548ed2bd835234af64d6f79f13f0b9a3410f5c794537e0ea91601361ae72180f49870b6b0f9af5f16002c86660feb94df346b9b1d9602e9d3a  hardenednopiessp.specs"