On 2016-04-24, at 11:17 PM, NIIBE Yutaka wrote:

> On 04/25/2016 04:48 AM, John David Anglin wrote:
>> On 2016-04-24, at 12:57 PM, John David Anglin wrote:
>> 
>>> It looks like this was introduced by the following change:
>>> 
>>> diff --git 
>>> a/debian/patches/0006-fix-Solaris-and-HPPA-this-is-a-collection-of-upstrea.patch
>>>  
>>> b/debian/patches/0006-fix-Solaris-and-HPPA-this-is-a-collection-of-upstrea.patch
>>> new file mode 100644
>>> index 0000000..54ae9a1
>>> --- /dev/null
>>> +++ 
>>> b/debian/patches/0006-fix-Solaris-and-HPPA-this-is-a-collection-of-upstrea.patch
>> 
>> Reverting this change fixes bug.  My sense is the alignment of the lock 
>> object cannot be reduced from
>> 16 to 8 bytes without breaking packages.
> 
> My fix for 757060 was wrong.
> 
> I considered that the object size were 8-byte, but it is *16*-byte.
> My intention was incorporating the patch for HPPA, but I did it
> wrongly.  I wanted to remove the GCC feature for alignment.  Are there
> any C object of quadword (128-bit) for HPPA arch?


Long double has 16-byte alignment on hppa-hpux but 8-byte alignment on other 
hppa targets.  At
one time, HP thought they would add quadword long double hardware support in 
hardware but it
never happened.  There are no other C objects with 16-byte alignment on hppa, 
so one is stuck
using the gcc attribute on non hpux hppa targets.

On hppa-linux, I believe it would be possible to now use the default size for 
this object.  I think the
16-byte alignment stems from the original pthread implementation that used a 
16-byte lock.  However,
it didn't need 16-byte alignment.  The ldcw instruction requires 16-byte 
alignment in PA 1.X.  This
is the only operation on hppa that needs 16-byte alignment.

The lock was changed to int with nptl.  However, it looks like a new library 
version would be needed to make
this change so existing code doesn't break.

The atomic support in glibc and gcc for linux now use a kernel helper to avoid 
the deadlock problems
that can occur in userspace.

Dave
--
John David Anglin       dave.ang...@bell.net

Reply via email to