From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 54770 invoked by alias); 17 Jul 2017 08:58:01 -0000 Mailing-List: contact cygwin-apps-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-apps-cvs-owner@sourceware.org Received: (qmail 54702 invoked by uid 9078); 17 Jul 2017 08:57:59 -0000 Date: Mon, 17 Jul 2017 08:58:00 -0000 Message-ID: <20170717085759.54666.qmail@sourceware.org> From: corinna@sourceware.org To: cygwin-apps-cvs@sourceware.org Subject: [rebase - The rebase tool, core of the automatic rebase facility during postinstall] branch master, updated. de9e3d8191dd764d8688f70ed8a218d851846f97 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 39cf93161a2784537ff3d4d85e6f6b1b3baf4128 X-Git-Newrev: de9e3d8191dd764d8688f70ed8a218d851846f97 X-SW-Source: 2017-q3/txt/msg00006.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/rebase.git;h=de9e3d8191dd764d8688f70ed8a218d851846f97 commit de9e3d8191dd764d8688f70ed8a218d851846f97 Author: Corinna Vinschen Date: Mon Jul 17 10:57:51 2017 +0200 add .gitignore Signed-off-by: Corinna Vinschen https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/rebase.git;h=8c46d416eb2e1cf3a09d115a4f8bb3123c246b88 commit 8c46d416eb2e1cf3a09d115a4f8bb3123c246b88 Author: Corinna Vinschen Date: Fri Mar 11 16:19:34 2016 +0100 Bump to version 4.4.2 Signed-off-by: Corinna Vinschen https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/rebase.git;h=e4d47aa46073988f21edea787afcaa0f90b4788f commit e4d47aa46073988f21edea787afcaa0f90b4788f Author: Corinna Vinschen Date: Fri Mar 11 16:18:25 2016 +0100 Deprecate ChangeLog files Signed-off-by: Corinna Vinschen https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/rebase.git;h=add9541a8f58042538a2de3b8f207a65ddce9d20 commit add9541a8f58042538a2de3b8f207a65ddce9d20 Author: Corinna Vinschen Date: Fri Mar 11 16:16:32 2016 +0100 Don't strip executables in install target to allow creating debuginfo Signed-off-by: Corinna Vinschen Diff: --- .gitignore | 2 + ChangeLog | 463 -------------------------------------------- ChangeLog.old | 467 +++++++++++++++++++++++++++++++++++++++++++++ Makefile.in | 4 +- configure.ac | 2 +- imagehelper/ChangeLog | 463 -------------------------------------------- imagehelper/ChangeLog.old | 467 +++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 939 insertions(+), 929 deletions(-) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c153367 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +autom4te.cache +configure diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index a396164..0000000 --- a/ChangeLog +++ /dev/null @@ -1,463 +0,0 @@ -2013-12-03 Jason Tishler - - Prepare for release 4.4.1. - * configure.ac (AC_INIT): Bump version to 4.4.1. - -2013-12-01 David Stacey - - * rebase.c (collect_image_info): Initialize cannot_rebase flag to 0. - -2013-03-05 Corinna Vinschen - - * Makefile.in: Fix imagebase rule for parallel make. - * rebase.c (rebase): Fix a cast to avoid compiler warning. - -2013-03-05 Corinna Vinschen - - * Makefile.in (install): Fix case of Todo file. - -2013-02-18 Yaakov Selkowitz - - * rebaseall.in: Remove duplicates from file list. - Find DLLs installed via CPAN and similar systems and include them - in the default file list. - -2013-02-16 Corinna Vinschen - - * peflags.c (main): Drop unused variable. - (do_mark): Add unambiguous casts to arguments of printf statement. - * rebase-db.c: Ditto, throughout. - * rebase-dump.c: Ditto, throughout. - * rebase.c: Ditto. - (main): Fix computation of 32 bit Cygwin DLL dead zone. Handle x86_64 - Cygwin as well. - (rebase): Remove unused variable. - * rebaseall.in: Take x86_64 Cygwin into account. - -2013-01-16 Jason Tishler - - Prepare for release 4.4.0. - * configure.ac (AC_INIT): Bump version to 4.4.0. - * rebase.c (version): Update copyright. - -2012-06-14 Achim Gratz - - Prepare for release 4.3.0. - * configure.ac (AC_INIT): Bump version to 4.3.0. - * rebase.c (short_options): Add -O option. - (long_options): Add --oblivious option. - (image_oblivious_flag): Add new BOOL flag, false by default, set - by -O. - (main): Only report non-rebaseable DLL if they should have been - rebased, i.e. cannot_rebase has the MSB cleared. - (parse_args): Handle -O/--oblivious, set image_oblivious_flag - accordingly. Fall through to -s, since it is implied. - (usage): Add text for -O/--oblivious. - (load_image_info): Set MSB of cannot_rebase for all entries found - in database to ensure that they are not actually touched. - (merge_image_info): Warn if an oblivious file is found to be in - the database already. The file will not be rebased to keep the - database in sync. - (save_image_info): Return immediately if image_oblivious_flag is - set. - * rebase.db.h (_img_info): Extend cannot_rebase flag to two bit. - If the MSB is set, the file is protected from rebasing due to - --oblivious currently in effect. - * rebase-dump.c (help): Fix typo -- escape missing in help text. - -2012-06-07 Achim Gratz - - * rebaseall.in: Improve sed regular expressions used to generate the - rebase list. - -2012-04-30 Corinna Vinschen - - * configure.ac (AC_INIT): Bump version to 4.2.0. - * peflagsall.in: Set DefaultDynBase to 0 to remove the dynamicbase - flag by default, rather than to set it. Add .oct to DefaultSuffixes, - just as in rebaseall.in. Fix help text accordingly. - * rebase.c (long_options): Add --no-dynamicbase. - (short_options): Add -n. - (parse_args): Handle -n/--no-dynamicbase option. Set - ReBaseDropDynamicbaseFlag flag. - (usage): Add text for new -n/--no-dynamicbase option. - * rebaseall.in: Call rebase with -n flag on Cygwin. - * README: Document all aforementioned changes. - -2012-03-27 Corinna Vinschen - - * autorebase.bat: Just call rebaseall as script. - -2012-03-27 Corinna Vinschen - - * autorebase.hint: Disable "external-source". - -2012-03-26 Jason Tishler - - Prepare for release 4.1.0. - * rebase.c (version): Update copyright. - -2012-03-26 Jason Tishler - - Prepare for release 4.1.0. - * NEWS: Update documentation. - -2012-03-19 Corinna Vinschen - - * README: Document rebasell -p and -t options. Document rebase -t - option. - * autorebase.bat: New file. - * autorebase.hint: New file. - * configure.ac: Bump package version to 4.1.0. - * rebase-db.h (struct _img_info): Add cannot_rebase flag. - * rebase.c (main): Print DLLs which couldn't be rebased to stderr. - (save_image_info): Set cannot_rebase flag to 0 before storing list - in DB. - (set_cannot_rebase): New function to test if a DLL is blocked by - another process. - (merge_image_info): Take DLLs blocked by other processes into account. - (long_options): Add --touch. - (short_options): Add -t. - (parse_args): Handle -t/--touch option. Set ReBaseChangeFileTime flag. - (usage): Add text for new -t/--touch option. - * rebaseall.in: Add -p and -t option. Do option processing prior to - testing for running processes. Only test for running processes if -p - option wasn't given. - -2011-10-24 Jason Tishler - - Prepare for release 4.0.1. - * NEWS: Update documentation. - * build.sh: Configure with --sysconfdir=/etc. - * configure.ac (AC_INIT): Update version to 4.0.1. - -2011-10-24 Corinna Vinschen - - * rebaseall.in: Call rebase, not ./rebase. - -2011-10-22 Jason Tishler - - Prepare for release 4.0.0. - * Makefile.in (SRC_DISTFILES): Remove aclocal.m4. Add rebase-db.c, - rebase-db.h, rebase-dump.c, and strtoll.c. - * NEWS: Update documentation. - * configure.ac (AC_INIT): Update version to 4.0.0. - -2011-08-11 Corinna Vinschen - - Implement new peflags arguments to change and display stack and - heap sizes. - * peflags.c: Include limits.h and stddef.h. - (PRIu64, PRIx64): Define for msys. Otherwise include inttypes.h. - (pe_file): Add pathname member. - (handle_any_sizeof): New global variable. - (sizeof_values_t): New type. - (sizeof_vals): New global variable. - (long_options): Add stack-reserve, stack-commit, heap-reserve, - heap-commit, and cygwin-heap options. - (short_options): Add x, X, y, Y, and z options. - (do_mark): Handle changes and display of sizeof values. - (handle_num_option): New function. - (parse_args): Workaround the problem that option_index is not valid - if the user specified a short option. Handle new options. - (string_to_bool): Call string_to_ulonglong. - (string_to_ulonglong): Replace string_to_ulong. - (pe_open): Add pathname to pef. - (get_and_set_size): New function. - (get_and_set_sizes): New function. - (help): Use only one single fputs call for the entire text to - simplify formatting. Add text to describe the new options. - -2011-08-09 Corinna Vinschen - - * rebase.c (main): Skip empty arguments. - -2011-08-07 Corinna Vinschen - - * peflags.c (do_mark): Don't check return value of get_characteristics, - set_coff_characteristics and set_pe_characteristics since they always - succeed now. - -2011-08-07 Corinna Vinschen - - * peflags.c (pe_file): Move definition to start of file. - (pe_open): Declare. - (pe_close): Declare. - (do_mark): Call pe_open/pe_close here. Call get/set functions - weith pe_file pointer instead of filename. - (get_characteristics): Change first parameter to pe_file pointer. - Drop calls to pe_open/pe_close. - (set_coff_characteristics): Ditto. - (set_pe_characteristics): Ditto. - -2011-08-05 Corinna Vinschen - - * peflags.c: Include sys/mman.h on Cygwin and msys. Drop conditional - definitions of uint16_t and uint32_t. Use WORD rather than uint16_t - throughout, size_t rather than uint32_t. - (IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE): Define if non-existant to - workaround broken w32api. Fix usage of broken definition throughout. - (IMAGE_DLLCHARACTERISTICS_NX_COMPAT): Ditto. - (IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY): Ditto. - (pe_get16): Remove. - (pe_get32): Remove. - (pe_set16): Remove. - (mmap): Define in terms of Win32 calls for non-Cygwin systems. - (munmap): Ditto. - (pe_file): New type to keep file mapping info. - (pe_open): New function to mmap PE/COFF files. - (pe_close): New function to unmap PE/COFF files. - (get_characteristics): Use pe_opem/pe_close and direct Windows - file structure access. - (set_coff_characteristics): Ditto. - (set_pe_characteristics): Ditto. - -2011-08-05 Charles Wilson - - * NEWS: Update documentation. - * README: Ditto. - * ChangeLog: Fix some typos. - -2011-08-05 Corinna Vinschen - - * rebase-db.h (PRIu64, PRIx64): Define for msys, otherwise include - inttypes.h. - * rebase-dump.c (load_image_info): Use PRI{u,x}64 in printf statement - to avoid compiler warnings. - * rebase.c (PRIx64): Remove definition here. - -2011-08-03 Charles Wilson - - Add rebase-dump application. - - * Makefile.in: Add rules to build, but not install, - rebase-dump.exe. - * rebase-db.h: Declare new dump_rebasedb* functions. - * rebase-db.c (dump_rebasedb_header): New function. - (dump_rebasedb_entry): New function. - (dump_rebasedb): New function. - * rebase-dump.c: New file. - -2011-07-29 Charles Wilson - - Improve MinGW/MSYS support. - - * build-aux/config.guess: Add msys support. - * build-aux/config.sub: Add msys support. - * configure.ac: Specify -static-* and -D overrides, on a - platform-sensitive basis, here rather than hardcoding in - Makefile.in. Add strtoll.c to LIBOBJS for MSYS. - * Makefile.in: Instead of hardcoding -static-* and -D - overrides here, use new platform-sensitive vars defined by - configure. Also, add strtoll.c. - * rebase.c: Handle missing inttypes.h on MSYS. Be explicit about - CYGWIN vs MSYS. Move db typedefs and comparison functions to - rebase-db.[c,h]. Use standard GPLv2+ text. - (strtoull) [MSYS]: Declare missing function. - (main) [MSYS]: Allow room for msys-1.0.dll, as with cygwin1.dll. - (mkstemp) [MINGW]: Fix open flags. - (load_image_info): Fix open flags (O_BINARY). - (merge_image_info) [MSYS]: Skip msys-1.0.dll, as with - cygwin1.dll. - (parse_args) [MINGW]: Use program path to determine location of - database. - * rebaseall.in: Add platform-specific code to handle msys - shortcomings. Use standard GPLv2+ text. - * peflagsall.in: Ditto. - * peflags.c: Use standard GPLv2+ text. - * rebase-db.h: New file. - * rebase-db.c: New file. - * strtoll.c: New file. - -2011-07-25 Corinna Vinschen - - * rebase.c (print_image_info): Compute length of longest DLL name and - use as field width in printf. Default to longest available file length - for 80 char display. - -2011-07-25 Corinna Vinschen - - * rebase.c (load_image_info): Handle short reads. - -2011-07-23 Corinna Vinschen - - * rebase.c (parse_args): Check that base address doesn't - exceed valid address space for 32 bit DLLs. - (string_to_ulonglong): Use NULL, rather then 0, for pointer argument. - -2011-07-21 Corinna Vinschen - - * Makefile.in (DEFS): Add define for sysconfdir. - (edit): Add substitute expression for sysconfdir. - * rebase.c: Implement rebase database. - (roundup): Define. - (roundup2): Define. - (machine): New global variable to keep requested machine type. - (image_storage_flag): New flag. - (force_rebase_flag): Ditto. - (quite): Ditto. - (verbose): Convert to type BOOL. - (progname): New variable for printing application name in error output. - (img_info_hdr_t): New type. - (img_info_t): De-const name. Add name_size, slot_size, and - flag members. - (IMG_INFO_FILE_I386): Define database name for i386 systems. - (IMG_INFO_FILE_AMD64): Define database name for x86_64 systems. - (IMG_INFO_FILE): Define default database name. - (gen_progname): New function to initialize progname. - (main): Call gen_progname. Only fetch Cygwin DLL info in 32 bit mode - for now. Always collect file info, then rebase dependent on mode. - In database mode, call load_image_info, collect_image_info, - merge_image_info, and save_image_info. - (img_info_name_cmp): New comparison function. - (save_image_info): New function to save rebase database. - (load_image_info): New function to load rebase database. - (merge_image_info): New function to compute rebase values. - (collect_image_info): Fix typo in condition. Check for rebaseable - file here. Convert given filename to absolute pathname. - (print_image_info): Revamp to take database into account. Add - collision information. - (rebase): Take down_flag as parameter to allow influencing the - algorithm from caller. Drop call to is_rebaseable here. - (long_options): New option array for getopt_long. - (short_options): Hold short options. - (parse_args): Drop anOptions. Rename anOption to opt. Call - getopt_long. Handle all new flags. - (usage): Change to reflect new flags. - (help): New function. - * rebaseall.in: Use database mode. Add -4 and -8 options and - handle 32 and 64 bit modes. - -2011-07-08 Corinna Vinschen - - * rebase.c: Convert all base address variables to ULONG64 - throughout. - (main): On Cygwin, call GetImageInfos64 to get Cygwin DLLs - data. - (print_image_info): Use PRIx64 in printf format string to print - addresses. - (rebase): Ditto. Call ReBaseImage64. - (parse_args): Call string_to_ulonglong. - (string_to_ulonglong): Rename from string_to_ulong, call - strtoull, and return unsigned long long. - -2011-07-07 Corinna Vinschen - - * Makefile.in (LDFLAGS): Don't override with -static-libstdc++ - unconditionally. - (rebase): Add -static-libstdc++ to link statement. - -2011-06-29 Corinna Vinschen - - * rebase.c (ALLOCATION_SLOT): New variable to keep allocation - granularity. - (main): Define status once at the start of main. Initialize - ALLOCATION_SLOT from system info. Recalculate cygwin_dll_image_base - and cygwin_dll_image_size and add comments to explain why. - (rebase): Only check for Cygwin DLL if down_flag is TRUE. Add comment - to explain why. - -2011-06-28 Corinna Vinschen - - * configure.ac (DEFAULT_OFFSET_VALUE): Define host-dependent. - * Makefile.in (DEFAULT_OFFSET_VALUE): Define. - (edit): Substitute DEFAULT_OFFSET_VALUE. - * rebaseall.in (DefaultOffset): Make configurable during build. - -2011-06-21 Corinna Vinschen - - * rebaseall.in: Add "sys-root/mingw" to excluding sed expressions. - -2011-06-21 Corinna Vinschen - - * Makefile.in (CFLAGS): Override to enforce -Wall -Werror. - (CXXFLAGS): Ditto. - (LDFLAGS): Override to enforce static linking. - -2011-06-21 Corinna Vinschen - - * peflags.c (long_options): Add usable single char options where - missing. - (short_options): New variable. - (main): Don't exit on error if there are still files to proceed on. - (do_mark): Add verbose flag printing. - (parse_args): Accommodate changes to single-char options. - (help): Ditto. - (version): Fix copyright. - -2011-06-21 Corinna Vinschen - - * rebase.c (image_info_flag): New flag. - (img_info_list, img_info_size, img_info_max_size): New global - variables used to print image info. - (main): Call setlocale. On Cygwin fetch base address and size of - Cygwin DLL. If image_info_flag is set, call collect_image_info - rather than rebase in loop and eventually call print_image_info. - (collect_image_info): New function. - (img_info_cmp): New function. - (print_image_info): New function. - (rebase): On Cygwin, if a DLL has been rebased into the address space - taken by the Cygwin DLL, move new_image_base and rebase again. - (parse_args): Handle -i option. - (usage): Add -i option to usage output. - (version): Fix copyright. - -2011-06-21 Corinna Vinschen - - * peflags.c: Avoid compiler warnings: - (display_flags): Convert long arguments to uint16_t. - (do_mark): Remove unused variable i; - (get_characteristics): Remove unused variable size; - (set_coff_characteristics): Ditto. - (set_pe_characteristics): Ditto. - -2011-06-21 Corinna Vinschen - - * rebase.c (parse_args): Avoid compiler warning. - -2011-06-21 Corinna Vinschen - - * Makefile.in (all): Prepend libimagehelper target to dependency list. - (libimagehelper): Rename from $(LIBIMAGEHELPER) to allow imagehelper - Makefile to decide if imagehelper lib has to be rebuilt. - -2011-06-21 Corinna Vinschen - - * configure.ac: Check for ar. - -2011-06-20 Charles Wilson - - Update documentation. Add .cvsignore. - * .cvsignore: New. - * NEWS: Reorganize into standard newest-first format. - -2011-06-20 Charles Wilson - - Use autoconf. Configurable installation and SHELL. - - * ChangeLog: New. - * COPYING: New. - * Changes: Renamed to... - * NEWS: this. - * build-aux/config.guess: New. - * build-aux/config.sub: New. - * build-aux/install-sh: New. - * Makefile: Removed. - * build.sh: Run configure. Modify to support MinGW - and MSYS, as well as Cygwin. - * configure.ac: New. - * Makefile.in: Rewrite for autoconf. - * peflagsall: Renamed to... - * peflagsall.in: this. Set PATH to directory of $0, - $(bindir), and /bin. Exclude dash as well as ash - from rebaselist, and peflags.exe itself. Don't die - if dash processes are running. - * rebaseall: Renamed to... - * rebaseall.in: this. Set PATH to directory of $0, - $(bindir), and /bin. Exclude dash as well as ash - from rebaselist, and rebase.exe itself. - * peflags.c: Accomodate MSYS. - * getopt.h_: Work around broken getopt_long on MSYS. - * getopt_long.c: Ditto. - -Prior: see NEWS file. diff --git a/ChangeLog.old b/ChangeLog.old new file mode 100644 index 0000000..3f3d594 --- /dev/null +++ b/ChangeLog.old @@ -0,0 +1,467 @@ +DEPRECATED + +Use git log instead. + +2013-12-03 Jason Tishler + + Prepare for release 4.4.1. + * configure.ac (AC_INIT): Bump version to 4.4.1. + +2013-12-01 David Stacey + + * rebase.c (collect_image_info): Initialize cannot_rebase flag to 0. + +2013-03-05 Corinna Vinschen + + * Makefile.in: Fix imagebase rule for parallel make. + * rebase.c (rebase): Fix a cast to avoid compiler warning. + +2013-03-05 Corinna Vinschen + + * Makefile.in (install): Fix case of Todo file. + +2013-02-18 Yaakov Selkowitz + + * rebaseall.in: Remove duplicates from file list. + Find DLLs installed via CPAN and similar systems and include them + in the default file list. + +2013-02-16 Corinna Vinschen + + * peflags.c (main): Drop unused variable. + (do_mark): Add unambiguous casts to arguments of printf statement. + * rebase-db.c: Ditto, throughout. + * rebase-dump.c: Ditto, throughout. + * rebase.c: Ditto. + (main): Fix computation of 32 bit Cygwin DLL dead zone. Handle x86_64 + Cygwin as well. + (rebase): Remove unused variable. + * rebaseall.in: Take x86_64 Cygwin into account. + +2013-01-16 Jason Tishler + + Prepare for release 4.4.0. + * configure.ac (AC_INIT): Bump version to 4.4.0. + * rebase.c (version): Update copyright. + +2012-06-14 Achim Gratz + + Prepare for release 4.3.0. + * configure.ac (AC_INIT): Bump version to 4.3.0. + * rebase.c (short_options): Add -O option. + (long_options): Add --oblivious option. + (image_oblivious_flag): Add new BOOL flag, false by default, set + by -O. + (main): Only report non-rebaseable DLL if they should have been + rebased, i.e. cannot_rebase has the MSB cleared. + (parse_args): Handle -O/--oblivious, set image_oblivious_flag + accordingly. Fall through to -s, since it is implied. + (usage): Add text for -O/--oblivious. + (load_image_info): Set MSB of cannot_rebase for all entries found + in database to ensure that they are not actually touched. + (merge_image_info): Warn if an oblivious file is found to be in + the database already. The file will not be rebased to keep the + database in sync. + (save_image_info): Return immediately if image_oblivious_flag is + set. + * rebase.db.h (_img_info): Extend cannot_rebase flag to two bit. + If the MSB is set, the file is protected from rebasing due to + --oblivious currently in effect. + * rebase-dump.c (help): Fix typo -- escape missing in help text. + +2012-06-07 Achim Gratz + + * rebaseall.in: Improve sed regular expressions used to generate the + rebase list. + +2012-04-30 Corinna Vinschen + + * configure.ac (AC_INIT): Bump version to 4.2.0. + * peflagsall.in: Set DefaultDynBase to 0 to remove the dynamicbase + flag by default, rather than to set it. Add .oct to DefaultSuffixes, + just as in rebaseall.in. Fix help text accordingly. + * rebase.c (long_options): Add --no-dynamicbase. + (short_options): Add -n. + (parse_args): Handle -n/--no-dynamicbase option. Set + ReBaseDropDynamicbaseFlag flag. + (usage): Add text for new -n/--no-dynamicbase option. + * rebaseall.in: Call rebase with -n flag on Cygwin. + * README: Document all aforementioned changes. + +2012-03-27 Corinna Vinschen + + * autorebase.bat: Just call rebaseall as script. + +2012-03-27 Corinna Vinschen + + * autorebase.hint: Disable "external-source". + +2012-03-26 Jason Tishler + + Prepare for release 4.1.0. + * rebase.c (version): Update copyright. + +2012-03-26 Jason Tishler + + Prepare for release 4.1.0. + * NEWS: Update documentation. + +2012-03-19 Corinna Vinschen + + * README: Document rebasell -p and -t options. Document rebase -t + option. + * autorebase.bat: New file. + * autorebase.hint: New file. + * configure.ac: Bump package version to 4.1.0. + * rebase-db.h (struct _img_info): Add cannot_rebase flag. + * rebase.c (main): Print DLLs which couldn't be rebased to stderr. + (save_image_info): Set cannot_rebase flag to 0 before storing list + in DB. + (set_cannot_rebase): New function to test if a DLL is blocked by + another process. + (merge_image_info): Take DLLs blocked by other processes into account. + (long_options): Add --touch. + (short_options): Add -t. + (parse_args): Handle -t/--touch option. Set ReBaseChangeFileTime flag. + (usage): Add text for new -t/--touch option. + * rebaseall.in: Add -p and -t option. Do option processing prior to + testing for running processes. Only test for running processes if -p + option wasn't given. + +2011-10-24 Jason Tishler + + Prepare for release 4.0.1. + * NEWS: Update documentation. + * build.sh: Configure with --sysconfdir=/etc. + * configure.ac (AC_INIT): Update version to 4.0.1. + +2011-10-24 Corinna Vinschen + + * rebaseall.in: Call rebase, not ./rebase. + +2011-10-22 Jason Tishler + + Prepare for release 4.0.0. + * Makefile.in (SRC_DISTFILES): Remove aclocal.m4. Add rebase-db.c, + rebase-db.h, rebase-dump.c, and strtoll.c. + * NEWS: Update documentation. + * configure.ac (AC_INIT): Update version to 4.0.0. + +2011-08-11 Corinna Vinschen + + Implement new peflags arguments to change and display stack and + heap sizes. + * peflags.c: Include limits.h and stddef.h. + (PRIu64, PRIx64): Define for msys. Otherwise include inttypes.h. + (pe_file): Add pathname member. + (handle_any_sizeof): New global variable. + (sizeof_values_t): New type. + (sizeof_vals): New global variable. + (long_options): Add stack-reserve, stack-commit, heap-reserve, + heap-commit, and cygwin-heap options. + (short_options): Add x, X, y, Y, and z options. + (do_mark): Handle changes and display of sizeof values. + (handle_num_option): New function. + (parse_args): Workaround the problem that option_index is not valid + if the user specified a short option. Handle new options. + (string_to_bool): Call string_to_ulonglong. + (string_to_ulonglong): Replace string_to_ulong. + (pe_open): Add pathname to pef. + (get_and_set_size): New function. + (get_and_set_sizes): New function. + (help): Use only one single fputs call for the entire text to + simplify formatting. Add text to describe the new options. + +2011-08-09 Corinna Vinschen + + * rebase.c (main): Skip empty arguments. + +2011-08-07 Corinna Vinschen + + * peflags.c (do_mark): Don't check return value of get_characteristics, + set_coff_characteristics and set_pe_characteristics since they always + succeed now. + +2011-08-07 Corinna Vinschen + + * peflags.c (pe_file): Move definition to start of file. + (pe_open): Declare. + (pe_close): Declare. + (do_mark): Call pe_open/pe_close here. Call get/set functions + weith pe_file pointer instead of filename. + (get_characteristics): Change first parameter to pe_file pointer. + Drop calls to pe_open/pe_close. + (set_coff_characteristics): Ditto. + (set_pe_characteristics): Ditto. + +2011-08-05 Corinna Vinschen + + * peflags.c: Include sys/mman.h on Cygwin and msys. Drop conditional + definitions of uint16_t and uint32_t. Use WORD rather than uint16_t + throughout, size_t rather than uint32_t. + (IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE): Define if non-existant to + workaround broken w32api. Fix usage of broken definition throughout. + (IMAGE_DLLCHARACTERISTICS_NX_COMPAT): Ditto. + (IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY): Ditto. + (pe_get16): Remove. + (pe_get32): Remove. + (pe_set16): Remove. + (mmap): Define in terms of Win32 calls for non-Cygwin systems. + (munmap): Ditto. + (pe_file): New type to keep file mapping info. + (pe_open): New function to mmap PE/COFF files. + (pe_close): New function to unmap PE/COFF files. + (get_characteristics): Use pe_opem/pe_close and direct Windows + file structure access. + (set_coff_characteristics): Ditto. + (set_pe_characteristics): Ditto. + +2011-08-05 Charles Wilson + + * NEWS: Update documentation. + * README: Ditto. + * ChangeLog: Fix some typos. + +2011-08-05 Corinna Vinschen + + * rebase-db.h (PRIu64, PRIx64): Define for msys, otherwise include + inttypes.h. + * rebase-dump.c (load_image_info): Use PRI{u,x}64 in printf statement + to avoid compiler warnings. + * rebase.c (PRIx64): Remove definition here. + +2011-08-03 Charles Wilson + + Add rebase-dump application. + + * Makefile.in: Add rules to build, but not install, + rebase-dump.exe. + * rebase-db.h: Declare new dump_rebasedb* functions. + * rebase-db.c (dump_rebasedb_header): New function. + (dump_rebasedb_entry): New function. + (dump_rebasedb): New function. + * rebase-dump.c: New file. + +2011-07-29 Charles Wilson + + Improve MinGW/MSYS support. + + * build-aux/config.guess: Add msys support. + * build-aux/config.sub: Add msys support. + * configure.ac: Specify -static-* and -D overrides, on a + platform-sensitive basis, here rather than hardcoding in + Makefile.in. Add strtoll.c to LIBOBJS for MSYS. + * Makefile.in: Instead of hardcoding -static-* and -D + overrides here, use new platform-sensitive vars defined by + configure. Also, add strtoll.c. + * rebase.c: Handle missing inttypes.h on MSYS. Be explicit about + CYGWIN vs MSYS. Move db typedefs and comparison functions to + rebase-db.[c,h]. Use standard GPLv2+ text. + (strtoull) [MSYS]: Declare missing function. + (main) [MSYS]: Allow room for msys-1.0.dll, as with cygwin1.dll. + (mkstemp) [MINGW]: Fix open flags. + (load_image_info): Fix open flags (O_BINARY). + (merge_image_info) [MSYS]: Skip msys-1.0.dll, as with + cygwin1.dll. + (parse_args) [MINGW]: Use program path to determine location of + database. + * rebaseall.in: Add platform-specific code to handle msys + shortcomings. Use standard GPLv2+ text. + * peflagsall.in: Ditto. + * peflags.c: Use standard GPLv2+ text. + * rebase-db.h: New file. + * rebase-db.c: New file. + * strtoll.c: New file. + +2011-07-25 Corinna Vinschen + + * rebase.c (print_image_info): Compute length of longest DLL name and + use as field width in printf. Default to longest available file length + for 80 char display. + +2011-07-25 Corinna Vinschen + + * rebase.c (load_image_info): Handle short reads. + +2011-07-23 Corinna Vinschen + + * rebase.c (parse_args): Check that base address doesn't + exceed valid address space for 32 bit DLLs. + (string_to_ulonglong): Use NULL, rather then 0, for pointer argument. + +2011-07-21 Corinna Vinschen + + * Makefile.in (DEFS): Add define for sysconfdir. + (edit): Add substitute expression for sysconfdir. + * rebase.c: Implement rebase database. + (roundup): Define. + (roundup2): Define. + (machine): New global variable to keep requested machine type. + (image_storage_flag): New flag. + (force_rebase_flag): Ditto. + (quite): Ditto. + (verbose): Convert to type BOOL. + (progname): New variable for printing application name in error output. + (img_info_hdr_t): New type. + (img_info_t): De-const name. Add name_size, slot_size, and + flag members. + (IMG_INFO_FILE_I386): Define database name for i386 systems. + (IMG_INFO_FILE_AMD64): Define database name for x86_64 systems. + (IMG_INFO_FILE): Define default database name. + (gen_progname): New function to initialize progname. + (main): Call gen_progname. Only fetch Cygwin DLL info in 32 bit mode + for now. Always collect file info, then rebase dependent on mode. + In database mode, call load_image_info, collect_image_info, + merge_image_info, and save_image_info. + (img_info_name_cmp): New comparison function. + (save_image_info): New function to save rebase database. + (load_image_info): New function to load rebase database. + (merge_image_info): New function to compute rebase values. + (collect_image_info): Fix typo in condition. Check for rebaseable + file here. Convert given filename to absolute pathname. + (print_image_info): Revamp to take database into account. Add + collision information. + (rebase): Take down_flag as parameter to allow influencing the + algorithm from caller. Drop call to is_rebaseable here. + (long_options): New option array for getopt_long. + (short_options): Hold short options. + (parse_args): Drop anOptions. Rename anOption to opt. Call + getopt_long. Handle all new flags. + (usage): Change to reflect new flags. + (help): New function. + * rebaseall.in: Use database mode. Add -4 and -8 options and + handle 32 and 64 bit modes. + +2011-07-08 Corinna Vinschen + + * rebase.c: Convert all base address variables to ULONG64 + throughout. + (main): On Cygwin, call GetImageInfos64 to get Cygwin DLLs + data. + (print_image_info): Use PRIx64 in printf format string to print + addresses. + (rebase): Ditto. Call ReBaseImage64. + (parse_args): Call string_to_ulonglong. + (string_to_ulonglong): Rename from string_to_ulong, call + strtoull, and return unsigned long long. + +2011-07-07 Corinna Vinschen + + * Makefile.in (LDFLAGS): Don't override with -static-libstdc++ + unconditionally. + (rebase): Add -static-libstdc++ to link statement. + +2011-06-29 Corinna Vinschen + + * rebase.c (ALLOCATION_SLOT): New variable to keep allocation + granularity. + (main): Define status once at the start of main. Initialize + ALLOCATION_SLOT from system info. Recalculate cygwin_dll_image_base + and cygwin_dll_image_size and add comments to explain why. + (rebase): Only check for Cygwin DLL if down_flag is TRUE. Add comment + to explain why. + +2011-06-28 Corinna Vinschen + + * configure.ac (DEFAULT_OFFSET_VALUE): Define host-dependent. + * Makefile.in (DEFAULT_OFFSET_VALUE): Define. + (edit): Substitute DEFAULT_OFFSET_VALUE. + * rebaseall.in (DefaultOffset): Make configurable during build. + +2011-06-21 Corinna Vinschen + + * rebaseall.in: Add "sys-root/mingw" to excluding sed expressions. + +2011-06-21 Corinna Vinschen + + * Makefile.in (CFLAGS): Override to enforce -Wall -Werror. + (CXXFLAGS): Ditto. + (LDFLAGS): Override to enforce static linking. + +2011-06-21 Corinna Vinschen + + * peflags.c (long_options): Add usable single char options where + missing. + (short_options): New variable. + (main): Don't exit on error if there are still files to proceed on. + (do_mark): Add verbose flag printing. + (parse_args): Accommodate changes to single-char options. + (help): Ditto. + (version): Fix copyright. + +2011-06-21 Corinna Vinschen + + * rebase.c (image_info_flag): New flag. + (img_info_list, img_info_size, img_info_max_size): New global + variables used to print image info. + (main): Call setlocale. On Cygwin fetch base address and size of + Cygwin DLL. If image_info_flag is set, call collect_image_info + rather than rebase in loop and eventually call print_image_info. + (collect_image_info): New function. + (img_info_cmp): New function. + (print_image_info): New function. + (rebase): On Cygwin, if a DLL has been rebased into the address space + taken by the Cygwin DLL, move new_image_base and rebase again. + (parse_args): Handle -i option. + (usage): Add -i option to usage output. + (version): Fix copyright. + +2011-06-21 Corinna Vinschen + + * peflags.c: Avoid compiler warnings: + (display_flags): Convert long arguments to uint16_t. + (do_mark): Remove unused variable i; + (get_characteristics): Remove unused variable size; + (set_coff_characteristics): Ditto. + (set_pe_characteristics): Ditto. + +2011-06-21 Corinna Vinschen + + * rebase.c (parse_args): Avoid compiler warning. + +2011-06-21 Corinna Vinschen + + * Makefile.in (all): Prepend libimagehelper target to dependency list. + (libimagehelper): Rename from $(LIBIMAGEHELPER) to allow imagehelper + Makefile to decide if imagehelper lib has to be rebuilt. + +2011-06-21 Corinna Vinschen + + * configure.ac: Check for ar. + +2011-06-20 Charles Wilson + + Update documentation. Add .cvsignore. + * .cvsignore: New. + * NEWS: Reorganize into standard newest-first format. + +2011-06-20 Charles Wilson + + Use autoconf. Configurable installation and SHELL. + + * ChangeLog: New. + * COPYING: New. + * Changes: Renamed to... + * NEWS: this. + * build-aux/config.guess: New. + * build-aux/config.sub: New. + * build-aux/install-sh: New. + * Makefile: Removed. + * build.sh: Run configure. Modify to support MinGW + and MSYS, as well as Cygwin. + * configure.ac: New. + * Makefile.in: Rewrite for autoconf. + * peflagsall: Renamed to... + * peflagsall.in: this. Set PATH to directory of $0, + $(bindir), and /bin. Exclude dash as well as ash + from rebaselist, and peflags.exe itself. Don't die + if dash processes are running. + * rebaseall: Renamed to... + * rebaseall.in: this. Set PATH to directory of $0, + $(bindir), and /bin. Exclude dash as well as ash + from rebaselist, and rebase.exe itself. + * peflags.c: Accomodate MSYS. + * getopt.h_: Work around broken getopt_long on MSYS. + * getopt_long.c: Ditto. + +Prior: see NEWS file. diff --git a/Makefile.in b/Makefile.in index f2c04b4..e984070 100644 --- a/Makefile.in +++ b/Makefile.in @@ -145,8 +145,8 @@ peflagsall: peflagsall.in install: all $(MKDIR_P) $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -s rebase$(EXEEXT) $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -s peflags$(EXEEXT) $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) rebase$(EXEEXT) $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) peflags$(EXEEXT) $(DESTDIR)$(bindir) $(INSTALL_SCRIPT) rebaseall $(DESTDIR)$(bindir) $(INSTALL_SCRIPT) peflagsall $(DESTDIR)$(bindir) $(MKDIR_P) $(DESTDIR)$(docdir) diff --git a/configure.ac b/configure.ac index ae2b5b4..f6fb49d 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # configure.ac for rebase AC_PREREQ([2.64]) -AC_INIT([rebase], [4.4.1], [cygwin@cygwin.com]) +AC_INIT([rebase], [4.4.2], [cygwin@cygwin.com]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_SRCDIR([peflags.c]) AC_PREFIX_DEFAULT([/usr]) diff --git a/imagehelper/ChangeLog b/imagehelper/ChangeLog deleted file mode 100755 index 33382b7..0000000 --- a/imagehelper/ChangeLog +++ /dev/null @@ -1,463 +0,0 @@ -2016-03-11 Corinna Vinschen - - * sections.h (SECTIONLIST_MAXSECTIONS): Remove. - (SectionList::sections): Convert to pointer. - * sections.cc (SectionList::SectionList): Allocate sections prior - to iterating over them. - (SectionList::~SectionList): Deallocate sections. - -2013-02-16 Corinna Vinschen - - Throughout, tweak pointer expressions to use unambiguous cast - on all supported platforms. - * sections.cc (Exports::dump): Constify argument to avoid compiler - warning. - (Imports::dump): Ditto. - * sections.h (SectionBase::getAdjust): Change type to ptrdiff_t. - (SectionBase::adjust): Ditto. - (Exports::dump): Constify argument in declaration to avoid compiler - warning. - (Imports::dump): Ditto. - -2011-01-16 Jason Tishler - - Prepare for release 4.4.0. - * Makefile.in (LIB_VERSION): Update to version 0.11. - -2013-01-16 Corinna Vinschen - - * objectfile.h (LinkedObjectFile::performRelocation): Change type of - parameter to int64_t. - * rebaseimage.cc (ReBaseImage64): Change type of local variable - difference to int64_t. - * sections.cc (Relocations::check): Fix formatting. - (Relocations::relocate): Take difference parameter as int64_t. Call - cursec->debugprint rather than cursec->print and drop FIXME comment. - Handle Windows relocation info types IMAGE_REL_BASED_ABSOLUTE, - IMAGE_REL_BASED_HIGHLOW and IMAGE_REL_BASED_DIR64. Print error - output if another relocation type is found. Fix formatting. - * sections.h (Relocations::relocate): Change type of parameter to - int64_t. - -2012-04-30 Corinna Vinschen - - * imagehelper.h (ReBaseDropDynamicbaseFlag): Declare. - * rebaseimage.cc: Include windows.h. Handle old w32api releases. - (ReBaseDropDynamicbaseFlag): Define. - (ReBaseImage64): Drop IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE flag - in DllCharacteristics if successfully rebased and - -2012-03-19 Corinna Vinschen - - * imagehelper.h (ReBaseChangeFileTime): Declare. - * objectfile.h (ObjectFile::setFileTime): New method. - * rebaseimage.cc (ReBaseChangeFileTime): Define. - (ReBaseImage64): Call ObjectFile::setFileTime if successfully rebased - and ReBaseChangeFileTime is true. - -2011-10-22 Jason Tishler - - Prepare for release 4.0.0. - * Makefile.in (LIB_VERSION): Update to version 0.10. - -2011-08-03 Corinna Vinschen - - * objectfile.cc (ObjectFile::ObjectFile); Always open file with - FILE_FLAG_BACKUP_SEMANTICS rights. - -2011-07-29 Charles Wilson - - Improve MinGW/MSYS support. - - * Makefile.in: Instead of hardcoding -static-* and -D - overrides here, use new platform-sensitive vars defined by - configure. - * rebase_main.cc: Fix bug in GetImageInfos64 call. - Be explicit about CYGWIN vs MSYS. - * sections.h: Fix portability issues with stdint.h - and uintptr_t. - -2011-07-10 Corinna Vinschen - - * objectfile.cc (ObjectFile::ObjectFile): Add basic executable file - checks to avoid crashes. - -2011-07-10 Corinna Vinschen - - * getimageinfos.cc (GetImageInfos64): Return machine type rather than - just a 32/64 bit flag. - * imagehelper.h (GetImageInfos64): Ditto in declaration. - * objectfile.h (ObjectFile::machine_type): New private variable. - (ObjectFile::machine): New method. - * objectfile.cc (ObjectFile::ObjectFile): Set machine_type from file - header. - -2011-07-08 Corinna Vinschen - - Allow to work with 64 bit images and make code 64 bit clean. - * getimageinfos.cc (GetImageInfos64); New function, take over - functionality from GetImageInfos and handle 32 and 64 bit images. - (GetImageInfos): Just call GetImageInfos64. - * imagehelper.h (ReBaseImage64): Declare. - (GetImageInfos64): Declare. - * objectfile.cc (Win32Path): Fix codepage to CP_OEMCP. - (ObjectFile::ObjectFile): Set new is64bit_img flag. Set ImageBase - according to address size of platform. - (LinkedObjectFile::LinkedObjectFile): Handle 64 bit images. - (LinkedObjectFile::rebind): Ditto. Use uintptr_t rather than uint. - (LinkedObjectFile::unbind): Ditto. - * objectfile.h (ObjectFile::getNTHeader): Remove. - (ObjectFile::getNTHeader64): New method. - (ObjectFile::getNTHeader32): New method. - (ObjectFile::is64bit): New method. - (ObjectFile::is32bit): New method. - (ObjectFile::ImageBase): Convert to ULONG64. - (ObjectFile::ntheader): Change type to PIMAGE_NT_HEADERS32 - and make private. - (ObjectFile::is64bit_img): New private BOOL member. - * rebase_main.cc: Convert all base variables to ULONG64 and - call ReBaseImage64. - * rebaseimage.cc (ReBaseImage64): New function, take over - functionality from ReBaseImage and handle 32 and 64 bit images. - (ReBaseImage): Just call ReBaseImage64. - * rebind_main.cc (main): Drop unused variables. - * sections.cc (Section::Section): Use uintptr_t rather than uint. - (Section::isIn): Handle 64 bit images. - (Relocations::check): Use uintptr_t rather than uint. - (Relocations::relocate): Ditto. - * sections.h (SectionList::FileBase): Convert to uintptr_t. - -2011-06-21 Corinna Vinschen - - Throughout, avoid all compiler warnings. - * Makefile.in (CFLAGS): Override to enforce -Wall -Werror. - (CXXFLAGS): Ditto. - -2011-06-21 Corinna Vinschen - - * bindimage.cc (BindImageEx): Constify string arguments. - (BindImage): Ditto. - * checkimage.cc (CheckImage): Ditto. - * fiximage.cc (FixImage): Ditto. - * getimageinfos.cc (GetImageInfos): Ditto. - * imagehelper.h: Constify string arguments in declarations. - * objectfile.cc (Win32Path): Rewrite to use and return the Win32 path - as pointer to a static WCHAR buffer on all systems. Simplify condition - to use cygwin_conv_path on Cygwin, cygwin_conv_to_win32_path on msys. - Use MultiByteToWideChar to create wide char pathname on non-Cygwin - systems. - (ObjectFile::ObjectFile): Constify string argument. Store Win32 path - in local variable and use in calls to CreateFile. Replace calls to - CreateFile with calls to CreateFileW. Make basename a const char - pointer. - (LinkedObjectFile::LinkedObjectFile): Constify string argument. - * objectfile.h (ObjectFile::ObjectFile): Ditto. - (LinkedObjectFile::LinkedObjectFile): Ditto. - * rebaseimage.cc (ReBaseImage): Ditto. - -2011-06-21 Corinna Vinschen - - * Makefile.in: Autoconfify call to ar. - -2011-06-20 Charles Wilson - - * .cvsignore: Add autogenerated version.c. - -2011-06-20 Charles Wilson - - Convert to unix format. Update documentation. Add .cvsignore. - * .cvsignore: New. - * README: Convert from dos to unix format. Add entries for - lib_version 0.8 and 0.9. - * bindimage.cc: Convert from dos to unix format. - * checkimage.cc: Ditto. - * debug.cc: Ditto. - * fiximage.cc: Ditto. - * getimageinfos.cc: Ditto. - * imagehelper.h: Ditto. - * objectfile.h: Ditto. - * objectfilelist.cc: Ditto. - * objectfilelist.h: Ditto. - * rebaseimage.cc: Ditto. - -2011-06-20 Charles Wilson - - Use autoconf. Treat as intrinsic part of rebase package, - rather than almost-but-not-really independent. Correct - gcc warnings. - - * ChangeLog: Fix whitespace and formatting. - * INSTALL: Removed. - * Makefile: Removed. - * Makefile.cygwin: Removed. - * Makefile.mingw: Removed. - * Makefile.in: Rewrite for autoconf. Bump library version - due to changes below. - * rebase.h: Removed unused file. - * sections.cc: Silence gcc warnings. - * sections.h: Silence gcc warnings. - * objectfile.cc: Use cygwin_create_path() when available. - Accomodate MSYS. - * rebase_main.cc: Ditto. - * rebind_main.cc: Ditto. - * unbind_main.cc: Ditto. - -2003-02-17 Jason Tishler - - * rebaseimage.cc (RebaseImage): Fixes bug when rebasing up - and the DLL is already based at the requested address. - -2003-02-14 Ralf Habacker - Jason Tishler - - * sections.h (debugprint): New prototype. - * sections.cc (debugprint): New function. - (Relocations::check): added additional debug printing, - changed endpointer comparing. - (Relocations::fix): Changed endpointer comparing. - (Relocations::relocate): Ditto. - -2003-01-31 Jason Tishler - - * rebaseimage.cc: fixed bug in dll base address adjustment. - -2003-01-21 Jason Tishler - - * imagehelper.h, rebaseimage.cc: added c support - for function prototypes. - -2003-01-04 Ralf Habacker - - * sections.h: added classes BoundImportDescriptor - and DataDirectory - * objectfile.cc,sections.cc: used class ImageDescriptor, - BoundImageDescriptor and DataDirectory instead of - native windows definitions. - -2003-01-04 Ralf Habacker - - * rebase.doxygen.in: removed inlining sources - -2003-01-04 Ralf Habacker - - * section.cc (Relocations::relocate): fix return code - problems. - -2003-01-04 Ralf Habacker - - * section.h (class Imports): derivate from SectionBase - to avoid duplicate getAdjust() method. - -2003-01-03 Ralf Habacker - - * objectfile.cc,sections.cc,unbind_main,bindimage.cc, - checkimage.cc,fiximage.cc,getimageinfos.cc,rebaseimage.cc, - unbind_main.cc: completed debug message printing to cerr - and regular output to cout. - -2003-01-03 Ralf Habacker - - * objectfile.cc,sections.cc: added conditional printing - for debug messages. - -2003-01-03 Charles Wilson - - * Makefile: spelling corrected, moved to unix eol. - * README, ChangeLog: moved to unix eol. - * rebase.doxygen.in: used new name imagehelper. - -2003-01-02 Charles Wilson - - * Makefile.in: add bindimage.o to LIBFILES - change ar flags for creating static library - * bindimage.cc: include imagehelper.h - * objectfile.cc: remove dependency on stdio.h, use - iostream and iomanip instead. - (ObjectFile::ObjectFile): use std::cout instead of - printf, std::cerr instead of fprintf(stderr,...) - (LinkedObjectFile::rebind): ditto. - (LinkedObjectFile:LinkedObjectFile): ditto. - (LinkedObjectFile::PrintDependencie): ditto. - (LinkedObjectFile::unbind): ditto. - (main): ditto. - * objectfilelist.cc: remove dependency on stdio.h, use - iostream instead. - (main): use std::cout instead of - printf, std::cerr instead of fprintf(stderr,...) - * rebase_main.cc: remove dependency on stdio.h - (main): don't call GetLastError() twice, use stored - value in aStatus2. Call strerror() for a more informative - message. - * rebind_main.cc: remove dependency on stdio.h - (Usage): use std::cout instead of printf, std::cerr - instead of fprintf(stderr,...) - * sections.cc: remove dependency on stdio.h, use - iostream and iomanip instead. - (Section::print): use std::cout instead of printf, std::cerr - instead of fprintf(stderr,...) - (Exports::Exports): ditto. - (Exports::dump): ditto. - (Imports::Imports): ditto. - (Imports::dump): ditto. - (Relocations::check): ditto. - (Relocations::fix): ditto. - (Relocations::relocate): ditto. - * unbind_main (Usage): ditto. - -2003-01-02 Ralf Habacker - - * Makefile: new file - -2003-01-02 18:05 Ralf Habacker - - * INSTALL: new file. - * Makefile: moved to Makefile.in. - * Makefile.in: new file. - * Makefile.mingw, Makefile.cygwin, objectfile.cc, - rebase_main.cc, rebind_main.cc,unbind_main.cc: - added mingw support - -2003-01-02 16:32 Ralf Habacker - - * Makefile (clean): added deleting *.a files - -2003-01-02 16:30 Ralf Habacker - - * imagehelper.h: renamed from imagehlp.h - * debug.cc: renamed from imagehlpdebug.cc - * imagehlp.h: deleted - * imagehlpdebug.cc: deleted - * checkimage.cc, debug.cc, fiximage.cc, getimageinfos.cc, - rebase_main.cc,Makefile: patched for new library name imagehelper - -2003-01-01 12:57 Ralf Habacker - - * rebase_main.cc: added image info printing - -2003-01-01 12:56 Ralf Habacker - - * rebind_main.cc: bug fix - -2003-01-01 12:55 Ralf Habacker - - * bindimage.cc, checkimage.cc, fiximage.cc, getimageinfos.cc, - rebaseimage.cc, rebind_main.cc, unbind_main.cc: some namespace - fixes - -2003-01-01 12:23 Ralf Habacker - - * rebind_main.cc, unbind_main.cc: remove unused code - -2002-12-31 19:33 Ralf Habacker - - * bindimage.cc, checkimage.cc, getimageinfos.cc, rebase_main.cc, - rebind_main.cc, unbind_main.cc: name space fixes - -2002-12-31 19:33 Ralf Habacker - - * Makefile: converted eol from dos to unix - -2002-12-31 19:32 Ralf Habacker - - * README: updated for release 0.6 - -2002-12-31 19:31 Ralf Habacker - - * checkimage.cc: class name bug fix - -2002-12-31 14:37 Ralf Habacker - - * Makefile, rebase.doxygen.in: added doxygen support - -2002-12-31 13:56 Ralf Habacker - - * Makefile, bindimage.cc, checkimage.cc, fiximage.cc, - getimageinfos.cc, imagehlp.h, imagehlpdebug.cc, objectfile.cc, - objectfile.h, rebaseimage.cc, unbind_main.cc: prints debug message - only with debug flag set - -2002-12-31 13:48 Ralf Habacker - - * bindimage.cc, checkimage.cc, fiximage.cc, getimageinfos.cc, - imagehlp.h, imagehlpdebug.cc, objectfile.h, rebind_main.cc, - unbind_main.cc: updated indention - -2002-12-31 13:47 Ralf Habacker - - * main.cc: moved to xxx_main.cc - -2002-12-31 12:09 Ralf Habacker - - * Makefile: added version objectfile - -2002-12-31 12:08 Ralf Habacker - - * Makefile: added xxx_main.cc files - -2002-12-31 12:08 Ralf Habacker - - * rebase_main.cc, rebind_main.cc, unbind_main.cc: new files - -2002-12-31 11:59 Ralf Habacker - - * Makefile: added libimagehlp.a target - -2002-12-31 11:59 Ralf Habacker - - * bindimage.cc, checkimage.cc, fiximage.cc, getimageinfos.cc, - imagehlp.h, imagehlpdebug.cc: new files - -2002-12-31 11:57 Ralf Habacker - - * rebase.cc, rebaseimage.cc: removed rebase.cc to rebaseimage.cc - -2002-12-31 11:16 Ralf Habacker - - * Makefile, objectfile.cc, objectfile.h: moved objectfilelist class - into separate file - -2002-12-05 16:56 Ralf Habacker - - * main.cc, objectfile.cc, objectfile.h, objectfilelist.cc, - objectfilelist.h, rebase.cc, rebase.h, sections.cc, sections.h: - first indention with gnu style - -2002-12-05 16:55 Ralf Habacker - - * Makefile: added indent target - -2002-12-05 08:28 Ralf Habacker - - * rebase.cc: Round NewImageSize to be consistent with MS's rebase - -2002-12-05 08:27 Ralf Habacker - - * Makefile, README: updated to 0.5 - -2002-12-05 08:25 anoncvs_jgb - - * rebase.cc: redirect messages to stdout instead of stderr; added - error message in case of loading problems - -2002-12-05 08:19 Ralf Habacker - - * objectfile.h: added some elements - -2002-12-05 08:18 Ralf Habacker - - * sections.cc: added debug messages - -2002-12-05 08:18 Ralf Habacker - - * objectfile.cc: enhanced path searching - -2002-12-05 08:17 Ralf Habacker - - * Makefile: rearranged - -2002-08-09 11:56 Ralf Habacker - - * Makefile, README, main.cc, objectfile.cc, objectfile.h, - objectfilelist.cc, objectfilelist.h, rebase.cc, rebase.h, - sections.cc, sections.h: new files - diff --git a/imagehelper/ChangeLog.old b/imagehelper/ChangeLog.old new file mode 100755 index 0000000..0b87f9a --- /dev/null +++ b/imagehelper/ChangeLog.old @@ -0,0 +1,467 @@ +DEPRECATED + +Use git log instead. + +2016-03-11 Corinna Vinschen + + * sections.h (SECTIONLIST_MAXSECTIONS): Remove. + (SectionList::sections): Convert to pointer. + * sections.cc (SectionList::SectionList): Allocate sections prior + to iterating over them. + (SectionList::~SectionList): Deallocate sections. + +2013-02-16 Corinna Vinschen + + Throughout, tweak pointer expressions to use unambiguous cast + on all supported platforms. + * sections.cc (Exports::dump): Constify argument to avoid compiler + warning. + (Imports::dump): Ditto. + * sections.h (SectionBase::getAdjust): Change type to ptrdiff_t. + (SectionBase::adjust): Ditto. + (Exports::dump): Constify argument in declaration to avoid compiler + warning. + (Imports::dump): Ditto. + +2011-01-16 Jason Tishler + + Prepare for release 4.4.0. + * Makefile.in (LIB_VERSION): Update to version 0.11. + +2013-01-16 Corinna Vinschen + + * objectfile.h (LinkedObjectFile::performRelocation): Change type of + parameter to int64_t. + * rebaseimage.cc (ReBaseImage64): Change type of local variable + difference to int64_t. + * sections.cc (Relocations::check): Fix formatting. + (Relocations::relocate): Take difference parameter as int64_t. Call + cursec->debugprint rather than cursec->print and drop FIXME comment. + Handle Windows relocation info types IMAGE_REL_BASED_ABSOLUTE, + IMAGE_REL_BASED_HIGHLOW and IMAGE_REL_BASED_DIR64. Print error + output if another relocation type is found. Fix formatting. + * sections.h (Relocations::relocate): Change type of parameter to + int64_t. + +2012-04-30 Corinna Vinschen + + * imagehelper.h (ReBaseDropDynamicbaseFlag): Declare. + * rebaseimage.cc: Include windows.h. Handle old w32api releases. + (ReBaseDropDynamicbaseFlag): Define. + (ReBaseImage64): Drop IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE flag + in DllCharacteristics if successfully rebased and + +2012-03-19 Corinna Vinschen + + * imagehelper.h (ReBaseChangeFileTime): Declare. + * objectfile.h (ObjectFile::setFileTime): New method. + * rebaseimage.cc (ReBaseChangeFileTime): Define. + (ReBaseImage64): Call ObjectFile::setFileTime if successfully rebased + and ReBaseChangeFileTime is true. + +2011-10-22 Jason Tishler + + Prepare for release 4.0.0. + * Makefile.in (LIB_VERSION): Update to version 0.10. + +2011-08-03 Corinna Vinschen + + * objectfile.cc (ObjectFile::ObjectFile); Always open file with + FILE_FLAG_BACKUP_SEMANTICS rights. + +2011-07-29 Charles Wilson + + Improve MinGW/MSYS support. + + * Makefile.in: Instead of hardcoding -static-* and -D + overrides here, use new platform-sensitive vars defined by + configure. + * rebase_main.cc: Fix bug in GetImageInfos64 call. + Be explicit about CYGWIN vs MSYS. + * sections.h: Fix portability issues with stdint.h + and uintptr_t. + +2011-07-10 Corinna Vinschen + + * objectfile.cc (ObjectFile::ObjectFile): Add basic executable file + checks to avoid crashes. + +2011-07-10 Corinna Vinschen + + * getimageinfos.cc (GetImageInfos64): Return machine type rather than + just a 32/64 bit flag. + * imagehelper.h (GetImageInfos64): Ditto in declaration. + * objectfile.h (ObjectFile::machine_type): New private variable. + (ObjectFile::machine): New method. + * objectfile.cc (ObjectFile::ObjectFile): Set machine_type from file + header. + +2011-07-08 Corinna Vinschen + + Allow to work with 64 bit images and make code 64 bit clean. + * getimageinfos.cc (GetImageInfos64); New function, take over + functionality from GetImageInfos and handle 32 and 64 bit images. + (GetImageInfos): Just call GetImageInfos64. + * imagehelper.h (ReBaseImage64): Declare. + (GetImageInfos64): Declare. + * objectfile.cc (Win32Path): Fix codepage to CP_OEMCP. + (ObjectFile::ObjectFile): Set new is64bit_img flag. Set ImageBase + according to address size of platform. + (LinkedObjectFile::LinkedObjectFile): Handle 64 bit images. + (LinkedObjectFile::rebind): Ditto. Use uintptr_t rather than uint. + (LinkedObjectFile::unbind): Ditto. + * objectfile.h (ObjectFile::getNTHeader): Remove. + (ObjectFile::getNTHeader64): New method. + (ObjectFile::getNTHeader32): New method. + (ObjectFile::is64bit): New method. + (ObjectFile::is32bit): New method. + (ObjectFile::ImageBase): Convert to ULONG64. + (ObjectFile::ntheader): Change type to PIMAGE_NT_HEADERS32 + and make private. + (ObjectFile::is64bit_img): New private BOOL member. + * rebase_main.cc: Convert all base variables to ULONG64 and + call ReBaseImage64. + * rebaseimage.cc (ReBaseImage64): New function, take over + functionality from ReBaseImage and handle 32 and 64 bit images. + (ReBaseImage): Just call ReBaseImage64. + * rebind_main.cc (main): Drop unused variables. + * sections.cc (Section::Section): Use uintptr_t rather than uint. + (Section::isIn): Handle 64 bit images. + (Relocations::check): Use uintptr_t rather than uint. + (Relocations::relocate): Ditto. + * sections.h (SectionList::FileBase): Convert to uintptr_t. + +2011-06-21 Corinna Vinschen + + Throughout, avoid all compiler warnings. + * Makefile.in (CFLAGS): Override to enforce -Wall -Werror. + (CXXFLAGS): Ditto. + +2011-06-21 Corinna Vinschen + + * bindimage.cc (BindImageEx): Constify string arguments. + (BindImage): Ditto. + * checkimage.cc (CheckImage): Ditto. + * fiximage.cc (FixImage): Ditto. + * getimageinfos.cc (GetImageInfos): Ditto. + * imagehelper.h: Constify string arguments in declarations. + * objectfile.cc (Win32Path): Rewrite to use and return the Win32 path + as pointer to a static WCHAR buffer on all systems. Simplify condition + to use cygwin_conv_path on Cygwin, cygwin_conv_to_win32_path on msys. + Use MultiByteToWideChar to create wide char pathname on non-Cygwin + systems. + (ObjectFile::ObjectFile): Constify string argument. Store Win32 path + in local variable and use in calls to CreateFile. Replace calls to + CreateFile with calls to CreateFileW. Make basename a const char + pointer. + (LinkedObjectFile::LinkedObjectFile): Constify string argument. + * objectfile.h (ObjectFile::ObjectFile): Ditto. + (LinkedObjectFile::LinkedObjectFile): Ditto. + * rebaseimage.cc (ReBaseImage): Ditto. + +2011-06-21 Corinna Vinschen + + * Makefile.in: Autoconfify call to ar. + +2011-06-20 Charles Wilson + + * .cvsignore: Add autogenerated version.c. + +2011-06-20 Charles Wilson + + Convert to unix format. Update documentation. Add .cvsignore. + * .cvsignore: New. + * README: Convert from dos to unix format. Add entries for + lib_version 0.8 and 0.9. + * bindimage.cc: Convert from dos to unix format. + * checkimage.cc: Ditto. + * debug.cc: Ditto. + * fiximage.cc: Ditto. + * getimageinfos.cc: Ditto. + * imagehelper.h: Ditto. + * objectfile.h: Ditto. + * objectfilelist.cc: Ditto. + * objectfilelist.h: Ditto. + * rebaseimage.cc: Ditto. + +2011-06-20 Charles Wilson + + Use autoconf. Treat as intrinsic part of rebase package, + rather than almost-but-not-really independent. Correct + gcc warnings. + + * ChangeLog: Fix whitespace and formatting. + * INSTALL: Removed. + * Makefile: Removed. + * Makefile.cygwin: Removed. + * Makefile.mingw: Removed. + * Makefile.in: Rewrite for autoconf. Bump library version + due to changes below. + * rebase.h: Removed unused file. + * sections.cc: Silence gcc warnings. + * sections.h: Silence gcc warnings. + * objectfile.cc: Use cygwin_create_path() when available. + Accomodate MSYS. + * rebase_main.cc: Ditto. + * rebind_main.cc: Ditto. + * unbind_main.cc: Ditto. + +2003-02-17 Jason Tishler + + * rebaseimage.cc (RebaseImage): Fixes bug when rebasing up + and the DLL is already based at the requested address. + +2003-02-14 Ralf Habacker + Jason Tishler + + * sections.h (debugprint): New prototype. + * sections.cc (debugprint): New function. + (Relocations::check): added additional debug printing, + changed endpointer comparing. + (Relocations::fix): Changed endpointer comparing. + (Relocations::relocate): Ditto. + +2003-01-31 Jason Tishler + + * rebaseimage.cc: fixed bug in dll base address adjustment. + +2003-01-21 Jason Tishler + + * imagehelper.h, rebaseimage.cc: added c support + for function prototypes. + +2003-01-04 Ralf Habacker + + * sections.h: added classes BoundImportDescriptor + and DataDirectory + * objectfile.cc,sections.cc: used class ImageDescriptor, + BoundImageDescriptor and DataDirectory instead of + native windows definitions. + +2003-01-04 Ralf Habacker + + * rebase.doxygen.in: removed inlining sources + +2003-01-04 Ralf Habacker + + * section.cc (Relocations::relocate): fix return code + problems. + +2003-01-04 Ralf Habacker + + * section.h (class Imports): derivate from SectionBase + to avoid duplicate getAdjust() method. + +2003-01-03 Ralf Habacker + + * objectfile.cc,sections.cc,unbind_main,bindimage.cc, + checkimage.cc,fiximage.cc,getimageinfos.cc,rebaseimage.cc, + unbind_main.cc: completed debug message printing to cerr + and regular output to cout. + +2003-01-03 Ralf Habacker + + * objectfile.cc,sections.cc: added conditional printing + for debug messages. + +2003-01-03 Charles Wilson + + * Makefile: spelling corrected, moved to unix eol. + * README, ChangeLog: moved to unix eol. + * rebase.doxygen.in: used new name imagehelper. + +2003-01-02 Charles Wilson + + * Makefile.in: add bindimage.o to LIBFILES + change ar flags for creating static library + * bindimage.cc: include imagehelper.h + * objectfile.cc: remove dependency on stdio.h, use + iostream and iomanip instead. + (ObjectFile::ObjectFile): use std::cout instead of + printf, std::cerr instead of fprintf(stderr,...) + (LinkedObjectFile::rebind): ditto. + (LinkedObjectFile:LinkedObjectFile): ditto. + (LinkedObjectFile::PrintDependencie): ditto. + (LinkedObjectFile::unbind): ditto. + (main): ditto. + * objectfilelist.cc: remove dependency on stdio.h, use + iostream instead. + (main): use std::cout instead of + printf, std::cerr instead of fprintf(stderr,...) + * rebase_main.cc: remove dependency on stdio.h + (main): don't call GetLastError() twice, use stored + value in aStatus2. Call strerror() for a more informative + message. + * rebind_main.cc: remove dependency on stdio.h + (Usage): use std::cout instead of printf, std::cerr + instead of fprintf(stderr,...) + * sections.cc: remove dependency on stdio.h, use + iostream and iomanip instead. + (Section::print): use std::cout instead of printf, std::cerr + instead of fprintf(stderr,...) + (Exports::Exports): ditto. + (Exports::dump): ditto. + (Imports::Imports): ditto. + (Imports::dump): ditto. + (Relocations::check): ditto. + (Relocations::fix): ditto. + (Relocations::relocate): ditto. + * unbind_main (Usage): ditto. + +2003-01-02 Ralf Habacker + + * Makefile: new file + +2003-01-02 18:05 Ralf Habacker + + * INSTALL: new file. + * Makefile: moved to Makefile.in. + * Makefile.in: new file. + * Makefile.mingw, Makefile.cygwin, objectfile.cc, + rebase_main.cc, rebind_main.cc,unbind_main.cc: + added mingw support + +2003-01-02 16:32 Ralf Habacker + + * Makefile (clean): added deleting *.a files + +2003-01-02 16:30 Ralf Habacker + + * imagehelper.h: renamed from imagehlp.h + * debug.cc: renamed from imagehlpdebug.cc + * imagehlp.h: deleted + * imagehlpdebug.cc: deleted + * checkimage.cc, debug.cc, fiximage.cc, getimageinfos.cc, + rebase_main.cc,Makefile: patched for new library name imagehelper + +2003-01-01 12:57 Ralf Habacker + + * rebase_main.cc: added image info printing + +2003-01-01 12:56 Ralf Habacker + + * rebind_main.cc: bug fix + +2003-01-01 12:55 Ralf Habacker + + * bindimage.cc, checkimage.cc, fiximage.cc, getimageinfos.cc, + rebaseimage.cc, rebind_main.cc, unbind_main.cc: some namespace + fixes + +2003-01-01 12:23 Ralf Habacker + + * rebind_main.cc, unbind_main.cc: remove unused code + +2002-12-31 19:33 Ralf Habacker + + * bindimage.cc, checkimage.cc, getimageinfos.cc, rebase_main.cc, + rebind_main.cc, unbind_main.cc: name space fixes + +2002-12-31 19:33 Ralf Habacker + + * Makefile: converted eol from dos to unix + +2002-12-31 19:32 Ralf Habacker + + * README: updated for release 0.6 + +2002-12-31 19:31 Ralf Habacker + + * checkimage.cc: class name bug fix + +2002-12-31 14:37 Ralf Habacker + + * Makefile, rebase.doxygen.in: added doxygen support + +2002-12-31 13:56 Ralf Habacker + + * Makefile, bindimage.cc, checkimage.cc, fiximage.cc, + getimageinfos.cc, imagehlp.h, imagehlpdebug.cc, objectfile.cc, + objectfile.h, rebaseimage.cc, unbind_main.cc: prints debug message + only with debug flag set + +2002-12-31 13:48 Ralf Habacker + + * bindimage.cc, checkimage.cc, fiximage.cc, getimageinfos.cc, + imagehlp.h, imagehlpdebug.cc, objectfile.h, rebind_main.cc, + unbind_main.cc: updated indention + +2002-12-31 13:47 Ralf Habacker + + * main.cc: moved to xxx_main.cc + +2002-12-31 12:09 Ralf Habacker + + * Makefile: added version objectfile + +2002-12-31 12:08 Ralf Habacker + + * Makefile: added xxx_main.cc files + +2002-12-31 12:08 Ralf Habacker + + * rebase_main.cc, rebind_main.cc, unbind_main.cc: new files + +2002-12-31 11:59 Ralf Habacker + + * Makefile: added libimagehlp.a target + +2002-12-31 11:59 Ralf Habacker + + * bindimage.cc, checkimage.cc, fiximage.cc, getimageinfos.cc, + imagehlp.h, imagehlpdebug.cc: new files + +2002-12-31 11:57 Ralf Habacker + + * rebase.cc, rebaseimage.cc: removed rebase.cc to rebaseimage.cc + +2002-12-31 11:16 Ralf Habacker + + * Makefile, objectfile.cc, objectfile.h: moved objectfilelist class + into separate file + +2002-12-05 16:56 Ralf Habacker + + * main.cc, objectfile.cc, objectfile.h, objectfilelist.cc, + objectfilelist.h, rebase.cc, rebase.h, sections.cc, sections.h: + first indention with gnu style + +2002-12-05 16:55 Ralf Habacker + + * Makefile: added indent target + +2002-12-05 08:28 Ralf Habacker + + * rebase.cc: Round NewImageSize to be consistent with MS's rebase + +2002-12-05 08:27 Ralf Habacker + + * Makefile, README: updated to 0.5 + +2002-12-05 08:25 anoncvs_jgb + + * rebase.cc: redirect messages to stdout instead of stderr; added + error message in case of loading problems + +2002-12-05 08:19 Ralf Habacker + + * objectfile.h: added some elements + +2002-12-05 08:18 Ralf Habacker + + * sections.cc: added debug messages + +2002-12-05 08:18 Ralf Habacker + + * objectfile.cc: enhanced path searching + +2002-12-05 08:17 Ralf Habacker + + * Makefile: rearranged + +2002-08-09 11:56 Ralf Habacker + + * Makefile, README, main.cc, objectfile.cc, objectfile.h, + objectfilelist.cc, objectfilelist.h, rebase.cc, rebase.h, + sections.cc, sections.h: new files +