Back port two patches to fix the error of complex expressions before @l/@h.
Error sample:
test.s: Assembler messages:
test.s:1: Error: operand out of range (0xffffffffffff8000 is not between 0x0000000000000000 and 0x000000000000ffff)
Fix Bug 4524.
(From OE-Core rev: 9ba812ab1f613d28f9eb3192d2ff1a34dfce33e4)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>