aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-12-02 05:42:36 -0800
committerH.J. Lu <hjl.tools@gmail.com>2018-12-02 05:43:04 -0800
commit5f6c22aee74f17393b82934a5682d985672e011a (patch)
treefb4a7272b32272ff0b678b1482d61073d55c45d7 /gold/ChangeLog
parentAutomatic date update in version.in (diff)
downloadbinutils-gdb-5f6c22aee74f17393b82934a5682d985672e011a.tar.gz
binutils-gdb-5f6c22aee74f17393b82934a5682d985672e011a.tar.bz2
binutils-gdb-5f6c22aee74f17393b82934a5682d985672e011a.zip
gold: Get alignment of uncompressed section from ch_addralign
The ELF compression header has a field (ch_addralign) that is set to the alignment of the uncompressed section. This way the section itself can have a different alignment than the decompressed section. Update decompress_input_section to get alignment of the decompressed section and use it when merging decompressed strings. PR binutils/23919 * merge.cc (Output_merge_string<Char_type>::do_add_input_section): Get addralign from decompressed_section_contents. * object.cc (build_compressed_section_map): Set info.addralign. (Object::decompressed_section_contents): Add a palign argument and store p->second.addralign in *palign if it isn't NULL. * object.h (Compressed_section_info): Add addralign. (section_is_compressed): Add a palign argument, default it to NULL, store p->second.addralign in *palign if it isn't NULL. (Object::decompressed_section_contents): Likewise. * output.cc (Output_section::add_input_section): Get addralign from section_is_compressed.
Diffstat (limited to 'gold/ChangeLog')
-rw-r--r--gold/ChangeLog16
1 files changed, 16 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 9d10dc83eea..f42e4863fd5 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,19 @@
+2018-12-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/23919
+ * merge.cc (Output_merge_string<Char_type>::do_add_input_section):
+ Get addralign from decompressed_section_contents.
+ * object.cc (build_compressed_section_map): Set info.addralign.
+ (Object::decompressed_section_contents): Add a palign
+ argument and store p->second.addralign in *palign if it isn't
+ NULL.
+ * object.h (Compressed_section_info): Add addralign.
+ (section_is_compressed): Add a palign argument, default it
+ to NULL, store p->second.addralign in *palign if it isn't NULL.
+ (Object::decompressed_section_contents): Likewise.
+ * output.cc (Output_section::add_input_section): Get addralign
+ from section_is_compressed.
+
2018-11-26 Alan Modra <amodra@gmail.com>
* testsuite/Makefile.am (justsyms_lib): Link with -z norelro.