This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC 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]

Re: bootstrap/7882: HP bootstrap failure when building on PA 2.0 for PA 1.1


The following reply was made to PR bootstrap/7882; it has been noted by GNATS.

From: Jeff Law <law@porcupine.slc.redhat.com>
To: Dave Cuthbert <dacut@neolinear.com>
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: bootstrap/7882: HP bootstrap failure when building on PA 2.0 for 
 PA 1.1
Date: Tue, 10 Sep 2002 12:13:11 -0600

 In message <3D7E3158.3020602@neolinear.com>, Dave Cuthbert writes:
  >Jeff Law wrote:
  >> Note that the PA port generates PA1.1 code unless you explicitly ask for
  >> PA2.0 code via the -mpa-risc-2-0 runtime switch.
  >> 
  >> So you really shouldn't need to do anything special to generate PA1.1 code,
  >> and in fact, by trying to do something special (configure for hppa1.1-hpux)
  >> you've confused the compiler into thinking it's building cross tools which
  >> is the root cause of your link time failures.
  >
  >Ah, thanks for this info.
  >
  >We got burned by the HP compiler here (we have PA2.0 machines only, and 
  >one of our beta releases failed at a customer site which had PA1.1 
  >machines), so I was being paranoid.
 No problem.  We've discussed changing the behavior of GCC in this regard
 in the future, but we haven't made any changes yet.
 
 In the future (assuming we eventually changes how GCC works), the way
 to get the behavior you want will be very similar to what you tried.
 
 You used "hppa1.1-hpux" as your configure target.  Instead what you'd want
 to do is first run config.guess (included in the GCC sources).  That will
 tell you what GCC thinks your system is.  It'd report back something like
 this:
 
 hppa2.0w-hp-hpux11.00
 
 Then substitute "hppa1.1" for "hppa2.0w" (or whatever appeared before the
 first "-").
 
 This does two important things:
 
   1. "hpux" is a generic term, and I believe in the absence of an OS version
      GCC defaults to hpux8 or something horribly old like that.  There are
      important differences between hpux8 and modern HP systems.
 
      By using the output of config.guess to get the OS version you'll
      be sure to pick up the right configuration for your OS version.
 
   2. By using the output of config.guess to get the OS version, you'll
      also ensure that GCC's notion of build, host and target OS versions
      are the same.  That should prevent it from thinking it's building
      a cross compiler.  When configured as a cross compiler, all kinds of
      fun stuff happens (like you won't get to use the include files in
      /usr/include, system libraries, etc etc etc).
 
 Jeff
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]