[yocto] Differnt build result of same u-boot source with differnet binutils
Luo Zhenhua-B19537
B19537 at freescale.com
Fri May 31 01:19:26 PDT 2013
When the u-boot(HEAD of master in git://git.freescale.com/ppc/sdk/u-boot.git) of p1022ds is built with different binutils in Yocto, the result is different.
With binutils-2.23.1(last version in Yocto), u-boot can be built correctly.
With binutils-2.23.2(current version in Yocto), the build failed as following:
| release.S: Assembler messages:
| release.S:236: Error: value of 4294963524 too large for field of 2 bytes at 170
| release.S:237: Error: operand out of range (0xfffffffffffff144 is not between 0x0000000000000000 and 0x000000000000ffff)
| release.S:237: Error: value of 4294963524 too large for field of 2 bytes at 174
| release.S:365: Error: value of 4294963524 too large for field of 2 bytes at 206
| release.S:366: Error: operand out of range (0xfffffffffffff144 is not between 0x0000000000000000 and 0x000000000000ffff)
| release.S:366: Error: value of 4294963524 too large for field of 2 bytes at 210
| release.S:390: Error: value of 4294963520 too large for field of 2 bytes at 278
| release.S:391: Error: operand out of range (0xfffffffffffff140 is not between 0x0000000000000000 and 0x000000000000ffff)
| release.S:391: Error: value of 4294963520 too large for field of 2 bytes at 282
Below is the failed code section:
[..snip..]
233 #define toreset(x) (x - __secondary_start_page + 0xfffff000)
234
235 /* get our PIR to figure out our table entry */
236 lis r3,toreset(__spin_table_addr)@h
237 ori r3,r3,toreset(__spin_table_addr)@l
238 lwz r3,0(r3)
[..snip..]
Seems like the build error is related to binutils, can somebody shed some light on the issue? Thanks in advance.
Best Regards,
Zhenhua
More information about the yocto
mailing list