From: Jack H. <ho...@br...> - 2009-08-31 19:48:20
|
On Mon, Aug 31, 2009 at 04:14:34PM -0300, monipol wrote: > On 31/08/2009, at 16:05, Alexander Hansen wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> Jack Howarth wrote: >>> Can someone help me to add a FAQ entry in... >>> >>> http://www.finkproject.org/faq/comp-general.php?phpLang=en >>> >>> concerning gcc error messages that are significant for >>> 64-bit code compilations? In particular we need to add >>> a question for... >>> >>> Q6.25: I get warnings "cast to pointer from integer of different >>> size" or >>> "initialization makes pointer from integer without a cast" when >>> compiling >>> at -m64. >>> >>> Errors of the form "cast to pointer from integer of different size" >>> and >>> "initialization makes pointer from integer without a cast" can cause >>> latent >>> bugs at -m64 since, if the size of the integer is greater than the >>> pointer, >>> unwanted sign extension could occur. For example... >>> >>> (unsigned long long)((void *)(0xdeadbeef))) >>> >>> could show the result as 0xffffffffdeadbeef instead of the intended >>> 0xdeadbeef. The fix is just to cast the pointer uintptr_t first so >>> that... >>> >>> if (xim_info->current_xics == (XContext) NULL) >>> >>> becomes... >>> >>> if (xim_info->current_xics == (XContext)(uintptr_t) NULL) >>> >>> to eliminate the incorrect cast and insure that the pointer is >>> correctly used. >> >> That could be done, sure. Though that seems to me more like something >> that maintainers might have a need for than casual users, the target >> audience of the FAQ. > > > How about creating a new document for maintainers, sort of a knowledge > base? It could use the same structure our FAQ document uses. > > > Cheers, > > -- > monipol > http://finkers.wordpress.com > > Submitting a Fink bug report? Read this: > http://www.finkproject.org/doc/netiquette/index.php > http://finkers.wordpress.com/2009/06/03/bug-reports/ Certainly there are some hints that I think could be quite useful for fink package stability. One I like to do is to build a package with the latest gcc4x compilers and -Wall as a test build. The newest FSF gcc has some really nice checks built in that will catch if an array subscript is indexed about the array bounds at compile time. Neat stuff that...it caught a bunch of those in the pymol source code (since fixed upstream after I reported them). Jack |