We need to port and upgrade an existing gpc application from 32 to 64 bit Linux. (If you fly anywhere within/to/from North America your flight is indirectly affected - airport delays, etc. - by this application.) Naturally 64 bit gpc is our first choice for this task.
However when I compile the simplest possible "hello world" on RHEL 5.4 (a fedora variant) I always get the following assembler errors:
Error: suffix or operands invalid for "push" Error: suffix or operands invalid for "pop"
Does anyone know what is causing these errors - and/or a fix for them?
Background:
The development system does NOT have gcc installed (since gcc cannot be installed on the machines that will be running our application). On the dev system I installed the 2002 gpc BINARY (the "gpc-2.1-with-gcc.i686-pc-linux-gnu.tar.gz" file) from the gnu-pascal.de/binary/ web page. I also tried the 20070904 Linux binary downloaded from brandeis.edu and got exactly the same results.
Both downloads are i686 versions. Will these versions work on x68_64 Linux variants? If not what version of GPC should I be using for XEON based systems? 32-bit i586? Or - and as the very, very last resort - should I install gcc 3.4.6 and, heaven help me, attempt to compile GPC from source code?
For more details (including results from "gpc -v") see my original post of 2008-10-12 entitled "RE: hello world causes Linux assembler errors".
Thanks.
John Morton NavCanada Technical Services Centre 280 Hunt Club Road, Ottawa, Ont, Canada K1V 1C1 (613) 248-7184, mortonj@navcanada.ca