Re: Removing -Wno-format from kernel makefiles, 3/16

2013-07-04 Thread Stefan Fritsch
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

2013-07-04 Thread Mark Kettenis
 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);