Upgrade from gcc 4.2.1 for arm7tdmi target

Asked by Bob Duffy

We have been using gcc 4.2.1 to compile for our arm7tdmi target and would like to upgrade. We've been stuck on Fedora 8 and are trying to move to Ubuntu 14.04 (Trusty). I have installed the toolchain from the ppa, but continue to have _many_ undefined library references.

From the README file in the gcc-4.9.3.2014q4.orig.tar.bz2 pack I've concluded that in addition to installing from the ppa, I'll need to build a newlib for my particular target. Thus far the exact procedure for doing so has eluded me.

My questions are:

1) The compiler from the ppa appears to compile fine when I specify "-mthumb -mcpu=arm7tdmi -mthumb-interwork". Is my expectation that I do NOT have to rebuild the compiler correct?

2) In the procedure for building newlib, I'm uncertain how to apply the -mcpu parameter. Since there doesn't seem to be place for that in the configure script, I'm at a loss as to how to do it. I'm assuming that a brute force edit of the Makefile is inappropriate. I am unclear on the steps that were used to generate the various /usr/arm-none-eabi/lib/arm* libraries. Thus my question is "How do I do it?"

3) Our old configuration utilized uClibc and uClibc++. My hope is that newlib-nano will meet our needs. Any information you might have on that transition would be most appreciated.

TIA

Question information

Language:
English Edit question
Status:
Solved
For:
GNU Arm Embedded Toolchain Edit question
Assignee:
No assignee Edit question
Solved by:
Bob Duffy
Solved:
Last query:
Last reply:
Revision history for this message
Terry Guo (terry.guo) said :
#1

Are you using PPA from https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded? Please make sure you are using PPA released by us not by Debian.

Revision history for this message
Bob Duffy (5mail) said :
#2

I am indeed using that package, installed into a fresh install of Ubuntu 14.04.

It turns out that my problem seems to have been the specification of -nodefaultlibs that didn't get deleted after leaving behind uClibc. My initial take was that I needed a special build of newlib for my specific instruction set. Sorry to have wasted your time.