public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* HP Catch 22
@ 1997-11-06 22:23 Aaron Jackson
  1997-11-06 23:21 ` Jeffrey A Law
  0 siblings, 1 reply; 3+ messages in thread
From: Aaron Jackson @ 1997-11-06 22:23 UTC (permalink / raw)
  To: egcs

On my second attempt to build egcs, I thought I would just build the egcs
core 971105 snapshot. The build finished, but gave a Bootstrap
comparison failure.  It would appear that all of the object files
differ (see below).  Is this a problem, as I remember from the gcc
readme that some systems fail during 'make compare'.  Which brings me to
the catch 22.  Duiring the build, the compiler was constantly issuing
warnings of the form:

cc1: warning: -g is only supported when using GAS on this processor,
cc1: warning: -g option disabled. 

I tried to build gas with no luck at all. A './configure ' gave me the
warning:

Configuring for a hppa1.1-hp-hpux10.01 host.
*** This configuration is not supported in the following subdirectories:
    ld
    (Any other directories should still work fine.)
and a 'make' gave me an error 1 stop.  Anyway, I'm going to remove all g
flags and try again to see if that makes a difference (at least it will
quiet the compiler!).

Aaron Jackson		jackson@msrce.howard.edu

Bootstrap comparison failure!
alias.o differs
alloca.o differs
bc-emit.o differs
bc-optab.o differs
bi-arity.o differs

...110 lines or so...

tree.o differs
underscore.o differs
unprotoize.o differs
unroll.o differs
varasm.o differs
version.o differs
xcoffout.o differs
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: HP Catch 22
  1997-11-06 22:23 HP Catch 22 Aaron Jackson
@ 1997-11-06 23:21 ` Jeffrey A Law
  0 siblings, 0 replies; 3+ messages in thread
From: Jeffrey A Law @ 1997-11-06 23:21 UTC (permalink / raw)
  To: Aaron Jackson; +Cc: egcs

I don't know why you're having so many problems; I actually do all my
development on PAs, so it really does work.

Let's not worry about gas/binutils now.  Let's first find out why you
got a bootstrap failure using the HP assembler.  This is supposed to
work, if it doesn't that indicates a bug somewhere that needs to be
fixed.

So, do you still have those build directories lying around (with the
comparison failure)?  If not, can you recreate them?

jeff


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: HP Catch 22
       [not found] <9711072226.AA21314@negril.msrce.howard.edu>
@ 1997-11-07 16:56 ` Jeffrey A Law
  0 siblings, 0 replies; 3+ messages in thread
From: Jeffrey A Law @ 1997-11-07 16:56 UTC (permalink / raw)
  To: Aaron Jackson; +Cc: egcs

  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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1997-11-07 16:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-11-06 22:23 HP Catch 22 Aaron Jackson
1997-11-06 23:21 ` Jeffrey A Law
     [not found] <9711072226.AA21314@negril.msrce.howard.edu>
1997-11-07 16:56 ` Jeffrey A Law

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).