This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sparc-linux cross compilation issues from i586-linux


Hi,

I have had a number of problems with gcc-3.4.x not compiling sparc (v7)
code correctly. The area where it does not work correctly appears to be
mainly when 64bit integers are involved but there may be others as I get
some odd non-repeatable failures when running a modified linux kernel that
has a number of alterations to get around the 64bit integer issues
(varargs unsigned long long is not handled correctly).

Are there any patches for gcc-3.4.4 that fix sparc v7 64bit compilation
issues (and any other known sparc issues post gcc-3.4.4 release) ?

If I use gcc-4.0.2, the linux kernel does not work properly. I have not
identified the fault in the kernel but it is repeatable - the linker
generates a fatal kernel failure (BUG trap) and looks like a kernel build 
issue specific to gcc-4.0.x.

Are ther any sparc v7 specific alterations to gcc-4.0.2 that might
eleveate the issue ?

Checking the assembly from gcc-3.4.4 and gcc-4.0.2 for the linux kernel is
an option but due to the differences in the internal operation of the two
versions of the compiler, they do not produce the same assembly from the
same C source code so it will be very difficuld to say which is
correct/wrong. There is also a large amount of code to check on.

 The kernel is linux-2.6.14.2. Binutils is 2.16.1. I have also tried an
earlier binutils (2.15) but this had no noticible effect on the problems.

Regards
	Mark Fortescue.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]