This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++-v3 won't build on AIX 4.1 any more (3.0 branch)
- To: Alexandre Oliva <aoliva at redhat dot com>
- Subject: Re: libstdc++-v3 won't build on AIX 4.1 any more (3.0 branch)
- From: Benjamin Kosnik <bkoz at redhat dot com>
- Date: Thu, 17 May 2001 20:42:47 -0700 (PDT)
- cc: libstdc++ at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
Oh damn. Talk to david edelson. This came up before. AIX and IRIX use
kernel or os headers for atomicity.h, not cpu-specific ones. That's
probably where the os vs. cpu confusion comes in WRT the configure process.
The current os/aix/bits/atomicity.h only works for 4.3. AIX 4.1 should
probably punt to cpu/generic/bits/atomicity.h.
You can't use cpu-specific atomicity.h files for AIX. Some of the
machines are POWER, not POWERPC and thus missing opcodes for the inline
asm for powerpc. Also, they want it that way. And, david paid me off with
one of those cool flat pannel monitors that IBM has stacked up outside
his office, and threatened to sic Mark Mitchell on me unless I figured
out how to do it his way.
Sorry.
-benjamin
On 17 May 2001, Alexandre Oliva wrote:
> On May 17, 2001, Alexandre Oliva <aoliva@redhat.com> wrote:
>
> I've just realized that I had failed to post this to gcc-patches.
> Oops.
>
> > Index: libstdc++-v3/ChangeLog
> > from Alexandre Oliva <aoliva@redhat.com>
>
> > * configure.target (ATOMICITYH): Don't use AIX 4.3-specific code
> > on earlier versions of AIX.
>
> > Index: libstdc++-v3/configure.target
> > ===================================================================
> > RCS file: /cvs/gcc/egcs/libstdc++-v3/configure.target,v
> > retrieving revision 1.19
> > diff -u -p -r1.19 configure.target
> > --- libstdc++-v3/configure.target 2001/05/13 22:17:11 1.19
> > +++ libstdc++-v3/configure.target 2001/05/17 22:22:04
> > @@ -105,7 +105,7 @@ esac
> > # THIS TABLE IS SORTED. KEEP IT THAT WAY.
>
> > case "${target}" in
> > - *-*-aix*)
> > + *-*-aix4.[3456789]* | *-*-aix[56789]*)
> > ATOMICITYH=$os_include_dir
> > ;;
> > *-*-irix*)
>
> Anyway, this was not enough to get AIX 4.1.5 to build again. Now the
> assembler (GNU as from current CVS) complains:
>
> /tmp/cckjmKfs.s:651: Error: Unrecognized opcode: `lwarx'
> /tmp/cckjmKfs.s:653: Error: Unrecognized opcode: `stwcx.'
>
> These opcodes are indeed used in config/cpu/powerpc/bits/atomicity.h,
> but they aren't available in the common subset of ppc instructions, as
> required by the -mcom flag passed to the assembler by GCC in this
> configuration. Unfortunately, I'm totally unfamiliar with PPC
> assembly, but I see the same instructions are used for test_and_set in
> boehm-gc. Is it hopeless?
>
> --
> Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
> Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
> CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
> Free Software Evangelist *Please* write to mailing lists, not to me
>