Re: Removing -Wno-format from kernel makefiles, 3/16
On Wed, 3 Jul 2013, Mark Kettenis wrote: diff --git sys/arch/i386/i386/db_interface.c sys/arch/i386/i386/db_interface.c index 85c1ff5..c75fd89 100644 --- sys/arch/i386/i386/db_interface.c +++ sys/arch/i386/i386/db_interface.c @@ -197,11 +197,11 @@ db_sysregs_cmd(db_expr_t addr, int have_addr, db_expr_t count, char *modif) uint16_t ldtr, tr; __asm__ __volatile__(sidt %0 : =m (idtr)); - db_printf(idtr: 0x%08x/%04x\n, + db_printf(idtr: 0x%08x/%04llx\n, (unsigned int)(idtr 16), idtr 0x); __asm__ __volatile__(sgdt %0 : =m (gdtr)); - db_printf(gdtr: 0x%08x/%04x\n, + db_printf(gdtr: 0x%08x/%04llx\n, (unsigned int)(gdtr 16), gdtr 0x); This is a tad bit inconsistent. I'd either use %llx for both values and get rid of the cast, or use %x and use a cast in both cases. Like this? --- sys/arch/i386/i386/db_interface.c +++ sys/arch/i386/i386/db_interface.c @@ -197,12 +197,10 @@ db_sysregs_cmd(db_expr_t addr, int have_addr, db_expr_t count, char *modif) uint16_t ldtr, tr; __asm__ __volatile__(sidt %0 : =m (idtr)); - db_printf(idtr: 0x%08x/%04x\n, - (unsigned int)(idtr 16), idtr 0x); + db_printf(idtr: 0x%08llx/%04llx\n, idtr 16, idtr 0x); __asm__ __volatile__(sgdt %0 : =m (gdtr)); - db_printf(gdtr: 0x%08x/%04x\n, - (unsigned int)(gdtr 16), gdtr 0x); + db_printf(gdtr: 0x%08llx/%04llx\n, gdtr 16, gdtr 0x); __asm__ __volatile__(sldt %0 : =g (ldtr)); db_printf(ldtr: 0x%04x\n, ldtr);
Re: Removing -Wno-format from kernel makefiles, 3/16
Date: Thu, 4 Jul 2013 18:41:30 +0200 (CEST) From: Stefan Fritsch s...@sfritsch.de On Wed, 3 Jul 2013, Mark Kettenis wrote: diff --git sys/arch/i386/i386/db_interface.c sys/arch/i386/i386/db_interface.c index 85c1ff5..c75fd89 100644 --- sys/arch/i386/i386/db_interface.c +++ sys/arch/i386/i386/db_interface.c @@ -197,11 +197,11 @@ db_sysregs_cmd(db_expr_t addr, int have_addr, db_expr_t count, char *modif) uint16_t ldtr, tr; __asm__ __volatile__(sidt %0 : =m (idtr)); - db_printf(idtr: 0x%08x/%04x\n, + db_printf(idtr: 0x%08x/%04llx\n, (unsigned int)(idtr 16), idtr 0x); __asm__ __volatile__(sgdt %0 : =m (gdtr)); - db_printf(gdtr: 0x%08x/%04x\n, + db_printf(gdtr: 0x%08x/%04llx\n, (unsigned int)(gdtr 16), gdtr 0x); This is a tad bit inconsistent. I'd either use %llx for both values and get rid of the cast, or use %x and use a cast in both cases. Like this? ok kettenis@ --- sys/arch/i386/i386/db_interface.c +++ sys/arch/i386/i386/db_interface.c @@ -197,12 +197,10 @@ db_sysregs_cmd(db_expr_t addr, int have_addr, db_expr_t count, char *modif) uint16_t ldtr, tr; __asm__ __volatile__(sidt %0 : =m (idtr)); - db_printf(idtr: 0x%08x/%04x\n, - (unsigned int)(idtr 16), idtr 0x); + db_printf(idtr: 0x%08llx/%04llx\n, idtr 16, idtr 0x); __asm__ __volatile__(sgdt %0 : =m (gdtr)); - db_printf(gdtr: 0x%08x/%04x\n, - (unsigned int)(gdtr 16), gdtr 0x); + db_printf(gdtr: 0x%08llx/%04llx\n, gdtr 16, gdtr 0x); __asm__ __volatile__(sldt %0 : =g (ldtr)); db_printf(ldtr: 0x%04x\n, ldtr);