This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: Integrating Ralf's rebase into setup.exe
Rob,
On Thu, Dec 05, 2002 at 06:18:56PM +1100, Robert Collins wrote:
> On Thu, 2002-12-05 at 07:59, Jason Tishler wrote:
> As for design, here's what I'd like to see:
> Ralfs reimplementation sites in a lib - i.e. libcygimagehlp.a - and
> you and I carry on the design discussion with no change. Is that
> possible?
Yes.
> If so, then frankly, I don't care what Ralf's code looks like.
Good. I was hoping that being dependent on Ralf's code did not generate
significantly more work for me.
> Just like I don't care what the bzip2lib internals are like when the
> interface is good and clear.
The current interface of the proposed library is as follows:
BOOL GetImageInfos(char *filename, uint *ImageBase, uint *ImageSize);
BOOL CheckImage(char *filename);
BOOL FixImage(char *filename);
BOOL ReBaseImage(
PSTR CurrentImageName,
PSTR SymbolPath, // ignored
BOOL fReBase,
BOOL fRebaseSysfileOk, // ignored
BOOL fGoingDown, // ignored
ULONG CheckImageSize, // ignored
ULONG *OldImageSize,
ULONG *OldImageBase,
ULONG *NewImageSize,
ULONG *NewImageBase,
ULONG TimeStamp
);
I'm only interested in ReBaseImage() which I have verified to be a drop
in replacement for the MS version.
Is the above interface acceptable?
> It means that
> a) we can switch between the implementations trivially if we need to
> in the future.
> b) I don't need to think :}.
Agreed.
> Your integration path simply continues (where are we at? ;}).
My progress has been slow and not steady. Sigh...
My plan is to release ASAP a stand-alone rebase based on Ralf's rebase
and relocation fix-up functionality and a new "-T" option (like tar's).
In this way, that Apache, Perl, Python, etc. users on all platforms
(including Me) can easily rebase there entire system with the following
batch file snippet:
gzip -d -c /etc/setup/*.lst.gz | grep "dll$" | grep -v cygwin1.dll |
sed "s/^/\//" | xargs -n 1 cygpath -wa >rebase.lst
rebase -d -b 0x68000000 -o 0x10000 -T rebase.lst
del rebase.lst
> For the library, while code internals won't be my problem per se :},
> it does need to:
> a) Cross compile (linux->win32, cygwin->win32)
I have verified the latter. I'm not set up for the former -- it would
be nice is someone who is could help me do so.
> b) standard compile (cygwin->cygwin).
I have verified this one too.
> c) be autoconfiscated to support the above 2 with maximum ease.
I will probably need help with the above or at least some pointers.
Thanks,
Jason
--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6