Finally found the time to sit down with a sparc box and work through
this. NMU diff attached.

-- 
Steve McIntyre, Cambridge, UK.                                st...@einval.com
  Mature Sporty Personal
  More Innovation More Adult
  A Man in Dandism
  Powered Midship Specialty
diff -u jfsutils-1.1.12/debian/changelog jfsutils-1.1.12/debian/changelog
--- jfsutils-1.1.12/debian/changelog
+++ jfsutils-1.1.12/debian/changelog
@@ -1,3 +1,10 @@
+jfsutils (1.1.12-2.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix alignment problem causing SIGBUS on sparc. Closes: #499078
+
+ -- Steve McIntyre <93...@debian.org>  Sun, 29 Nov 2009 19:16:16 +0000
+
 jfsutils (1.1.12-2) unstable; urgency=low
 
   * use different linking parameter on alpha to avoid FTBFS (Closes: #490881)
only in patch2:
unchanged:
--- jfsutils-1.1.12.orig/libfs/log_work.c
+++ jfsutils-1.1.12/libfs/log_work.c
@@ -2416,6 +2416,7 @@
 	int32_t xlen, xlength;
 	int16_t nword;
 	int8_t upd_possible = 0;
+	struct dinode dip_local; /* Local copy of dinode data for alignment purposes */
 
 	if (ld->length <= 0)
 		return (0);
@@ -2713,7 +2714,8 @@
 			 */
 
 			if (ino_rem == 0) {	/* inode base segment  */
-				dip = (struct dinode *) data;
+			  	memcpy(&dip_local, data, size_dinode);
+				dip = &dip_local;
 				if (ln == 1) {
 					/* ibase only */
 					if (db->db_ibase & mask_8)

Reply via email to