On Tue, Jun 11, 2013 at 12:26 AM, Tony Luck <tony.luck@xxxxxxxxx> wrote: > On Sat, Jun 8, 2013 at 3:08 AM, Chen Gang <gang.chen@xxxxxxxxxxx> wrote: >> using 'unsigned int *', implicitly: >> ./ia64/include/asm/bitops.h:63:__set_bit (int nr, volatile void *addr) > > There is some downside on ia64 to your suggestion. If "addr" is properly > aligned for an "int", but misaligned for a long ... i.e. addr%8 == 4, then I'll > take an unaligned reference trap if I work with long* where the current code > working with int* does not. > > Now perhaps all the callers do guarantee long* alignment? But I don't know. > > Apart from uniformity, there doesn't see to be any upside to changing this. The address pointers have been supposed to be "long *" for a very long time. Probably alpha (the second official Linux platform) did it differently, and never standardized to "long *". Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html