2018-10-12 Kyl Russel * testsuite/order.sh: Explain failure in log 2018-10-12 Mark Hatle * testsuite/reloc12.sh: Detect if compiler/linker support test 2018-10-12 Robert Yang * src/arch-mips.c: Make tls offset optional on tls usage 2018-10-12 Sergei Trofimovich * src/arch-x86_64.c, src/dso.c, src/prelink.h: Allow prelink of pie executables with COPY relocs 2018-10-12 Sergei Trofimovich * tessuite/functions.sh: Avoid timestamp drift 2018-10-12 Joseph Myers * testsuite/unprel1.sh: Fix for cross testing 2018-10-12 Kyle Russell * src/conflict.c, src/undo.c: Add knowledge of .data.rel.ro for read-only dynamic symbols 2018-10-12 Kyle Russell * src/rtld/dl-lookupX.h: Fix rtld segfault when _dl_lookup_symbol_x is NULL on protected symbol relocations * testsuite/Makefile.am, testsuite/reloc12.c, testsuite/reloc12.h, testsuite/reloc12.sh, testsuite/reloc12lib1.c, testsuite/reloc12lib2.c: Add a new test for these relocations 2018-10-12 Mark Hatle * Add 'Developer's Certificate of Origin' to patch requirements 2018-08-29 Khem Raj * src/elf.h: Add RISC-V defines * src/rtld/dl-tls.c: Add RISC-V support * src/rtld/rtld.c: Add RISC-V support 2018-08-29 Robert Yang * src/dso.c: use ehdr.e_shstrndx as index 2017-06-20 Andrew Stubbs * src/arch-x86_64.c (x86_64_prelink_conflict_rela): Also convert R_X86_64_32 conflicts to R_X86_64_IRELATIVE for ifuncs. * src/arch-x86_64.c (PL_ARCH(x32)): Set mmap_end to 0x60000000. 2017-06-20 Joseph Myers * src/rtld/rtld.c (load_ld_so_conf): Add argument use_x32. (main): Update call to load_ld_so_conf. 2017-06-20 Kyle Russell * src/rtld/rtld.c: Add missing DT_NEEDED DSOs to needed_list 2017-06-20 Mark Hatle * doc/Makefile.am: Disable automatic generation of prelink.pdf 2017-06-19 Nathan Rossi * src/rtld/dl-tls.c, src/rtld/rtld.c: Add definitions/conf to support MicroBlaze, using glibc-2.24 as reference. 2016-08-19 Mark Hatle * README, testsuite/reloc8.sh, testsuite/reloc9.sh: update to expand on reloc8 and reloc9 failures 2016-08-17 Mark Hatle * README: Update to include a few known issues 2016-08-17 Mark Hatle * src/rtld/dl-open.c: Change to work with older compilers 2016-06-03 Dave Lerner * src/exec.c: New check_reorder_needed, section_reorder_fix functions 2016-03-22 Mark Hatle * src/gather.c, src/get.c: Fix LD_PRELOAD 2016-03-18 Donn Seeley * src/rtld/rtld.c: rewrite build_local_scope to ensure breadth-first processing * testsuite/order: Add test to verify prelink/prelink-rtld resolution order 2016-03-18 Mark Hatle * src/rtld: Add ability to debug scopes * src/rtld/rtld.h, src/dso.c: Fix compilation warning 2016-03-10 Mark Hatle * configure.ac, m4/libelf.m4, doc/Makefile.am, gelf/Makefile.am, gelfx/Makefile.am, gelfx32/Makefile.am, patches/Makefile.am, src/Makefile.am, src/rtld/Makefile.am, testsuite/Makefile.am: Update to avoid autoconf/automake warnings * Resync src/rtld to glibc-2.23 2015-10-29 Mark Hatle Kyle McMartin Jakub Jelinek Julian Brown * testsuite/ifunc.h: Fix missing # * src/arch-arm.c (arm_prelink_conflict_rela): Add missing hunk that implemented R_ARM_IRELATIVE, and ifunc conflicts. See: https://bugzilla.redhat.com/show_bug.cgi?id=1009601 2015-10-29 Mark Hatle * prelink.h: Define SHT_MIPS_ABIFLAGS if not set * prelink.c: OK to skip SHT_MIPS_ABIFLAGS optimize the loop to stop on the first bad entry adjust the error to give us more info on the bad section 2015-10-28 Mark Hatle * get.c: Sync rtld/prelink type_class values 2015-10-22 Mark Hatle * Upstream project appears to have been abandoned * Update the project to remove the SVN like 'trunk' dir * Adjust the AUTHORS file * Move the README.cross to replace README and update it * Move the previous ChangeLog to ChangeLog.1 * Move the current ChangeLog.cross to ChangeLog 2015-10-21 Mark Hatle * Resync src/rtld to glibc-2.22 * src/elf.h, src/rtld/*: Update elf.h to glibc 2.22 version * get.c, prelink.h: Add symname to conflict structure * conflict.c: Provide more debuggign on a conflict (symname) 2015-09-11 Mark Hatle * doc/prelink.8: Add --ld-preload docs * testsuite/Maekfile.am, testsuite/preload1*: Add test 2015-09-11 Vaneet Narang * src/gather.c, src/get.c, src/main.c, src/prelink.h: Add ability to specify preloaded libraries that influence the prelinker. 2015-09-09 Akhilesh Kumar * src/gather.c: Remove unnecessary dso NULL check 2015-09-09 Maninder Singh * src/doit.c, src/gather.c, src/undoall.c: Fix realloc memory leak 2015-09-07 Andrew Stubbs * src/arch-arm.c (PL_ARCH(arm)): Set max_page_size to match the new BFD default. 2015-04-06 Mark Hatle Maninder Singh * src/rtld/dl-version.c: Add debug for mising ld-linux or libc * src/gather.c: Return rtld error messages on failure 2015-03-31 Mark Hatle * Based on submission by Maninder Singh src/get.c: Remove extra check for ld-linux.so.3 in strcmp (remove first entry, second is already in upstream code) 2014-12-10 Mark Hatle * testsuite/Makefile.am: latest autotools has changed the way TEST_ENVIRONMENT is defined. Remove the $(SHELL) 2014-12-10 Mark Hatle * Resync src/rtld to glibc-2.20 * src/elf.h, src/rtld/rtld.c, src/rtld/dl-tls.c: Update elf.h to glibc 2.20 version Add basic aarch64 support (do_relocs): fix comparison pltrel_end >= rel_end 2014-12-10 Mark Hatle * src/rtld/COPYING, src/rtld/COPYING.LIB, src/rtld/ChangeLog, src/rtld/README-rtld: Add local history information to setup for a resync to glibc-2.20 2014-12-09 Jon Masters Mark Hatle * src/arch-arm.c: Remove support for OABI arm ld-linux.so.2 Add support for hard float ld-linux-armhf.so.3 * src/rtld/rtld.c: Add ld-linux-armhf.so.3 as a ldso name 2014-08-13 Kyle McMartin Jakub Jelinek Julian Brown * testsuite/ifunc.h: Add ARM support. * src/prelink.h (R_ARM_IRELATIVE): Define. * src/arch-arm.c (arm_adjust_rel, arm_adjust_rela) (arm_prelink_rel, arm_prelink_rela, arm_apply_conflict_rela) (arm_rela_to_rel, arm_rel_to_rela, arm_undo_prelink_rel): Handle R_ARM_IRELATIVE. (arm_prelink_conflict_rel, arm_prelink_conflict_rela): Handle R_ARM_IRELATIVE, ifunc conflicts. 2014-07-22 Maciej W. Rozycki * src/arch-arm.c (arm_prelink_conflict_rel): Always create a conflict for R_ARM_TLS_DESC relocs. (arm_prelink_conflict_rela): Likewise. 2013-10-15 Mark Hatle * Merged to upstream r209 2013-08-01 Mark Hatle * testsuite/unprel1.sh: Enable RUN_HOST for new test. 2013-04-23 Mark Hatle * README.cross: Add patch submission information based on a suggestion from Tom de Vries. 2013-04-19 Tom de Vries * README.cross: Fix typo. 2013-04-19 Tom de Vries * src/arch-mips.c (PL_ARCH(mips64)): Set rtype_class_valid field to RTYPE_CLASS_VALID. 2013-01-03 Marko Lindqvist * configure.in -> configure.ac: Rename * Replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS 2012-09-12 Joseph Myers * src/rtld/dl-lookup.c: Fix variable copy reloc when host/target byte size is different 2012-09-08 Joseph Myers * src/arch-arm.c: Fix ARM_TLS_DTPOFF32 addends * src/dwarf2.c: Fix address range handling related to DW_AT_high_pc * src/dwarf2.c: Fix address range handling when dup data addr 2012-06-14 Joseph Myers * src/exec.c: Fix issue for Power related to empty PROGBITS change 2012-05-30 Mark Hatle * configure.in: Change the default bug report address to me * testsuite/ifunc*.sh: Update a test to only run when !CROSS 2012-05-22 Joseph Myers * src/prelink.h: Add missing wrap_glob declaration 2012-05-28 Joseph Myers * m4/libelf.m4: Add unistd.h 2012-05-29 Mark Hatle * testsuite/tls*.sh: Update TLS __thread check * README.cross: change instructions to use autoreconf -if 2012-05-29 Mark Hatle Integrate testsuite patches: 2012-05-25 Joseph Myers * testsuite: Introduce $READELF * testsuite: Introduce $RUN * testsuite: Introduce $RUN_HOST * testsuite/quick2.sh: Enable PIE test for ARM * testsuite: Use $CCLINK instead of $CC for tls tests 2012-04-10 Maxim Kuvyrkov * src/rtld/rtld.c (find_lib_by_soname): Follow ld.so's behavior of pulling its name from PT_INTERP. 2012-05-29 Mark Hatle * arch-x86_64.c: Fix R_X86_64_64 relocation 2012-05-25 Mark Hatle * Fix testsuite execution 2012-04-04 Mark Hatle * testsuite/ifunc1.sh, ifunc2.sh, ifunc3.sh: Add cross compilation checks to a few of the test cases. * testsuite/reloc4.sh, reloc5.sh: Fix linking problems with a linker that does not automatically including referenced libraries. 2012-03-19 Maxim Kuvyrkov * src/reloc.c (find_reloc_sections): Don't error due to a gap between sections. 2011-12-21 Mark Hatle * src/arch-x86_64.c: Add support for x32 ABI 2012-02-02 Mark Hatle Integrate dwarf2 signal frame patch: 2010-05-10 Paul Brook * src/dwarf2.c (adjust_dwarf2_frame): Skip 'S' augmentation. 2012-02-01 Mark Hatle * configure.in: Fix enabling and disabling of SE Linux support 2012-01-26 Mark Hatle * elf.h, rtld/dl-lookupX.h, rtld/rtld.c: Sync to eglibc 2.15 Integrate R_ARM_TLS_DESC relocation support patch: 2011-04-13 Maciej W. Rozycki * src/prelink.h (DT_TLSDESC_PLT, R_ARM_TLS_DESC): New macros. (DSO): Add info_DT_TLSDESC_PLT member. (DT_TLSDESC_PLT_BIT): New macro. * src/arch-arm.c (arm_prelink_rel, arm_prelink_rela): Handle R_ARM_TLS_DESC relocation. (arm_prelink_conflict_rel, arm_prelink_conflict_rela): Likewise. (arm_rel_to_rela): Likewise. (arm_undo_prelink_rel): Likewise. (arm_reloc_class): Likewise. * src/dso.c (read_dynamic): Handle DT_TLSDESC_PLT dynamic tag. * src/prelink.h: add missing prototypes for wrap_listxattr, wrap_getxattr, wrap_setxattr 2012-01-04 Mark Hatle * exec.c: Check that a section is larger then 0 bytes when determining the section to segment mapping. This matches the behavior of elfutils - readelf. Otherwise an empty PROGBITS section at the end of a segment will cause a failure. 2011-12-08 Mark Hatle * rtld/rtld.c: Fix an issue where missing objects would trigger an assert in dl-version.c * rtld/rtld.h: Add _dl_new_object prototype * rtld/rtld.c: Add support for $ORIGIN, $PLATFORM and $LIB. Note: $PLATFORM = "" 2011-10-26 Mark Hatle * Merge to upstream r196 * Resolve merge conflicts with src/main.c * Disable automatic detection of AMD Bulldozer for layout page size Unclear why the default size is 32768 on AMD Bulldozer, assume this is a performance issue. I suggest if you are targeting that platform, you manually pass: --layout-page-size=32768 2011-09-13 Mark Hatle * Fix printf problem causing prelink-rtld issues on x86 (32-bit) and arm 2011-08-30 Mark Hatle * Merge to upstream r195 * Update testsuite to work with explicit intermedite objects 2011-08-26 Mark Hatle * Rename ld-libs.c to rtld.c * Sync to eglibc 2.13 ld.so code * mips specific items from ports * sync elf_machine_type_class macros for supports archs * Add a special check for invalid GNU_HASH entries 2011-08-18 Mark Hatle * Resync src/elf.h to glibc 2.13 * Move prelink-rtld specific components to src/rtld 2011-06-24 Mark Hatle * Merge to upstream r190 2011-05-16 Akos PASZTORY * wrap-file.c (wrap_setxattr, wrap_getxattr, wrap_listxattr): New. (wrap_glob): Likewise new. * dso.c (copy_xattrs): use wrap_*xattr * gather.c (read_config, gather_config, blacklist_from_config): use wrap_glob 2011-05-16 Mark Hatle * Merge to upstream r189 (no conflicts) 2011-04-04 Mark Hatle Integrate patch from: 2011-03-24 Joseph Myers * src/dso.c (allow_bad_textrel, dso_has_bad_textrel): New. (check_dso): Check for text relocations. * src/gather.c (gather_exec): Check for text relocations. * src/main.c (options): Add --allow-textrel. (parse_opt): Handle --allow-textrel. * src/prelink.h (dso_has_bad_textrel, allow_bad_textrel): Declare. 2011-04-01 Mark Hatle * Merge to upstream r188 (no conflicts) 2011-01-12 Mark Hatle * Merge to upstream r187 * Resolve merge conflict 2010-07-23 Mark Hatle * src/ld-libs.c: Handle MIPS64 TLS PLT relocs 2010-07-22 Mark Hatle * src/dso.c: Add DSO_READONLY conditionals * src/dso-readonly.c: remove * src/Makefile.am: switch RTLD dep to dso.c, pass DSO_READONLY * configure.in: Add AM_PROG_CC_C_O 2010-07-22 Mark Hatle * Merge to upstream r185 * Resync dso-readonly.c from dso.c 2010-06-18 Mark Hatle * Sync src/dso-readonly.c and ... * Integrate patch from 2010-05-06 Andrew Stubbs * src/dso.c (adjust_dso): Support MIPS debug sections. * src/prelink.h (SHT_MIPS_DWARF): New define. 2009-06-15 Mark Hatle * Merge to upstream r184 * Resync dso-readonly.c from dso.c * Cleanup ChangeLog.cross 2009-06-15 Mark Hatle * Integrate prelinker/cross-prelinking patches 2009-09-01 Maciej W. Rozycki Issue #5273 * src/arch-mips.c (mips_prelink_reloc): Resolve R_MIPS_TLS_DTPMOD32 and R_MIPS_TLS_DTPMOD64 relocations in executables. 2009-04-27 Maciej W. Rozycki Issue #5165 * src/ld-libs.c (load_ld_so_conf): Fix a buffer overrun. Don't record empty paths. 2009-04-23 Maciej W. Rozycki Issue #5165 * src/ld-lookup.c (rtld_elf_hash): Handle an initial NULL character correctly. Reformat for consistency with rtld_elf_gnu_hash() 2009-04-23 Maciej W. Rozycki Issue #5165 * src/ld-do-lookup.h (FCT): Remove the hash argument and calculate the value within the function. Call do_lookup_get_first() and do_lookup_get_next() to iterate over symbols. * src/prelink.h (dynamic_info_is_set): Convert macro to a function. Return 1 for success rather than the bit set. * src/ld-libs.h (ldlibs_link_map): Add l_gnu_hash, l_maskword64, l_nmaskwords, l_shift and l_maskwords members. * src/ld-libs.c (create_ldlibs_link_map): Handle the GNU hash. * src/ld-lookup.c (rtld_elf_gnu_hash): New function. (rtld_elf_any_hash): Likewise. (rtld_elf_hash): Move above "ld-do-lookup.h" inclusions. (do_lookup_get_first, do_lookup_get_next): New functions. (rtld_lookup_symbol): Remove hash calculation. (rtld_lookup_symbol_versioned): Likewise. 2009-04-23 Maciej W. Rozycki Issue #5165 * src/execle_open.c (execve_open): Add missing pid initialisation. 2010-06-15 Mark Hatle * Merge to upstream r174 * src/arch-mips.c, src/conflict.c, src/cxx.c, src/main.c, src/verify.c: fix items missed in the merge * Resync dso-readonly.c from dso.c 2010-06-14 Mark Hatle * Integrate prelinker/cross-prelinking patches 2009-08-06 Joseph Myers * src/dwarf2.c (dwarf2_write_le64, dwarf2_write_be64): Shift by 56 not 58 for MSB. 2009-03-19 Joseph Myers Issue #4626 * src/cache.c, src/dso-readonly.c, src/dso.c, src/execstack.c, src/gather.c, src/layout.c, src/mapfile.c, src/verify.c: fsync file descriptors before closing them. 2008-09-23 Joseph Myers * src/arch-arm.c (arm_prelink_conflict_rela): Correct R_ARM_TLS_TPOFF32 handling. 2008-09-18 Joseph Myers * src/ld-libs.c (reloc_type_class, determine_tlsoffsets): Handle SPARC. * src/arch-sparc64.c (sparc64_prelink_rela, sparc64_prelink_conflict_rela, sparc64_undo_prelink_rela, sparc64_reloc_class): Handle TLS relocations. (PL_ARCH(sparc64)): Update mmap_base and mmap_end for TASK_UNMAPPED_BASE change to 0xfffff80100000000. 2008-10-02 Maciej W. Rozycki * 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 * 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 * src/arch-mips.c (mips_undo_prelink_rel): Fix formatting. 2008-09-03 Maciej W. Rozycki * 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 * src/data.c (buf_read_une##nn): Fix the width of the data transfer used. 2008-03-06 Daniel Jacobowitz * src/ld-do-lookup.h: Check for STO_MIPS_PLT on MIPS. * src/ld-libs.c (reloc_type_class): Handle copy and PLT relocs. * src/prelink.h (R_MIPS_TLS_DTPMOD32, R_MIPS_TLS_DTPREL32) (R_MIPS_TLS_TPREL32, R_MIPS_GLOB_DAT): Remove duplicate definitions. (R_MIPS_COPY, R_MIPS_JUMP_SLOT, STO_MIPS_PLT, DT_MIPS_PLTGOT) (DT_MIPS_PLTNO, DT_MIPS_RWPLT): Define. (DSO): Add info_DT_MIPS_PLTGOT. * src/arch-mips.c (mips_prelink_reloc): Handle R_MIPS_JUMP_SLOT and R_MIPS_COPY. (mips_prelink_conflict_reloc): Handle R_MIPS_COPY. (mips_apply_conflict_rela): Handle R_MIPS_JUMP_SLOT. (mips_apply_reloc): Handle R_MIPS_JUMP_SLOT and R_MIPS_COPY. (mips_rel_to_rela, mips_rela_to_rel): Handle R_MIPS_COPY. (mips_need_rel_to_rela): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT. Correct error message. (mips_reloc_class): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT. Use RTYPE_CLASS_VALID by default. (mips_arch_prelink): Save .plt in gotplt[1]. (mips_arch_undo_prelink): Clear gotplt[1]. (mips_undo_prelink_rel): Undo R_MIPS_JUMP_SLOT relocations. (PL_ARCH): Set R_COPY and R_JMP_SLOT. * src/dso.c (read_dynamic): Save DT_MIPS_PLTGOT. * src/dso-readonly.c (read_dynamic): ditto 2007-07-09 Daniel Jacobowitz Issue #1816 * src/wrap-file.c (chroot_canon): Delete. (sysroot_file_name): Use canon_filename. (unsysroot_file_name): Make global. (wrap_canonicalize_file_name): Delete. * src/ld-libs.c (load_dsos): Use prelink_canonicalize. * src/canonicalize.c (canon_filename): Make global. Add chroot, allow_last_link, allow_missing arguments. Handle links inside a chroot. Handle canonicalizing the current directory. Remove debugging output. (prelink_canonicalize): Update. Use unsysroot_file_name. * src/prelink.h (wrap_canonicalize_file_name): Delete prototype. 2007-03-02 Sandra Loosemore * doc/prelink.8: Copy edit. Add entry for --root option. Update list of unsupported systems. 2007-02-16 Daniel Jacobowitz * src/prelink.h (sysroot_file_name): Declare. * src/ld-libs.c (load_dsos): Take host_paths argument. Do not attempt to canonicalize host filenames within the sysroot. Always set canon_filename. (process_one_dso): Update call to load_dsos. Do not redo call to wrap_canonicalize_file_name. 2006-11-30 Mark Shinwell * configure.in: Recognize --with-pkgversion and ---with-bugurl. * src/Makefile.am: Pass package version and bug URL through AM_CFLAGS, together with the new EXECSTACK_PROG. * src/main.c: Use PKGVERSION and REPORT_BUGS_TO. * src/execstack.c: Likewise. Also use EXECSTACK_PROG. Mark Hatle * src/ld-libs.c: Use PRELINK_RTLD_PROG, PKGVERSION and REPORT_BUGS_TO * src/execstack.c: Use EXECSTACK_PROG in (argp_doc) 2006-11-30 Mark Shinwell * wrap-file.c (wrap_stat_body): New. (wrap_lstat64, wrap_stat64): Use wrap_stat_body. 2006-11-28 Mark Shinwell * src/layout.c (layout_libs): Add assertion to check for buffer overflow. * src/ld-libs.c (find_lib_in_path): Add "machine" argument. Skip libraries whose ELF machine type field does not match that argument. (find_lib_by_soname): Add "machine" argument. Pass it to find_lib_in_path. (load_dsos): Determine machine type of input DSO. Pass it to find_lib_by_soname. 2006-11-28 Mark Shinwell * src/gather.c (maybe_pie): New. (gather_func): Use it. 2006-11-28 Mark Shinwell * src/canonicalize.c: Add prelink.h include directive. Use wrap_readlink and wrap_lstat64. * src/prelink.h: Declare wrap_readlink. * src/wrap-file.c (wrap_readlink): New. 2006-10-13 Daniel Jacobowitz * src/execle_open.c (execve_open): Add an error message if execve fails. 2006-10-03 Richard Sandiford * configure.in (AC_CANONICAL_HOST): Remove in favour of... (AC_CANONICAL_SYSTEM): ...this new directive. (AC_ARG_PROGRAM): New directive. * src/Makefile.am (AM_CFLAGS): Define PRELINK_PROG, PRELINK_RTLD_PROG and EXEEXT. (execstack_LDADD): Add -liberty. * src/execstack.c (program_path, prelink_path): New variables. (execstack_make_rdwr): Initialize prelink_path if it has not been set yet. Use make_relative_prefix, PRELINK_PROG and EXEEXT to get the full pathname of the prelink executable. Pass this path to execl() as the name of executable file. (main): Initialize program_path. * src/main.c (argp_program_version, argp_doc): Use PRELINK_PROG as the program name. (main): Handle empty --rtld= arguments first. Always use make_relative_prefix to work out the path of the defalt rtld executable. Also use PRELINK_RTLD and EXEEXT for this purpose. 2010-06-14 Mark Hatle * configure.in: Add option to disable selinux * src/Makefile.am: Stop static linking 2007-08-08 Mark Hatle * src/arch-mips.c: add /lib32/ld.so.1 as an alternative 32-bit linker * src/ld-libs.c: add a check for MIPS n32, and adjust ld_dirs as necessary 2007-10-11 Richard Sandiford * src/space.c (find_readonly_space): If a new PT_LOAD header is needed, first try removing a PT_NULL header. 2006-12-04 Mark Hatle * Merge code from: Richard Sandiford * src/ld-libs.c (reloc_type_class): Handle EM_MIPS. (do_mips_global_relocs): New function. (handle_relocs_in_entry): Call it. (determine_tlsoffsets): Handle EM_MIPS. Richard Sandiford * src/ld-libs.c (do_reloc): New function, split out from do_rel_section. Take the symbol and relocation type as arguments. (do_rel_section): Call it. (handle_relocs_in_entry): New function. (handle_relocs): Call it. 2006-12-04 Mark Hatle * src/elf.h: Update to the latest version of elf.h for MIPS prelink 2006-12-01 Mark Hatle * merge to 20061201 (r151) * src/arch-arm.c: remove read_une32, write_ne32, buf_write_ne32, buf_read_une32 * src/dso-readonly.c: sync to changes in src/dso.c 2006-08-18 Mark Hatle * arch-arm.c: remove prelink_conflict_rela * arch-arm.c: Add big-endian arm support, based on arch-sh.c 2006-08-17 Mark Hatle * data.c, dso.c, prelink.h: when using elfutils/libelf, we need to byte swap only if the type is ELF_T_BYTE. * dso-readonly.c: add get_data prototype change for byteswapping * ld-libs.c: add get_data prototype change for byteswapping 2006-08-10 Mark Hatle * testsuite/Makefile.in: Allow testsuite to run using cross prelink. Disable the run-time tests, but keep all basic prelink testing. * testsuite/ccx1.sh, testsuite/cycle1.sh, testsuite/cycle2.sh testsuite/deps1.sh, testsuite/deps2.sh, testuite/functions.sh testuite/layout1.sh, testuite/layout2.sh, testsuite/movelibs.sh testsuite/quick1.sh, testsuite/quick2.sh, testsuite/quick3.sh testsuite/reloc1.sh, testsuite/reloc2.sh, testsuite/reloc3.sh testsuite/reloc4.sh, testsuite/reloc5.sh, testsuite/reloc6.sh testsuite/reloc7.sh, testsuite/reloc8.sh, testsuite/reloc9.sh testsuite/reloc10.sh, testsuite/reloc11.sh, testsuite/shuffle1.sh testsuite/shuffle2.c, testsuite/shuffle2.sh, testsuite/shuffle3.sh testsuite/shuffle4.sh, testsuite/shuffle5.sh, testsuite/shuffle6.sh testsuite/shuffle7.sh, testsuite/shuffle8.sh, testsuite/tls1.sh testsuite/tls2.sh, testsuite/tls3.sh, testsuite/tls4.sh testsuite/tls5.sh, testsuite/tls6.sh, testsuite/tls7.sh testsuite/undo1.sh: ditto 2006-08-09 Mark Hatle * execstack.c: add WR versioning * ld-libs.c: add argp option processing and WR versioning * main.c: add WR versioning 2006-08-09 Mark Hatle * ld-libs.c: Add --root argument to prelink-rtld 2006-08-09 Mark Hatle * cross-prelink code merged and upreved original code from: MontaVista Software, Inc. CodeSourcery, LLC. * Makefile.am: add prelink-rtld, libiberty * dso-readonly.c: new file based on dso.c * gather.c: use cross-rtld * get.c: use cross-rtld * ld-do-lookup.h: Add ld-do-lookup.h from glibc * ld-libs.c: add cross-rtld functionality * ld-libs.h: ditto * ld-lookup.c: ditto * ld-lookup64.c: ditto * main.c: Add rtld option * prelink.h: add extern rtld variable 2006-08-09 CodeSourcery, LLC. * main.c: if we modified /sbin/init, re-run init 2006-08-08 CodeSourcery, LLC. * arch-arm.c: add ARM EABI support, dynamic_linker_alt * src/dso.c: STT_ARM_TFUNC support * src/get.c: ld-linux.so.3 to the list of ldso names 2006-08-08 CodeSourcery, LLC. * gather.c: add new dynamic_linker_alt * prelink.h: ditto 2006-08-08 MontaVista Software, Inc. * main.c: Add relative sysroot support 2006-08-08 Montavista Software, Inc. * Makefile.am: Add function wrapper support for sysroots * main.c: add --root option * cache.c, doit.c, dso.c, execstack.c, gather.c, get.c, prelink.h, undoall.c, verify.c: Add functional wrappers for sysroot * wrap-file.c: add function wrapper definitions 2006-07-28 Alexandre Oliva * src/cache.c: Avoid SEGFAULT when sorting cache entries (#197451) 2006-07-21 MontaVista Software, Inc. * prelink.c: add PRELINK_TIMESTAMP support 2006-07-21 MontaVista Software, Inc. * dso.c: Don't adjust reloc for debug info 2006-06-30 Mark Hatle * src/elf.h: Make available the elf.h file from glibc 2.3.6 2006-06-10 MontaVista Software, Inc. * arch-sh.c: Fix R_SH_RELATIVE endian swap problem, change max page size