[pkg-gnupg-maint] Bug#822343: Bug#822343: libgpg-error0_1.21-3: Breaks cmake, openssh, etc on hppa

John David Anglin dave.anglin at bell.net
Mon Apr 25 11:45:57 UTC 2016


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.anglin at bell.net



More information about the pkg-gnupg-maint mailing list