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
|
eval "$(
declare -f build | \
sed '
s/--enable/--enable-64-bit-bfd \0/
s,https://bugs.archlinux.org/,https://bugs.archlinux32.org/,
'
)"
# segfaults in ld of binutils 2.30 needs the binutils_2_30 branch
# for now, see https://sourceware.org/bugzilla/show_bug.cgi?id=23194
# this patch was done by diffing the branch against the tag and removing
# some conflicts, also 0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch
# needs disabling because it has already been cherry-picked into the branch.
# cherry-picking onlt the fiy for P23194 leads to assertion violations in
# the GOT, so this was not done.
# also conflicted with parts of the gold ld patch 0004-PR22868, eliminated
# conflicts by picking only the necessary things..
source+=(binutils-2.30-glibc-segfault.patch)
md5sums+=('e384a80d85b645c41d05eaae1a81dc03')
eval "$(
declare -f prepare | \
sed '
s/.*0003-PR22836/#\0/
/0004-PR22868/a patch -p1 -i ${srcdir}/binutils-2.30-glibc-segfault.patch
'
)"
# i486-specific
if [ "${CARCH}" = "i486" ]; then
# disable CET (Control Flow instructions endbr32/enbr64)
eval "$(
declare -f build | \
sed '
s,configure",configure" --enable-cet=no,
'
)"
else
# explicitely enable CET (Control Flow instructions endbr32/enbr64)
# avoid "corrupt GNU_PROPERTY_TYPE (5) size: 0" warnings,
# see:
# https://bbs.archlinux32.org/viewtopic.php?pid=6160#p6160
# https://bugs.archlinux32.org/index.php?do=details&task_id=82
#
eval "$(
declare -f build | \
sed '
s,configure",configure" --enable-cet=yes,
'
)"
fi
|