LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Openrisc > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Scott Furman<sfurman@r...>
    Date: Tue Jan 27 22:24:59 CET 2004
    Subject: [openrisc] gcc-3.2.3 bugs after merge
    Top
    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

    ReferenceAuthor
    [openrisc] gcc-3.2.3 bugs after mergeJames Morrison

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.