Idwer Vollering <[email protected]> writes:

> 2010/10/7 Stefan Reinauer <[email protected]>
>
>     On 10/6/10 2:27 PM, Idwer Vollering wrote:
>
>         2010/10/6 Uwe Hermann <[email protected]>
>
>             See patch.
>
>
>         Here is a fix for building on 32-bit platforms:
>
>         Index: src/northbridge/intel/i440bx/raminit.c
>         ===================================================================
>         --- src/northbridge/intel/i440bx/raminit.c      (revision 5917)
>         +++ src/northbridge/intel/i440bx/raminit.c      (working copy)
>         @@ -657,8 +657,8 @@
>          }
>
>          struct dimm_size {
>         -       unsigned long side1;
>         -       unsigned long side2;
>         +       uint32_t side1;
>         +       uint32_t side2;
>          };
>
>
>     What's that error?
>
>
> In file included from src/mainboard/asus/p2b/romstage.c:46:
> src/northbridge/intel/i440bx/raminit.c: In function ‘spd_get_dimm_size’:
> src/northbridge/intel/i440bx/raminit.c:717: error: format ‘%04x’ expects type
> ‘unsigned int’, but argument 3 has type ‘long unsigned int’
>  
>
>     It seems the above should be about the same on 32bit platforms, especially
>     it should be the same on 32bit platforms and 64bit platforms, since the
>     code is always compiled 32bit...
>     What did I miss?
>
>
> Should it be something else than uint32_t ? Plain int ?

%04lx?

uint32_t could be typedef'd to either unsigned long or unsigned on
a 32bit platform.  Using it is unlikely to deterministically solve
any printf format woes.

Eric

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to