When I start vim 7.1.175 on my alpha running freebsd, I see a bunch of unaligned accesses:
pid 74601 (vim): unaligned access: va=0x1202898cd pc=0x120057068 ra=0x120057044 op=ldl pid 74601 (vim): unaligned access: va=0x1202898cd pc=0x12005708c ra=0x12005707c op=ldl pid 74601 (vim): unaligned access: va=0x1202d406d pc=0x120057068 ra=0x120057044 op=ldl pid 74601 (vim): unaligned access: va=0x1202d406d pc=0x12005708c ra=0x12005707c op=ldl pid 74601 (vim): unaligned access: va=0x1202d428d pc=0x120057068 ra=0x120057044 op=ldl pid 74601 (vim): unaligned access: va=0x1202d428d pc=0x12005708c ra=0x12005707c op=ldl The following patch stops these messages. To be honest, I'm not sure I've got this right, as all I've done is expand the HI2DI a little. The goal I had with this patch was to be able to inspect the di value in gdb to see about its alignment. But I found that the simple expansion also stopped the unaligned accesses. Thoughts? Matthew --- src/eval.c.orig Sat Jan 5 09:33:04 2008 +++ src/eval.c Sat Jan 5 09:39:55 2008 @@ -3380,6 +3380,7 @@ char_u *name; int forceit; { + dictitem_T *di; hashtab_T *ht; hashitem_T *hi; char_u *varname; @@ -3390,9 +3391,10 @@ hi = hash_find(ht, varname); if (!HASHITEM_EMPTY(hi)) { - if (var_check_fixed(HI2DI(hi)->di_flags, name)) + di = HIKEY2DI(hi->hi_key); + if (var_check_fixed(di->di_flags, name)) return FAIL; - if (var_check_ro(HI2DI(hi)->di_flags, name)) + if (var_check_ro(di->di_flags, name)) return FAIL; delete_var(ht, hi); return OK; --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---