This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problems bootstrapping mainline on cygwin: warning: ./cc1-checksum.o ./cc1obj-checksum.o ./cc1plus-checksum.o libgcc/_chkstk.o differ
- From: Danny Smith <danny_smith_0000 at yahoo dot co dot nz>
- To: christian dot joensson at gmail dot com
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Sun, 7 Aug 2005 20:12:47 +1200 (NZST)
- Subject: Re: Problems bootstrapping mainline on cygwin: warning: ./cc1-checksum.o ./cc1obj-checksum.o ./cc1plus-checksum.o libgcc/_chkstk.o differ
- Reply-to: dannysmith at users dot sourceforge dot net
Christian Joensson wrote
> I haven't bootstrapped gcc on cygwin for a while now... but, using gcc
> cvs trunk LAST_UPDATED: Fri Aug 5 09:05:37 UTC 2005, I get comparison
> warnings...:
> warning: ./cc1-checksum.o differs
> warning: ./cc1obj-checksum.o differs
> warning: ./cc1plus-checksum.o differs
ld inserts an 4 byte timestamp into the "Image File Header" (offset 4
bytes) of pe-coff executables. I believe that genchecksum.c takes that
into account at line 46:
/* Some executable formats have timestamps in the first 16 bytes, yuck. */
if (fseek (f, 16, SEEK_SET) != 0)
But ld also inserts a 4-byte checksum of its own further down, (offset
64 bytes into the Image Optional Header). Changes in timestamps between
stages will cause changes in the Optional Header checksums. GCC's
genchecksum doesn't take that into account.
I'd guess that the checksum diff for libgcc/_chkstk.o is due to
differences in the name of the preprocessor-generated temp *.s
assembly file in .stabstr section
Danny
Send instant messages to your online friends http://au.messenger.yahoo.com