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;

Reply via email to