This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Since I'm around half way done, I decided to post a status report to let people know that I'm still working on this... I have implemented the following: main () { for dll in dlls rebase (dll) } rebase (dll) { sz = image_size (dll) find slot of size sz in free_list and remove slot from free_list add slot to used_list rebase_image (dll) } The free and used lists are persisted in a file called rebase.conf which will be ultimately stored in /etc/setup. Attached is a sample. I will be implementing the un-rebase and re-rebase functionality next: unrebase (dll) { find dll in used_list and remove from used_list add slot to free_list } rerebase (dll) { find dll in used_list if (old image size == new image size) rebase_image (dll) else unrebase (dll) rebase (dll) } Note that I have skipped executables (even though suggested by Rob), because AFAICT that are *not* rebase-able. I have also skipped DLL dependency checking too. You have to crawl, before you can walk, before you can run... I have decided to develop using a stand-alone Mingw (i.e., -mno-cygwin) app instead of integrating directly into setup.exe for the following reasons: o speed development o prevent whacking my Cygwin installation ? possibly this stand-alone rebase could be used as a one-shot to rebase existing Cygwin installations ? possibly this stand-alone rebase should be the "real" rebase tool that is part of the standard Cygwin distribution (as opposed to my previous versions) ? possibly setup.exe should call rebase.exe to minimize impact on size (although the current stripped size is ~31K) Any comments on the items above marked by "?" would be appreciated. BTW, the attached (untried) "patch" demonstrates how one could integrate this new rebase functionality into setup.exe. I can post the source if anyone is interested in checking it out. Otherwise, I will post it when full functionality is achieved. Thanks, Jason
Attachment:
rebase.conf
Description: Text document
Attachment:
rebase.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |