Back in september, there was a message about a fix to romcc for AMD64, which would cure the error:
/tmp/ccLriZXb.s:243: Error: Incorrect register `%rdx' used with `l' suffix
As it happens, I'm getting that error building arima/hdama from an Opteron (it was suggested as a good starting point for a working prom that I could branch off from). It looks like the code in romcc has changed enough that the fix doesn't directly apply, and there was some doubt as to whether that was the necessary fix. Is there something else I should be doing to avoid this error?
For the record, my versions of gcc, as and linux:
wgs94-112% gcc -v Reading specs from /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=x86_64-redhat-linux Thread model: posix gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-20)
wgs94-112% as -v GNU assembler version 2.14.90.0.4 (x86_64-redhat-linux) using BFD version 2.14.90.0.4 20030523
wgs94-112% uname -a Linux wgs94-112 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:32:58 EDT 2003 x86_64 x86_64 x86_64 GNU/Linux
Tarl Neustaedter Tarl.Neustaedter@sun.com writes:
Back in september, there was a message about a fix to romcc for AMD64, which would cure the error:
-m32 if you are compiling on a 64bit system. I think that is the problem.
So far LinuxBIOS is 32bit, and this is certainly a 32bit versus 64bit issue. I don't recognize the symptoms.
/tmp/ccLriZXb.s:243: Error: Incorrect register `%rdx' used with `l' suffix
As it happens, I'm getting that error building arima/hdama from an Opteron (it was suggested as a good starting point for a working prom that I could branch off from). It looks like the code in romcc has changed enough that the fix doesn't directly apply, and there was some doubt as to whether that was the necessary fix. Is there something else I should be doing to avoid this error?
The filenames are wrong for this to be something generated with romcc. romcc is just for the code that runs before we have memory. Keeping everything in registers is a pain, but it is very convenient to be able to do it all in C.
Eric
* Tarl Neustaedter Tarl.Neustaedter@sun.com [040205 01:45]:
As it happens, I'm getting that error building arima/hdama from an Opteron (it was suggested as a good starting point for a working prom that I could branch off from). It looks like the code in romcc has changed enough that the fix doesn't directly apply, and there was some doubt as to whether that was the necessary fix. Is there something else I should be doing to avoid this error?
If you add the following two lines to your target Makefile it should work: uses CC option CC="gcc -m32" Building a 64bit image is not (yet) supported, LinuxBIOS/AMD64 is 32bit.
Best regards, Stefan Reinauer