This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


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

Re: libstdc++-v3 won't build on AIX 4.1 any more (3.0 branch)


On May 18, 2001, David Edelsohn <dje@watson.ibm.com> wrote:

> 	Fine with me.
> 	What doesn't work on AIX 4.1?

Originally, it failed to build because os_include_dir was set to
config/os/generic, but there was no atomicity.h in there.  Then, Ben
suggested me to use config/cpu/powerpc, because the primitives we
needed were defined there.  Unfortunately, they used PowerPC-specific
opcodes, but since we compile the main multilib variant with
-mcpu=common, it failed to assemble.  Finally, I switched to using
config/cpu/generic, where there are fake implementations of the needed
functions, and it is working fine.

> fetch_and_add() does not exist?

No.  I had just failed to realize that config/os/aix/bits/atomicity.h
might work on AIX 4.1.  I've just verified that fetch_and_add() does
exist, so it's probably ok to use the AIX-specific atomicity.h on AIX
4.1, in which case this patch would work.  I'm testing it now.  Do we
want to use this, even though we don't support threads, or should I
just leave it at that?  I.e., ok to install, if this works?

Index: libstdc++-v3/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>
	* configure.target (ATOMICITYH): Actually use AIX-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.21
diff -u -p -r1.21 configure.target
--- libstdc++-v3/configure.target 2001/05/18 04:50:27 1.21
+++ libstdc++-v3/configure.target 2001/05/18 05:04:57
@@ -105,11 +105,11 @@ esac
 # THIS TABLE IS SORTED.  KEEP IT THAT WAY.
 
 case "${target}" in
-   *-*-aix4.[3456789]* | *-*-aix[56789]*)
-     ATOMICITYH=$os_include_dir
-     ;;
    *-*-aix*)
-     ATOMICITYH=config/cpu/generic
+     # We set os_include_dir to config/os/aix only on AIX 4.3 and
+     # newer, but config/os/aix/bits/atomicity.h works on earlier
+     # versions of AIX, so we explicitly duplicate the directory here.
+     ATOMICITYH="config/os/aix"
      ;;
    *-*-irix*)
      ATOMICITYH=$os_include_dir

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

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