>Number:         7061
>Category:       xsrc
>Synopsis:       alpha Xserver: Interface config error and unaligned accesses
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 28 02:20:01 1999
>Last-Modified:
>Originator:     
>Organization:
>Release:        NetBSD-current
>Environment:
NetBSD alpha
>Description:
                                     The NetBSD Alpha Xserver fails to get interface configuration
                                     and causes unaligned accesses in the function DefineSelf in
                                     xsrc/xc/programs/Xserver/os/access.c.

                             Getting interface configuration (4): Device not configured
                             pid 11883 (XalphaNetBSD): unaligned access: va=0x1fffff10f pc=0x12006e7b4 ra=0x1
                             2006e7dc op=ldl
                             pid 11883 (XalphaNetBSD): unaligned access: va=0x1fffff10f pc=0x12006eb50 ra=0x1
                             2006e7dc op=ldl
                             pid 11883 (XalphaNetBSD): unaligned access: va=0x1fffff12f pc=0x12006e7b4 ra=0x1
                             2006e7dc op=ldl
                             pid 11883 (XalphaNetBSD): unaligned access: va=0x1fffff12f pc=0x12006eb50 ra=0x1
                             2006e7dc op=ldl
                             pid 11883 (XalphaNetBSD): unaligned access: va=0x1fffff14f pc=0x12006e7b4 ra=0x1
                             2006e7dc op=ldl
                             ... repeat over and over ...

                                     Other problems still exist for -current with this Xserver...  but
                                     the following fix reduces the noise.
                                     More fixes to come...  mi wscons input module work in progress.

                             >How-To-Repeat:
                                     Build alpha Xserver...  run it...  watch it fail in multiple ways.
                             >Fix:

                             Fix for access.c: give ioctl the unsigned long it's expecting.

                             --- access.c.original   Thu Jan 21 07:54:29 1999
                             +++ access.c    Sun Feb 28 04:27:42 1999
                             @@ -666,7 +666,7 @@
                              #endif
                                  ifc.ifc_len = sizeof (buf);
                                  ifc.ifc_buf = buf;
                             -    if (ifioctl (fd, (int) SIOCGIFCONF, (pointer) &ifc) < 0)
                             +    if (ifioctl (fd, SIOCGIFCONF, (pointer) &ifc) < 0)
                                      Error ("Getting interface configuration (4)");
                              
                              #ifdef ISC
                             >Audit-Trail:
                             >Unformatted: