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: Matjaz Breskvar<phoenix@o...>
    Date: Wed Dec 17 23:23:41 CET 2003
    Subject: [openrisc] or32-gcc: Current status + new version
    Top
    Great work!

    I'm going to try your patches on uClinux & linux and if it builds them i'm
    all for merging it into opencores mainline. The binary size savings are
    nice too.

    I'd like to caution you about -msoft-mul. I've only briefly checked
    it after i've implemented it but i didn't do any extensive testing. It
    *should* work ok, but don't count on it. ;)

    The toolchain issue reamaining i know of is ld with -r flag. I tried the
    Scott patches but the linker then just core dumped. I didn't have time
    to really look into it... I'll fix this as soon as i have some
    time since many bugs i saw that *look* like gcc are actually because
    of linker.

    i'm also interested why you say that opencores gcc with -O2 is
    buggy. i tried building linux & uclinux with it and it worked just as good
    as with -O flag. can you provide some more details...

    best regards,
    p.


    * Heiko Panther (heiko.panther@w...) wrote:
    > Hi folks,
    >
    > there has been some confusion about the various gcc compilers and their
    > respective bugs or features. I did some research and a lot of
    > experimenting, and here's my summary.
    >
    > Testing objectives
    >
    > - I tested if the optimization (-O2) works by running eCos, which has in
    > the past produced errors in printf()-like routines when the compiler had
    > -O2 enabled.
    > - I checked if the gcc could build newlib (important for the folks who
    > don't run eCos or other OSes which include a libc). To achieve this, I
    > created symbolic links for newlib and libgloss from the newlib dir into
    > the gcc dir, and used the gcc --with-newlib configure option.
    > - Since it's important for me, I checked for availability of the
    > -msoft-mul flag.
    > - Lastly, I compiled my app, which includes eCos and a user application,
    > and noted down the binary size, compiled with -O2. Compilers that
    > produce buggy code with -O2 weren't checked.
    >
    > Test results
    >
    > opencores(oc) gcc-3.2.3
    > -O2 buggy. Builds newlib. Has -msoft-mul.
    >
    > oc-gcc-3.2.3 Scott Furman version
    > Scott sent me his modification, which includes an ABI change. This means
    > you have to recompile everything, including libs, for use with this.
    > Scott says this modified ABI is faster, too.
    > When I built my app with this, it wouldn't come up - eCos died while
    > doing the static constructors. Didn't yet check why that happened.
    > Builds newlib. Has -msoft-mul. Binary size: 420k.
    >
    > University Cantabria (uc) gcc-3.4
    > Is built with a developmental version of gcc-3.4, which is probably the
    > reason for not building newlib and the large binary size.
    > Fixes the -O2 bug without changing the ABI. Can't build newlib. Doesn't
    > have -msoft-mul. Binary size: 470k.
    >
    >
    > New version
    >
    > Based on this, I decided to put a new gcc together, taking the target
    > config from uc-gcc-3.4 and putting it into oc-gcc-3.2.3. I added the
    > -msoft-mul support from oc-gcc-3.2.3. No ABI change. newlib has to be
    > installed seperately (cd to newlib subdir of gcc build dir and make
    > install).
    > -O2 working. Builds newlib. Has -msoft-mul. Binary size: 385k.
    >
    > So, with this, we should have a reliably working and optimizing
    > compiler. The files and instructions are at
    > http://homepage.mac.com/hpanther/gcc-3.2.3-oc-to-uc-patch.tgz
    >
    > I invite you to try and build you apps and OSes with this version. If
    > everyone is satisfied (or no one complains, whichever happens first), I
    > shall put the files into CVS (given that I'm granted CVS write access,
    > wink wink. Otherwise, maybe one of the opencores maintainers will do that).
    >
    > Heiko

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