> -----Original Message----- > From: Albert ARIBAUD [mailto:albert.arib...@free.fr] > Sent: Thursday, December 02, 2010 1:21 PM > To: Wolfgang Denk > Cc: u-boot@lists.denx.de; Premi, Sanjeev > Subject: Re: [U-Boot] [PATCH] ARMv7: Fix linker errors across > toolchain versions > > Hi Wolfgang, > > Le 02/12/2010 08:34, Wolfgang Denk a écrit : > > Dear Albert ARIBAUD, > > > > In message<4cf743e6.60...@free.fr> you wrote: > >> > >> Starting with the fact that the linker issue is only for one board, > >> omap3_evm, I looked up the board-specific code. First thing that I > >> noticed was > >> > >> static u8 omap3_evm_version; > >> > >> I changed this to > >> > >> static u8 omap3_evm_version = 1; > >> > >> so that the static was moved out of BSS and the linker warning > >> disappeared (reminder: v2010.12-rc2, omap3_evm, arm-2010q1). > >> > >> Now this is not the first static BSS variable we use in > U-Boot, and the > >> others did not cause linker warnings (not *all* the > others, at least), > >> so the real cause is yet unknown to me. But that's at > least a lead we > >> can follow. > > > > Write access is only in omap3_evm_get_revision() which in turn only > > gets called in misc_init_r(), i. e. after relocation. > > > > Read access is only in get_omap3_evm_rev() [which is not called > > outside this file and thus should be made static!] which gets called > > only in omap3_evm_need_extvbus() which gets acalled only in > > musb_platform_init(), i. e. during USB init. > > > > This should be safe. > > Alright. > > > You could try out what happens if you make > get_omap3_evm_rev() static... > > No change: the warning remains, and so do the two segments. > > Maybe I should subscribe the binutils list and ask there. > > Meanwhile, this variable could be initialized to some safe > value such as > OMAP3EVM_BOARD_UNKNOWN.
One of the things I did to move it away from .bss > > BTW... Why on Earth is it an uint8? Probably a space saving > measure, but > one I think is not really fruitful, because of probable paddings and > alignments; making it an int would allow using smsc_id directly as > values for the OMAP3EVM_BOARD_GEN_1 and OMAP3EVM_BOARD_GEN_2... > > ... plus it removes the linker warning! > > I thus suggest turning omap3_evm_version from uint8 to int and get on > with debugging the board. Albert, I have already done this - may not be exactly same. while trying to debug linker script problem; did not want to deviate from the current problem so it is in my working code. ~sanjeev > > > Best regards, > > > > Wolfgang Denk > > Amicalement, > -- > Albert. > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot