summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2007-10-09 * src/prelink.h (struct prelink_conflicts): New type.jakub
(struct prelink_info): Change type of conflicts and curconflicts fields to struct prelink_conflicts *. * src/get.c (conflict_hash_init): New function. (prelink_record_relocations): Adjust initialization of conflicts array. If conflict linked lists has more than 15 entries, use hash table with chains. * src/prelink.c (free_info): Handle freeing conflict list using a hash table. * src/fptr.c (opd_init): Only walk corresponding hash chain if conflict list is using a hash table. * src/conflict.c (prelink_conflict): Likewise. (prelink_build_conflicts): Handle conflict list using a hash table. * src/cxx.c (remove_redundant_cxx_conflicts): Likewise. Only walk corresponding hash chain if conflict list is using a hash table. git-svn-id: http://sourceware.org/svn/prelink@159 94c539fb-cf18-0410-b60f-edeeb537fa16
2007-10-09 * src/doit.c (find_ents): Clear e->u.tmp.jakub
(clear_ent_marks, find_unlisted_dependency): Remove. (prelink_ent): More efficient non-recursive check for unlisted dependencies. git-svn-id: http://sourceware.org/svn/prelink@158 94c539fb-cf18-0410-b60f-edeeb537fa16
2007-10-09 * src/cxx.c (find_cxx_sym): If fcs->lastndx != -1, search firstjakub
among symbols around it. git-svn-id: http://sourceware.org/svn/prelink@157 94c539fb-cf18-0410-b60f-edeeb537fa16
2007-10-08 * src/space.c (find_readonly_space): Disallow section insertion injakub
between adjacent SHT_NOTE sections. When creating new PT_LOAD, handle multiple consecutive SHT_NOTE sections with just one PT_NOTE segment for them. * testsuite/Makefile.am (TESTS): Add shuffle9.sh. * testsuite/Makefile.in: Regenerated. * testsuite/shuffle9.sh: New test. * testsuite/shuffle9.c: New. * testsuite/shuffle2.c: Add .previous at the end of __asm. * testsuite/reloc5.c (main): Likewise. * testsuite/tls3.sh: If libs aren't built with -fpic, disable the test under SELinux in enforcing mode. git-svn-id: http://sourceware.org/svn/prelink@156 94c539fb-cf18-0410-b60f-edeeb537fa16
2007-10-08 * src/cxx.c: Include alloca.h.jakub
(specials): Moved out of remove_redundant_cxx_conflicts to toplevel. Remove section fields. (find_cxx_sym_valsize, find_cxx_sym_cache): New structs. (struct find_cxx_sym): Add cache and lastndx fields. (cachecmp, create_cache): New functions. (find_cxx_sym): Add cache argument. If cache[n] is NULL, call create_cache. Do a binary search in cache[n]->vals array instead of always reading the whole symbol table. (remove_redundant_cxx_conflicts): Adjust find_cxx_sym caller. Check if secname is ".data" or ".data.rel.ro" instead of comparing it against specials[k].secname. Use binary search in binsymcache when doing check_pltref checks. * testsuite/Makefile.am (TESTS): Add cxx2.sh. * testsuite/Makefile.in: Regenerated. * testsuite/cxx1.sh: Check that some conflicts are optimized out by C++ optimizations. * testsuite/cxx2.sh: New test. * testsuite/cxx2.C: New. git-svn-id: http://sourceware.org/svn/prelink@155 94c539fb-cf18-0410-b60f-edeeb537fa16
2007-10-04 * src/prelink.h (read_config): New prototype.jakub
(gather_config, blacklist_from_config): Remove argument. * src/gather.c (struct config_line): New type. (config_lines, config_end): New variables. (read_config): New function. (gather_config, blacklist_from_config): Walk config_lines chain instead of reading the config file. * src/verify.c (prelink_verify): Call read_config. Don't pass any argument to gather_config. * src/main.c (main): Likewise. Also for blacklist_from_config. * testsuite/quick2.sh: Use new -c etc/prelink.conf.d/*.conf feature in prelink.conf and multiple config snippets. git-svn-id: http://sourceware.org/svn/prelink@154 94c539fb-cf18-0410-b60f-edeeb537fa16
2007-06-27 * testsuite/reloc2.sh: If libs aren't built with -fpic,jakub
disable the test under SELinux in enforcing mode. git-svn-id: http://sourceware.org/svn/prelink@153 94c539fb-cf18-0410-b60f-edeeb537fa16
2007-03-022007-03-02 Sandra Loosemore <sandra@codesourcery.com>jakub
* doc/prelink.8: Spelling and grammar fixes. git-svn-id: http://sourceware.org/svn/prelink@152 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-12-01 * src/verify.c (prelink_verify): Unlink ent->filename in case ofprelink_20061201jakub
failures between closing the unprelinked dso and unlinking ent->filename. git-svn-id: http://sourceware.org/svn/prelink@151 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (READWRITEPROTOSIZE): Undef after use.jakub
git-svn-id: http://sourceware.org/svn/prelink@150 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * testsuite/tls3.sh: Use -fpic for MIPS too.jakub
* testsuite/reloc2.sh: Likewise. git-svn-id: http://sourceware.org/svn/prelink@149 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * testsuite/reloc4.sh: Use -mxgot when compiling for MIPS targets.jakub
* testsuite/reloc5.c (main): Make the printed inline asm globalize testzero. git-svn-id: http://sourceware.org/svn/prelink@148 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * testsuite/shuffle2.c (testzero): Globalize asm definition.jakub
git-svn-id: http://sourceware.org/svn/prelink@147 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/Makefile.am (arch_SOURCES): Add arch-mips.cjakub
* src/Makefile.in: Regenerate. * src/arch-mips.c: New file. git-svn-id: http://sourceware.org/svn/prelink@146 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (DT_MIPS_RLD_VERSION): Define.jakub
(DT_MIPS_TIME_STAMP): Likewise. (DT_MIPS_ICHECKSUM): Likewise. (DT_MIPS_IVERSION): Likewise. (DT_MIPS_FLAGS): Likewise. (DT_MIPS_BASE_ADDRESS): Likewise. (DT_MIPS_CONFLICT): Likewise. (DT_MIPS_LIBLIST): Likewise. (DT_MIPS_LOCAL_GOTNO): Likewise. (DT_MIPS_CONFLICTNO): Likewise. (DT_MIPS_LIBLISTNO): Likewise. (DT_MIPS_SYMTABNO): Likewise. (DT_MIPS_UNREFEXTNO): Likewise. (DT_MIPS_GOTSYM): Likewise. (DT_MIPS_HIPAGENO): Likewise. (DT_MIPS_RLD_MAP): Likewise. (R_MIPS_TLS_DTPMOD): Likewise. (R_MIPS_TLS_DTPREL): Likewise. (R_MIPS_TLS_TPREL): Likewise. (R_MIPS_GLOB_DAT): Likewise. (DSO): Add info_DT_MIPS_LOCAL_GOTNO, info_DT_MIPS_GOTSYM, and info_DT_MIPS_SYMTABNO. * src/dso.c (read_dynamic): Initialize the new DSO fields. (adjust_symbol_p): Handle stub values on MIPS. * src/prelink.c (prelink_prepare): Handle SHT_DYNAMIC and SHT_MIPS_REGINFO on MIPS. git-svn-id: http://sourceware.org/svn/prelink@145 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/space.c (find_readonly_space): Don't place the new sectionjakub
in the PT_PHDR segment. git-svn-id: http://sourceware.org/svn/prelink@144 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (data_iterator): New structure.jakub
(init_data_iterator): Declare. (get_data_from_iterator): Likewise. (get_sym_from_iterator): Likewise. * src/data.c (init_data_iterator): New function. (get_data_from_iterator): Likewise. (get_sym_from_iterator): Likewise. git-svn-id: http://sourceware.org/svn/prelink@143 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (READWRITEPROTOSIZE): New macro. Instantiatejakub
READWRITEPROTO for big and little endian. Add prototypes for native-endian functions (buf_read_uneNN, read_uneNN, buf_write_neNN and write_neNN). Replace uses of READWRITEPROTO with uses of this macro. * src/data.c (BUFREADUNE, READUNE, WRITENE, BUFWRITENE): New macros. (READWRITESIZE): New macro. Instantiate READWRITE for big and little endian. Instantiate BUFREADUNE, READUNE, WRITENE and BUFWRITENE. Replace uses of READWRITE with uses of this macro. * src/arch-sh.c (read_une32, write_ne32, buf_write_ne32): Delete. git-svn-id: http://sourceware.org/svn/prelink@142 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (PLArch): Add an arch_prelink_conflict callback.jakub
* src/conflict.c (prelink_build_conflicts): If defined, call it for each dependency. git-svn-id: http://sourceware.org/svn/prelink@141 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (PLArch): Make the arch_prelink callback takejakub
a "struct prelink_info *" argument, not a "DSO *" argument. * src/prelink.c (prelink): Adjust call accordingly. * src/arch-alpha.c (alpha_arch_prelink): Adjust definition accordingly. * src/arch-arm.c (arm_arch_prelink): Likewise. * src/arch-cris.c (cris_arch_prelink): Likewise. * src/arch-i386.c (i386_arch_prelink): Likewise. * src/arch-ia64.c (ia64_arch_prelink): Likewise. * src/arch-ppc.c (ppc_arch_prelink): Likewise. * src/arch-s390.c (s390_arch_prelink): Likewise * src/arch-s390x.c (s390x_arch_prelink): Likewise * src/arch-sh.c (sh_arch_prelink): Likewise. * src/arch-sparc64.c (sparc64_arch_prelink): Likewise. * src/arch-sparc.c (sparc_arch_prelink): Likewise * src/arch-x86_64.c (x86_64_arch_prelink): Likewise. git-svn-id: http://sourceware.org/svn/prelink@140 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (PLArch): Add an arch_adjust callback.jakub
* src/dso.c (adjust_dso): Use it, if defined. git-svn-id: http://sourceware.org/svn/prelink@139 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27 * src/prelink.h (adjust_symbol_p): Declare.jakub
* src/dso.c (adjust_symbol_p): New function, extracted from... (adjust_symtab): ...here. git-svn-id: http://sourceware.org/svn/prelink@138 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-27Actually start writing ChangeLog, although many yearsjakub
are missing. git-svn-id: http://sourceware.org/svn/prelink@137 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-24Fix adjusting of .debug_ranges if high range is at the very end of a section.jakub
git-svn-id: http://sourceware.org/svn/prelink@136 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-10-23Avoid SEGFAULT when sorting cache entries (rh#197451)jakub
git-svn-id: http://sourceware.org/svn/prelink@135 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-21Move code into trunk subdirectory.drow
git-svn-id: http://sourceware.org/svn/prelink@134 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-18Another fallout of the import script.jakub
git-svn-id: http://sourceware.org/svn/prelink@133 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820060712prelink_20060712jakub
git-svn-id: http://sourceware.org/svn/prelink@132 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820060621jakub
git-svn-id: http://sourceware.org/svn/prelink@131 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820060522jakub
git-svn-id: http://sourceware.org/svn/prelink@130 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820060213jakub
git-svn-id: http://sourceware.org/svn/prelink@129 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820051214jakub
git-svn-id: http://sourceware.org/svn/prelink@128 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820050901jakub
git-svn-id: http://sourceware.org/svn/prelink@127 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820050729jakub
git-svn-id: http://sourceware.org/svn/prelink@126 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820050610jakub
git-svn-id: http://sourceware.org/svn/prelink@125 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820050314jakub
git-svn-id: http://sourceware.org/svn/prelink@124 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820050207jakub
git-svn-id: http://sourceware.org/svn/prelink@123 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820041123jakub
git-svn-id: http://sourceware.org/svn/prelink@122 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820041012jakub
git-svn-id: http://sourceware.org/svn/prelink@121 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820041002jakub
git-svn-id: http://sourceware.org/svn/prelink@120 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820041001jakub
git-svn-id: http://sourceware.org/svn/prelink@119 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040931jakub
git-svn-id: http://sourceware.org/svn/prelink@118 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040929jakub
git-svn-id: http://sourceware.org/svn/prelink@117 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040908jakub
git-svn-id: http://sourceware.org/svn/prelink@116 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040907jakub
git-svn-id: http://sourceware.org/svn/prelink@115 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040707jakub
git-svn-id: http://sourceware.org/svn/prelink@114 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040520jakub
git-svn-id: http://sourceware.org/svn/prelink@113 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040516jakub
git-svn-id: http://sourceware.org/svn/prelink@112 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040514jakub
git-svn-id: http://sourceware.org/svn/prelink@111 94c539fb-cf18-0410-b60f-edeeb537fa16
2006-07-1820040505jakub
git-svn-id: http://sourceware.org/svn/prelink@110 94c539fb-cf18-0410-b60f-edeeb537fa16