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