I don't do assembly, but I hope this helps narrow down the issue:

I did some build hacks:
 1) straight 4.5 compiled version
 2) 4.5 for everything except a special rule to build sys_info.c with 4.6

As we attempt #1 fails. Attempt #2 works. So now I have two sys_info.o
files. That I can interchange to toggle the issue. I compared their
disassembles and noticed this difference:

= GOOD =
00000000 <sr32>:
   0:   e590c000        ldr     ip, [r0]
   4:   e92d4010        push    {r4, lr}
   8:   e3e04000        mvn     r4, #0
   c:   e1e04214        mvn     r4, r4, lsl r2
= BAD =
   0:   e92d4010        push    {r4, lr}
   4:   e3e04000        mvn     r4, #0
   8:   e590c000        ldr     ip, [r0]
   c:   e1e04214        mvn     r4, r4, lsl r2

There was also small differences in "secure_unlock" and
"try_unlock_memory", but I thought they looked close enough. I ran a
hexeditor and adjusted my bad .o to match the snippet above from my good
.o. The system now boots with this hacked file.



** Attachment added: ".o files for reference"
   
https://bugs.launchpad.net/ubuntu/+source/x-loader/+bug/813018/+attachment/2224196/+files/x-loader-hack.tgz

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/813018

Title:
  gcc 4.5 breaks overo in latest x-loader (1.5.1)

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc-linaro/+bug/813018/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to