czar at czarc.net
Wed Jan 28 17:57:41 UTC 2004
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?
More information about the test