|
Message
From: Scott Furman<sfurman@r...>
Date: Tue Jan 27 22:24:59 CET 2004
Subject: [openrisc] gcc-3.2.3 bugs after merge
James Morrison wrote:> I agree with this. However, for the UC version why don't we try to get >this merged into gcc. For this to happen anyone who has commited more >than about 10 lines of code to the port will need to get a copyright >assignment from the FSF. If the previous step is possible, we could then >merge our code into gcc mainline and backport it to the 3.4 branch. > > Before we do this, I think we really need to revisit the idea of changing the current ABI for at least a few reasons:
* Last I looked, the UC port of gcc 3.4 defines the caller-saved and callee-saved regs differently than the OC versions. This will render hand-written assembly code unusable when calling functions compiled with that version of gcc. (I believe the reason for this mismatch is that there was an agreement last year to change the OR architecture manual to reflect the OC gcc 3.1 implementation, but it never happened. Then the UC guys followed the (outdated) architecture manual for their gcc 3.4 port.) * The old-fashioned PCC-style struct return currently used (in all OR gcc ports) is not thread-safe. (The compiler allocates memory for return of a struct or 64-bit value in the data segment rather than having the caller allocate the memory on the stack.) * Passing 64-bit values and small structs to callees in regs is more efficient (in memory and time) than the current scheme of passing such values in by reference to a caller-allocated memory structure.
-Scott
-------------- next part -------------- An HTML attachment was scrubbed... URL: attachment.htm
|
 |