From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Sun, 19 Sep 2010 08:07:28 +0200 Subject: [U-Boot] [PATCH 14/26 v2][NEXT] ARM: implement relocation for ARM V7 (OMAP) In-Reply-To: References: <4C62E8C3.8050006@denx.de> <1284721853-8298-1-git-send-email-hs@denx.de> <1284721853-8298-2-git-send-email-hs@denx.de> <1284721853-8298-3-git-send-email-hs@denx.de> <1284721853-8298-4-git-send-email-hs@denx.de> <1284721853-8298-5-git-send-email-hs@denx.de> <1284721853-8298-6-git-send-email-hs@denx.de> <1284721853-8298-7-git-send-email-hs@denx.de> <1284721853-8298-8-git-send-email-hs@denx.de> <1284721853-8298-9-git-send-email-hs@denx.de> <1284721853-8298-10-git-send-email-hs@denx.de> <1284721853-8298-11-git-send-email-hs@denx.de> <1284721853-8298-12-git-send-email-hs@denx.de> <1284721853-8298-13-git-send-email-hs@denx.de> <1284721853-8298-14-git-send-email-hs@denx.de> <1284721853-8298-15-git-send-email-hs@denx.de> <20100917220200.CED8B157D71@gemini.denx.de> Message-ID: <4C95A8A0.6080008@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello John, John Rigby wrote: > Dear Wolfgang, > > Thanks for the feedback. > > On Fri, Sep 17, 2010 at 4:02 PM, Wolfgang Denk wrote: >> Dear John, >> >> In message you wrote: >>> I noticed that when I wrote to ram in the range where u-boot runs >>> before being relocated sometimes the board hangs. I then narrowed it >> Stupid question: how did you write to that RAM location? And why? >> >> The RAM is not supposed to be accessable before relocation... > > I worded this poorly. I write to memory using mw at the u-boot > command line. I write to the region where u-boot was running prior to > relocation: > > OMAP3 beagleboard.org # mw.b 80000000 ff 1000000 > >>> down to being able to reproduce the hang by writing to a single byte. >>> Turns out that __aeabi_uidiv gets called in its original location >>> after relocation. I believe the culprit is ____aeabi_uidiv_veneer. >> Where is this coming from? I cannot see this symbol anywhere in U-Boot >> code... >> >> Which tool chain are you using? > > I'm using a prerelease Ubuntu/Linaro gcc 4.4.4. > >>> Looks like these *veneer routines need to be relocated. >> Hm... where are they coming from in the first place? >> >> >> Can you please try building with (1) a different tool chain and/or >> (2) with USE_PRIVATE_LIBGCC=yes on the command line? Does this change >> anything? > > With USE_PRIVATE_LIBGCC=yes these veneer* routines go away and the > problem is gone. Maybe, you can document this in doc/README.arm-relocation, in a problem/solution chapter? bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany