From: Jeffrey A Law <law@cygnus.com>
To: Aaron Jackson <jackson@negril.msrce.howard.edu>
Cc: egcs@cygnus.com
Subject: Re: HP Catch 22
Date: Fri, 07 Nov 1997 16:56:00 -0000 [thread overview]
Message-ID: <3103.878950688@hurl.cygnus.com> (raw)
In-Reply-To: <9711072226.AA21314@negril.msrce.howard.edu>
In message <9711072226.AA21314@negril.msrce.howard.edu>you write:
> Here are the second and third stage regmove.o files. Let me know if you
> you need anything else.
Thanks.
Here's the differences between the two files:
[law@chunks /puke/law/tmp/hp] cmp -l s2regmove.o s3regmove.o
11623 257 265
11624 56 172
11631 257 265
11632 56 171
The file header looks something like this:
$5 = {system_id = 528, a_magic = 262, version_id = 87102412, file_time = {
secs = 0, nanosecs = 0}, entry_space = 0, entry_subspace = 0,
entry_offset = 0, aux_header_location = 11588, aux_header_size = 12,
som_length = 21300, presumed_dp = 0, space_location = 11224,
space_total = 2, subspace_location = 11296, subspace_total = 5,
loader_fixup_location = 11496, loader_fixup_total = 0,
space_strings_location = 11496, space_strings_size = 92,
init_array_location = 0, init_array_total = 0, compiler_location = 11600,
compiler_total = 1, symbol_location = 12156, symbol_total = 274,
fixup_request_location = 11636, fixup_request_total = 518,
symbol_strings_location = 17636, symbol_strings_size = 3664,
unloadable_sp_location = 11636, unloadable_sp_size = 0, checksum = 119611544}
Of particular interest is the "compiler_location" field, which is an offset
from the beginning of the file to a structure containing information about
the compiler/assembler that was used to generate the object file.
The structure it points to is something like this:
struct compilation_unit {
union name_pt name;
union name_pt language_name;
union name_pt product_id;
union name_pt version_id;
unsigned int reserved : 31;
unsigned int chunk_flag : 1;
struct sys_clock compile_time;
struct sys_clock source_time;
};
The last two should sound lots of warning bells.
Each "union name_pt" is 4 bytes, and the two unsigned int fields are
another 4 bytes.
So the differences are in the low two bytes of the timestamps.
Sigh. It appears as if HP assembler has started putting timestamps
in the middle of files. I don't see any easy way to fix this problem.
(If the timestamps were at the start of the file -- like they were in
the past -- we could just compare the "tail" of the two files...)
So, odds are your compiler is fine. Phew...
Of course, if you use GAS you won't run into this problem, so the
next step is to figure out why gas didn't build for you. Can you
send me the output from when you tried to build it?
jeff
next parent reply other threads:[~1997-11-07 16:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <9711072226.AA21314@negril.msrce.howard.edu>
1997-11-07 16:56 ` Jeffrey A Law [this message]
1997-11-06 22:23 Aaron Jackson
1997-11-06 23:21 ` Jeffrey A Law
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3103.878950688@hurl.cygnus.com \
--to=law@cygnus.com \
--cc=egcs@cygnus.com \
--cc=jackson@negril.msrce.howard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).