------- Comment #8 from bkoz at gcc dot gnu dot org  2006-09-21 20:24 -------

> I applied r116954 to 116942. 

Well, then it's still my patch or patches then. Sorry.

> It's still using linuxthreads.  Also because of the limitations
> of the ldcw semaphore instruction in PA 1.1, the atomic lock type
> is 16 bytes and there is a dynamic alignment calculation to
> select the aligned 4-byte object to use for the ldcw lock.  As
> a result, there are limitations on copying/moving lock objects
> that aren't present in other implementations.

Ah. This is interesting, thanks.

One thing you could try, to confirm that this is what's up, is to replace the
hppa atomics config with the generic pthreads layer.

Probably the best way to do this is to:

%mv config/cpu/hppa config/cpu/hppa.dis

blow away the build directory, and then rebuild.

During the rebuild, you should see this on the configure line:

...
configure: CPU config directory is cpu/generic
...
checking for thread model used by GCC... posix
checking for atomic builtins... no
...

To confirm, if you go into the freshly built libstdc++/src directory and

ls -al atomicity.cc

You should see it pointing to
config/cpu/generic/atomicity_mutex/atomicity.h

instead of the current 
config/cpu/hppa/atomicity.h

If you try this and run "make check-target-libstdc++-v3" and the testresults
are fine, then I can try to put in a hack for you that will bypass the current
(presumably flawed) hppa atomics config. Or, we can try to fix it to deal with
the limitations that are not present on the other linux cpu's.

best,
-benjamin


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29118

Reply via email to