On 10/8/08, Martin Guy <[EMAIL PROTECTED]> wrote:
> Er, hold that - the patch is duff because modifies Makefile, not
>  Makefile.in so gets overwritten in a new extract/build cycle

Ok - here's the version that makes the same patch to Makefile.in
instead, assiduously rebuild from scratch on arm-sid armel-sid and
even arm-etch for good measure. Ahhhh, a working netwatch everywhere
:)

>  There's also an alignment bug in showtraf - put that on hold...

There was an alignment bug in etch but that has already gone in lenny.
It was segfaulting in my lenny build because it was getting linked
with slcurses instead of ncurses. slcurses.h presence overrider
ncurses presence during configure, and using slcurses gives a trafshow
that segfaults.You might also like to add
   Build-Conflicts: libslang2-dev
to debian/control to save other suckers like me from getting a duff
build by mistake (libslang2-dev is pulled in by libaa-dev and ohers,
so is not uncommon on development systems)

Cheers

    M
--- netdiag-1.0-orig/netwatch-1.0c/Makefile.in	2008-10-08 18:33:22.000000000 +0100
+++ netdiag-1.0/netwatch-1.0c/Makefile.in	2008-10-08 19:42:46.000000000 +0100
@@ -34,6 +34,10 @@
 clean:
 	rm -f *~ *.o $(EXEC) config.h config.cache config.log config.status 
 
+# work round ARM GCC bug: builtin memcpy gets alignment wrong.
+netwatch.o: netwatch.c
+	$(CC) $(XCFLAGS) -c $(OLDLINUX) -fno-builtin-memcpy $<
+
 .c.o:
 	$(CC) $(XCFLAGS) -c $(OLDLINUX) $<
 
--- netdiag-1.0-orig/netwatch-1.0c/netwatch.c	2008-10-08 18:33:22.000000000 +0100
+++ netdiag-1.0/netwatch-1.0c/netwatch.c	2008-10-08 18:19:08.000000000 +0100
@@ -2483,7 +2483,7 @@
 int
    tlocal (u_int32_t * addr)
    {
-      static unsigned char lhost[] = {  127, 0, 0, 1  };
+      static unsigned char __attribute__((aligned(32))) lhost[] = {  127, 0, 0, 1  };
       u_int32_t *k = (u_int32_t *) netmask;
       u_int32_t reslocal, restest;
       if (*addr == *(u_int32_t *) lhost)

Reply via email to