[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