[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: etch --> lenny upgrade report on Alpha platform



Bother, meant to reply to list. Trying again.

Jay Estabrook wrote:
> OK, here are the patches I mentioned, plus one. You may already
> have some, or may not need some, but for completeness:
>
> 1. dbus-alpha-unaligned.patch
>      force gcc to generate proper code; it normally assumes
>      structures are aligned.
> 2. hal-0.5.10-cache-alignment.patch
>      force proper alignment of elements larger than 32 bits

Has anyone tried these patches? I managed to apply the dbus patch to debian dbus-1.2.1-3 and dbus's unaligned trap verbiage has been tamed. Nice. But hald has decided, presumably because of the silence due to dbus's absence:-/, to let fly with tons of unaligned trap messages. But I can't the hal patch to apply cleanly to debian hal 0.5.11-3. Hal, at line 175, module hald/create_cache.c has:

#define ROUND(len,align) ((len + align - 1) & -align)
#define ROUND32(len) ROUND(len, 4)
#define RULES_ROUND(off) ROUND(off, __alignof__(struct rule))

whereas the patch, hunk 1, has:

-#define ROUND32(len) ((len + 3) & ~0x03)
+#define SZ  (sizeof(size_t))
+#define SZM (SZ - 1)
+#define ROUNDXX(len) ((len + SZM) & ~SZM)

which fails to match because of the ROUND() and the RULES_ROUND() lines which the patch is not expecting. Other hunks also fail because of the use of RULES_ROUND() at places the patch is not expecting.

To apply the patch is going to need some editing of the code/patch. If I was feeling brave I would give it a go, but wondered if anyone has already got a solution?

Michael.


Reply to: