Launchpad has imported 3 comments from the remote bug at http://sourceware.org/bugzilla/show_bug.cgi?id=12698.
If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. ------------------------------------------------------------------------ On 2011-04-24T22:20:50+00:00 Arnaud Patard wrote: As noticed by debian bug 623964, when building an arm kernel with a snasphot made on 04/19, compiling head.S is failing with : Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr' It's valid for current head. To reproduce, create a head.S containing: mrs r2, cpsr msr cpsr_c, r2 And then build with ./gas/as-new -march=all -c head.S -o head.o I believe it's due to this commit : http://sourceware.org/git/?p=binutils.git;a=commitdiff;h=335cd49156302284cea0438fd068f0a7cc11355a I've written this workaround: --- binutils.orig/gas/config/tc-arm.c +++ binutils/gas/config/tc-arm.c @@ -5356,6 +5356,11 @@ parse_psr (char **str, bfd_boolean lhs) bfd_boolean is_apsr = FALSE; bfd_boolean m_profile = ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_m); + /* march=all, will match the m_profile case too, so things like 'mrs r2,cpsr' + * will now fail. Workaround by saying it's not a m profile */ + if (selected_cpu.core == arm_arch_any.core) + m_profile = FALSE; + /* CPSR's and SPSR's can now be lowercase. This is just a convenience feature for ease of use and backwards compatibility. */ p = *str; It doesn't seem to create any regression but I'm not sure how good is this patch. At least, I hope it'll help fixing the bug. Reply at: https://bugs.launchpad.net/binutils/+bug/947111/comments/0 ------------------------------------------------------------------------ On 2011-06-03T14:42:51+00:00 Cvs-commit wrote: CVSROOT: /cvs/src Module name: src Changes by: [email protected] 2011-06-03 14:42:48 Modified files: gas : ChangeLog gas/config : tc-arm.c Log message: PR gas/12698 * config/tc-arm.c (parse_psr): Set m_profile to false when assembling for any architecture. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&r1=1.4499&r2=1.4500 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-arm.c.diff?cvsroot=src&r1=1.490&r2=1.491 Reply at: https://bugs.launchpad.net/binutils/+bug/947111/comments/1 ------------------------------------------------------------------------ On 2011-06-03T14:45:07+00:00 Nickc wrote: Hi Arnaud, Thanks for reporting this problem and providing a patch. Your solution works, so I have checked it in, with a slightly tweaked comment. Cheers Nick Reply at: https://bugs.launchpad.net/binutils/+bug/947111/comments/2 ** Changed in: binutils Status: Unknown => Fix Released ** Changed in: binutils Importance: Unknown => Medium -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/947111 Title: -march bug when building kernel To manage notifications about this bug go to: https://bugs.launchpad.net/binutils/+bug/947111/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
