This is the mail archive of the gcc@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]

Re: current hpux status


[continuing from earlier]

> >David> Thank you very much :) The config/rs6000 assumes at the
> >moment that
> >David> all platforms support shared libs, so I feel confident
> >that I've chosen
> >David> a valid solution.  (If there's ever a 2.95.4, I may
> >even submit a patch! :)
> >
> > Huh?!  What do you mean by "all platoforms support shared libs".
> >To what platforms are you referring?  Your statement is very ambiguous.
>
>   I meant all rs6000 based platforms; my comment is based on a memory of
> reading a ChangeLog entry (rth, perhaps?) saying that all the t- files
> were changed to use -mrelocatable when building gcc.  However this was
off
> the top of my head and may be inaccurate; so perhaps I merely needed to
> select a different t- file rather than add one; I am about to miss my
bus
> home after work and will finish this reply in more detail later!!!

  Right, having looked up the FSFChangeLog.11, the patch I was
misremembering is
----------------
Tue Aug 13 11:36:02 1996 Michael Meissner <meissner@tiktok.cygnus.com>
 [snips]
* rs6000/t-ppcgas (MULTILIB_*): Build far fewer multilib
libraries. Build all libraries with -mrelocatable-lib and
-mno-eabi. Build special GNU/Linux and Solaris libraries.
* rs6000/eabi{,aix,le}.h (MULTILIB_DEFAULTS): Adapt to changes in
t-ppcgas.
* rs6000/(linux,sol2,sysv4,sysv4le).h (MULTILIB_DEFAULTS): Likewise.
----------------
  so I reckon the 'all' got detached from the concept 'libraries' and
mistakenly attached to the concept 'targets' in my memory.  Or perhaps I
misunderstood the second two comments (which seem to refer to more or less
all rs6000 derived targets) as meaning that they were adapted to use
t-ppcgas with it's new 'all libs relocatable'.  Sorry for the shock.
Anyway, the point was that I needed libgcc built non-relocatable, so I
created t-ppcgas-nonpic which is a copy of t-ppcgas but with the
mrelocatable flag removed, and patched the powerc-wrs-vxworks case in the
switch in config.in that selects the target files to choose
t-ppcgas-nonpic instead of t-ppcgas.  I imagine someone will tell me that
there's a target macro I should have used instead, but although mildly
wasteful I knew that my solution was at least guaranteed safe (couldn't
damage other targets) and would work correctly.

$ diff t-ppcgas t-ppcgas-nonpic
12c12
< MULTILIB_EXTRA_OPTS   = mrelocatable-lib mno-eabi mstrict-align
---
> MULTILIB_EXTRA_OPTS   = mno-eabi mstrict-align

  Maybe I should have called it t-ppcgas-vx, since that's what I made it
for, and vxworks has no use for most of the multilibs (doesn't support le,
ca or lin, but very much does need nof), so I could specialise it even
more.  Or perhaps I should just have patched config.in to select t-ppc,
which does the right thing (modulo not specifying an endian flag, but I
believe I could allow the specs file to default to -mbig), albeit for the
wrong reason?

       DaveK




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