[llvm-bugs] [Bug 34768] New: Fix aeabi_cfcmp.S and aeabi_cdcmp.S for Thumb2 MachO targets

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Sep 28 09:16:04 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=34768

            Bug ID: 34768
           Summary: Fix aeabi_cfcmp.S and aeabi_cdcmp.S for Thumb2 MachO
                    targets
           Product: compiler-rt
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: compiler-rt
          Assignee: unassignedbugs at nondot.org
          Reporter: manojgupta at google.com
                CC: llvm-bugs at lists.llvm.org
            Blocks: 34715

Peter Smith <Peter.Smith at arm.com> wrote:
To hazard a guess at what the problem is when compiling with Thumb2 using
--target=armv7k-watchos

The bne __aeabi_cdcmple is a Thumb2 conditional branch to a symbol defined in a
separate section (thanks to the subsections_via_symbols). In ELF there is a
relocation directive R_ARM_THM_JMP19 I think. Whereas I don't think that there
is one defined for Mach-O.

Personally if these symbols are in different sections it isn't ideal to use a
conditional branch in Thumb2 even when a relocation exists as the range is only
+- 1 MiB. I suggest when compiling in Thumb2 we separate the comparison and do
an unconditional branch.

This is blocking form landing fix for PR 34715.


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=34715
[Bug 34715] compiler-rt builtins are broken for thumb
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170928/5a621e03/attachment.html>


More information about the llvm-bugs mailing list