I am currently working on a debugging project. We have a C program that, long story short, takes some financial figures, performs some arithmetic on them, and outputs them into another file.
This program worked perfectly for years. However, after a recent HP Server upgrade to a box running an Itanium(R) processor and a software upgrade to the HP-UX B.11.23 U ia64 operating system, some of the values being printed out were being "pushed" to the right by one place and zeroes added on the left, while the values that were originally at the farthest to the right were being truncated. (i.e. 123456 became 012345)
This only occurs when the C source code is compiled on the new machine (using the HP aC++/C A.05.50 compiler). The old executables (which were compiled previously on the old hardware and software) still work perfectly.
Any ideas you may have will be very helpful. This has stumped us since March.