Do the cast warning messages I see when compiling previously 32 bit applications on the amd64 really mean all that much?
Now I understand that you do not want to store an 8 byte pointer into a 4 byte variable or get a 8 byte pointer from a 4 byte variable. If the code underlying the calls does the "right thing" (e.g., defines the actual storage space with something like "void *" or "long"), then is there really a problem underlying the cast warnings? That is, is it worth the pain to go fix things so that the cast messages do not occur?
I went to some effort to clean up nessus so building it had no cast messages. But was it worth it. As I am rebuilding some of the i386 updated packages on the amd64, I am seeing cast messages in existing packages that seem to work OK (e.g., ethereal).
So again, is it worth much effort to clean these up other than having clean (no warning) compiles. For example, you have a function which extracts something from an array/table and may return a pointer sometimes and other times an integer. If you know that when you call it in a certain manner it will return an integer, then what does the cast warning matter?