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
|
gcc/
2016-06-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (gcc_cv_as_compress_debug): Remove
--compress-debug-sections as extra as switch.
Handle gas --compress-debug-sections=type.
(gcc_cv_ld_compess_debug): Remove bogus ld_date check.
Handle gld --compress-debug-sections=type.
* configure: Regenerate.
--- a/src/gcc/configure.ac
+++ b/src/gcc/configure.ac
@@ -4729,12 +4729,21 @@
fi
gcc_GAS_CHECK_FEATURE([compressed debug sections],
- gcc_cv_as_compress_debug,,[--compress-debug-sections],,
+ gcc_cv_as_compress_debug,,,,
[# gas compiled without zlib cannot compress debug sections and warns
# about it, but still exits successfully. So check for this, too.
if $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null
then
gcc_cv_as_compress_debug=0
+ # Since binutils 2.26, gas supports --compress-debug-sections=type,
+ # defaulting to the ELF gABI format.
+ elif $gcc_cv_as --compress-debug-sections=zlib-gnu -o conftest.o conftest.s > /dev/null 2>&1
+ then
+ gcc_cv_as_compress_debug=2
+ gcc_cv_as_compress_debug_option="--compress-debug-sections"
+ gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections"
+ # Before binutils 2.26, gas only supported --compress-debug-options and
+ # emitted the traditional GNU format.
elif $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s > /dev/null 2>&1
then
gcc_cv_as_compress_debug=1
@@ -4742,8 +4751,6 @@
gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections"
else
gcc_cv_as_compress_debug=0
- # FIXME: Future gas versions will support ELF gABI style via
- # --compress-debug-sections[=type].
fi])
AC_DEFINE_UNQUOTED(HAVE_AS_COMPRESS_DEBUG, $gcc_cv_as_compress_debug,
[Define to the level of your assembler's compressed debug section support.])
@@ -5118,6 +5125,7 @@
AC_MSG_CHECKING(linker for compressed debug sections)
# gold/gld support compressed debug sections since binutils 2.19/2.21
+# In binutils 2.26, gld gained support for the ELF gABI format.
if test $in_tree_ld = yes ; then
gcc_cv_ld_compress_debug=0
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 19 -o "$gcc_cv_gld_major_version" -gt 2 \
@@ -5124,21 +5132,23 @@
&& test $in_tree_ld_is_elf = yes && test $ld_is_gold = yes; then
gcc_cv_ld_compress_debug=2
gcc_cv_ld_compress_debug_option="--compress-debug-sections"
+ elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 26 -o "$gcc_cv_gld_major_version" -gt 2 \
+ && test $in_tree_ld_is_elf = yes && test $ld_is_gold = no; then
+ gcc_cv_ld_compress_debug=3
+ gcc_cv_ld_compress_debug_option="--compress-debug-sections"
elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2 \
&& test $in_tree_ld_is_elf = yes; then
gcc_cv_ld_compress_debug=1
fi
elif echo "$ld_ver" | grep GNU > /dev/null; then
- gcc_cv_ld_compress_debug=1
- if test 0"$ld_date" -lt 20050308; then
- if test -n "$ld_date"; then
- # If there was date string, but was earlier than 2005-03-08, fail
- gcc_cv_ld_compress_debug=0
- elif test "$ld_vers_major" -lt 2; then
- gcc_cv_ld_compress_debug=0
- elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then
- gcc_cv_ld_compress_debug=0
- fi
+ if test "$ld_vers_major" -lt 2 \
+ || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then
+ gcc_cv_ld_compress_debug=0
+ elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 26; then
+ gcc_cv_ld_compress_debug=1
+ else
+ gcc_cv_ld_compress_debug=3
+ gcc_cv_ld_compress_debug_option="--compress-debug-sections"
fi
if test $ld_is_gold = yes; then
gcc_cv_ld_compress_debug=2
|