On 4-Aug-14, at 9:14 PM, Daniel Kahn Gillmor wrote:
earlier today (before i got this report) i uploaded 1.13-0.4, which
includes a patch that includes a pre-built
src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
it sounds like you're saying that we will need -0.5 with your patch
applied as well as the alignment line added to the above
lock-obj-pub.hppa-unknown-linux-gnu.h -- is that right?
Attached is an updated patch which also patches
src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h.
Tried to clean it up a bit but it modifies the result of the
pre-built-lock-obj.patch patch.
i'm tempted to let the hppa buildd build 1.13-0.4 to get the failure
message from the pre-built header, before uploading -0.5. Does that
seem reasonable?
The build failure was the same as before:
http://buildd.debian-ports.org/status/fetch.php?pkg=libgpg-error&arch=hppa&ver=1.13-0.4&stamp=1407224190
Dave
--
John David Anglin [email protected]
Description: Use 16-byte struct alignment on hppa
On hppa-linux, the pthread_mutex_t type has 16-byte alignment due
to the alignment specified for the first field. As a result, we
need 16-byte alignment for the "u" union in the gpgrt_lock_t type.
.
libgpg-error (1.13-0.4) unstable; urgency=medium
.
* NMU
* include arch-specific lock-obj code as accepted by upstream (another
step toward dealing with #753047)
Author: Daniel Kahn Gillmor <[email protected]>
---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>
--- libgpg-error-1.13.orig/src/gen-posix-lock-obj.c
+++ libgpg-error-1.13/src/gen-posix-lock-obj.c
@@ -75,7 +75,11 @@ main (void)
" long _vers;\n"
" union {\n"
" volatile char _priv[%d];\n"
+#if defined(__hppa__) && defined(__linux__)
+ " long _x_align __attribute__ ((aligned(16)));\n"
+#else
" long _x_align;\n"
+#endif
" long *_xp_align;\n"
" } u;\n"
"} gpgrt_lock_t;\n"
--- libgpg-error-1.13.orig/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
+++ libgpg-error-1.13/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
@@ -7,7 +7,7 @@ typedef struct
long _vers;
union {
volatile char _priv[48];
- long _x_align;
+ long _x_align __attribute__ ((aligned(16)));
long *_xp_align;
} u;
} gpgrt_lock_t;