From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shinya Kuribayashi Date: Tue, 06 May 2008 11:37:49 +0900 Subject: [U-Boot-Users] [PATCH] Allow building mips versions with ELDK 3.1.1 In-Reply-To: <20080505124655.3870E24764@gemini.denx.de> References: <20080505124655.3870E24764@gemini.denx.de> Message-ID: <481FC47D.3050505@ruby.dti.ne.jp> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > In message <481EE9A0.60403@windriver.com> you wrote: >> .gpword works only with local symbols on certain binutils versions >> >> Signed-off-by: Vlad Lungu >> --- >> cpu/mips/start.S | 9 ++++++--- >> 1 files changed, 6 insertions(+), 3 deletions(-) > > Applied, thanks a lot. > > This fixes the start.S erros/warnings. This patch works with my two different CPUs. Thanks! > So the only obvious problem remaining for MIPS are the cache.S > warnings: > > cache.S:243: Warning: Pretending global symbol used as branch target is local. > cache.S:250: Warning: Pretending global symbol used as branch target is local. Assembler might be sensitive to global symbol references under PIC code because they should be processed through GOT in principle. Therefore, we should have set up function entry point explicitly like: diff --git a/cpu/mips/cache.S b/cpu/mips/cache.S index 8024a2e..7966079 100644 --- a/cpu/mips/cache.S +++ b/cpu/mips/cache.S @@ -239,14 +239,16 @@ NESTED(mips_cache_reset, 0, ra) */ move a1, t2 move a2, t4 - bal mips_init_icache + PTR_LA t7, mips_init_icache + jalr t7 /* * then initialize D-cache. */ move a1, t3 move a2, t5 - bal mips_init_dcache + PTR_LA t7, mips_init_dcache + jalr t7 jr RA END(mips_cache_reset) I'll post the patch later. thanks, Shinya