aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2011-01-19 00:24:23 +0000
committerH.J. Lu <hjl.tools@gmail.com>2011-01-19 00:24:23 +0000
commit6ac88ef38d4da039b342dff4c457044f924bfc8a (patch)
tree3a6f26e161f11aaa8f6c4e0ad4446966bb96a5b5 /gas
parentc25658875fc186ba568ba35a7de3153796020a01 (diff)
downloadgdb-6ac88ef38d4da039b342dff4c457044f924bfc8a.zip
gdb-6ac88ef38d4da039b342dff4c457044f924bfc8a.tar.gz
gdb-6ac88ef38d4da039b342dff4c457044f924bfc8a.tar.bz2
Don't compress debug sections smaller than 32 bytes.
2011-01-18 H.J. Lu <hongjiu.lu@intel.com> * write.c (compress_debug): Return if section size is small than 32 byte.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/write.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index bb47e72..d9cf957 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2011-01-18 H.J. Lu <hongjiu.lu@intel.com>
+ * write.c (compress_debug): Return if section size is smaller
+ than 32 bytes.
+
+2011-01-18 H.J. Lu <hongjiu.lu@intel.com>
+
PR gas/12409
* write.c (compress_debug): Return if section size is 0.
diff --git a/gas/write.c b/gas/write.c
index aabb96d..5f10bad 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -1359,7 +1359,7 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED)
flagword flags = bfd_get_section_flags (abfd, sec);
if (seginfo == NULL
- || sec->size == 0
+ || sec->size < 32
|| (flags & (SEC_ALLOC | SEC_HAS_CONTENTS)) == SEC_ALLOC)
return;