Dear all,
I want to share the strange bug with you.
Please reference linux2.6.x/arch/arm/kernel/entry-armv.S
Line29
 .macro irq_handler
 get_irqnr_preamble r5, lr
1: get_irqnr_and_base r0, r6, r5, lr
.....

 adrne lr, 1b
 bne asm_do_IRQ
After compiling the "adrne lr, 1b" will be transform to "subne lr, pc, #68",
but the flag '1:' only offset #60 for the current PC. I just temp fix the lr
in the next line as "addne lr, lr, #8"

And I found some other "adr" instruction also have the same wrong offset
after compiling. I think this is the compiliation bug. But I don't know why
and how to fix it appropriately.

My HOST system:(Ubuntu8.04)
*Linux DragCOM 2.6.24-21-generic #1 SMP Mon Aug 25 17:32:09 UTC 2008 i686
GNU/Linux*
Cross-Compile version:
*arm-linux-gcc -v
Using built-in specs.
Target: arm-linux
Configured with: ../configure --target=arm-linux --disable-shared
--prefix=/usr/local
--with-headers=/home/gerg/new-wave.sg565.26x/linux-2.6.x/include
--with-gnu-as --with-gnu-ld --enable-multilib
Thread model: posix
gcc version 4.2.1*

Should I response this problem to GNU or some where related?

Drag.Li
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to