summaryrefslogtreecommitdiffstats
path: root/trunk/ChangeLog.cross
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/ChangeLog.cross')
-rw-r--r--trunk/ChangeLog.cross98
1 files changed, 98 insertions, 0 deletions
diff --git a/trunk/ChangeLog.cross b/trunk/ChangeLog.cross
index e57c8de..c8b30be 100644
--- a/trunk/ChangeLog.cross
+++ b/trunk/ChangeLog.cross
@@ -2,6 +2,104 @@
* Integrate prelinker/cross-prelinking patches
+ 2008-10-02 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * src/arch-mips.c (mips_prelink_reloc): Do not complain about
+ TLS_DTPMOD32 or TLS_DTPMOD64 relocations found in executables.
+
+ 2008-09-03 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * src/prelink.h (Elf64_Byte): New definition.
+ (R_MIPS_TLS_DTPMOD64): New macro.
+ (R_MIPS_TLS_DTPREL64): Likewise.
+ (R_MIPS_TLS_TPREL64): Likewise.
+ (RSS_UNDEF): Likewise.
+ (PL_ARCH): Use plarch_##F as the name of the struct in all
+ variants.
+ * src/reloc-info.c: New file.
+ * src/reloc-info.h: Likewise.
+ * src/arch-mips.c (mips_buf_read_addr): New function.
+ (mips_buf_write_addr): Likewise.
+ (mips_arch_adjust): Replace calls to buf_read_une32() and
+ buf_write_ne32() with ones to mips_buf_read_addr() and
+ mips_buf_write_addr() respectively.
+ (mips_read_addend): Rename to...
+ (mips_read_32bit_addend): ... this.
+ (mips_write_addend): Rename to...
+ (mips_write_32bit_addend): ... this.
+ (mips_read_64bit_addend): New function.
+ (mips_write_64bit_addend): Likewise.
+ (mips_adjust_reloc): Handle 64-bit REL relocations. Use
+ reloc_r_sym() and reloc_r_type() in place of GELF_R_SYM() and
+ GELF_R_TYPE() respectively.
+ (mips_prelink_64bit_reloc): New function.
+ (mips_prelink_reloc): Handle 64-bit REL and GLOB_DAT relocations.
+ Handle TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.
+ Use reloc_r_sym() and reloc_r_type().
+ (mips_prelink_rel): Handle 64-bit REL relocations. Use
+ reloc_r_sym(), reloc_r_type() and reloc_r_info_ext() (replacing
+ GELF_R_INFO()).
+ (mips_prelink_conflict_reloc): Handle 64-bit REL relocations.
+ Handle TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.
+ Use reloc_r_sym(), reloc_r_type() and reloc_r_info_ext().
+ (mips_arch_prelink_conflict): Use mips_buf_read_addr(). Use
+ reloc_r_info_ext().
+ (mips_apply_conflict_rela): Handle 64-bit REL relocations. Use
+ reloc_r_type(). Use mips_buf_read_addr() and
+ mips_buf_write_addr().
+ (mips_apply_reloc): Handle 64-bit REL relocations. Use
+ reloc_r_sym() and reloc_r_type().
+ (mips_rel_to_rela): Handle 64-bit REL relocations. Handle
+ TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations. Use
+ reloc_r_sym() and reloc_r_type().
+ (mips_rela_to_rel): Handle 64-bit REL and GLOB_DAT relocations.
+ Handle TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.
+ Use reloc_r_sym() and reloc_r_type().
+ (mips_need_rel_to_rela): Use data obtained with gelfx_getshdr() to
+ determine the size of a relocation entry. Use gelfx_getrel() to
+ retrieve them. Handle 64-bit REL relocations. Handle
+ TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations. Use
+ reloc_r_sym() and reloc_r_type() instead of ELF32_R_SYM() and
+ ELF32_R_TYPE() respectively.
+ (mips_reloc_class): Handle TLS_DTPMOD64, TLS_DTPREL64 and
+ TLS_TPREL64 relocations.
+ (mips_arch_prelink): Use mips_buf_read_addr() and
+ mips_buf_write_addr().
+ (mips_arch_undo_prelink): Likewise.
+ (mips_undo_prelink_rel): Handle 64-bit GLOB_DAT relocations. Use
+ reloc_r_sym(), reloc_r_type() and reloc_r_info_ext().
+ (mips64): New PL_ARCH.
+ * src/prelink.c (prelink_prepare): Handle SHT_MIPS_OPTIONS.
+ * src/conflict.c (conflict_rela_cmp_dso): New variable.
+ (conflict_rela_cmp): Use conflict_rela_cmp_dso and reloc_r_sym().
+ (get_relocated_mem): Use reloc_r_type().
+ (prelink_add_copy_rel): Use reloc_r_sym() and reloc_r_type().
+ (prelink_build_conflicts): Use reloc_r_sym(), reloc_r_type() and
+ reloc_r_info(). Pass dso to conflict_rela_cmp() through
+ conflict_rela_cmp_dso.
+ (prelink_find_copy_rela): Use reloc_r_type().
+ * src/cxx.c (remove_redundant_cxx_conflicts): Use reloc_r_sym(),
+ reloc_r_type() and reloc_r_info().
+ * src/ld-libs.c (do_rel_section): Use reloc_r_sym() and
+ reloc_r_type().
+ * src/Makefile.am (common_SOURCES): Add reloc-info.c and
+ reloc-info.h.
+ (prelink_rtld_SOURCES): Likewise.
+ * src/Makefile.in: Regenerate.
+ * configure.in: Check for the Elf64_Byte type. Require autoconf
+ 2.50.
+ * configure: Regenerate.
+
+ 2008-09-03 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * src/arch-mips.c (mips_undo_prelink_rel): Fix formatting.
+
+ 2008-09-03 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * src/arch-mips.c (mips_init_local_got_iterator): Use ELF_T_ADDR
+ to determine the width of GOT entries.
+ (mips_init_global_got_iterator): Likewise.
+
2008-09-03 Maciej W. Rozycki <macro@codesourcery.com>
* src/data.c (buf_read_une##nn): Fix the width of the data