From 8ecb73ddd7efde747f9b025cb624e378bc994db5 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 21 Feb 2016 06:43:20 -0800 Subject: [PATCH] Set BFD compression bits in write_object_file There is no need to set BFD compression bits for each section. We should just set it once in write_object_file. * write.c (compress_debug): Move BFD compression bits setting to ... (write_object_file): Here. --- gas/ChangeLog | 6 ++++++ gas/write.c | 10 +++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 87eb4124dcd..293e00eb65a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2016-02-21 H.J. Lu + + * write.c (compress_debug): Move BFD compression bits setting + to ... + (write_object_file): Here. + 2016-02-20 H.J. Lu * config/tc-i386.c (register_number): Check RegVRex. diff --git a/gas/write.c b/gas/write.c index 46d8d96ab69..46ce5df48d2 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1433,14 +1433,12 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) if (flag_compress_debug == COMPRESS_DEBUG_GABI_ZLIB) { - stdoutput->flags |= BFD_COMPRESS | BFD_COMPRESS_GABI; compression_header_size = bfd_get_compression_header_size (stdoutput, NULL); header_size = compression_header_size; } else { - stdoutput->flags |= BFD_COMPRESS; compression_header_size = 0; header_size = 12; } @@ -2216,7 +2214,13 @@ write_object_file (void) we start writing any sections, because it will affect the file layout, which is fixed once we start writing contents. */ if (flag_compress_debug) - bfd_map_over_sections (stdoutput, compress_debug, (char *) 0); + { + if (flag_compress_debug == COMPRESS_DEBUG_GABI_ZLIB) + stdoutput->flags |= BFD_COMPRESS | BFD_COMPRESS_GABI; + else + stdoutput->flags |= BFD_COMPRESS; + bfd_map_over_sections (stdoutput, compress_debug, (char *) 0); + } bfd_map_over_sections (stdoutput, write_contents, (char *) 0); } -- 2.30.2