diff options
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/write.c | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 87eb412..293e00e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2016-02-21 H.J. Lu <hongjiu.lu@intel.com> + + * write.c (compress_debug): Move BFD compression bits setting + to ... + (write_object_file): Here. + 2016-02-20 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (register_number): Check RegVRex. diff --git a/gas/write.c b/gas/write.c index 46d8d96..46ce5df 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); } |