Idwer Vollering vidwer@gmail.com writes:
2010/10/7 Stefan Reinauer stefan.reinauer@coresystems.de
On 10/6/10 2:27 PM, Idwer Vollering wrote: 2010/10/6 Uwe Hermann <uwe@hermann-uwe.de> 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