コンパイラのバグ?

#define IO_BASE (0x378)
  iop_resource = request_region(IO_BASE, 3, devname);
  if (iop_resource == NULL) {
        printk(KERN_ERR "io 0x%3lX, which is busy.\n", IO_BASE);
        return -EBUSY;
  }

  printk("pooh.. %s %lx %lx %lx\n",
        iop_resource->name,
        iop_resource->start, iop_resource->end,
        iop_resource->flags);

で,dmesgの出力が

[    0.000000] Linux version 2.6.27-2-server (buildd@palmer) (gcc version 4.3.2 (Ubuntu 4.3.2-0ubuntu1) ) #1 SMP Thu Aug 28 18:05:08 UTC 2008 (Ubuntu 2.6.27-2.3-server)
(snip)
[ 2083.602415] pooh.. irq_redirect 378 0 37a

どう考えても,endとflagsの内容が入れ違っているし.printkの仕様なのかしら…?