Displaying 2 results from an estimated 2 matches for "__arm_arch_ext_idiv__".
2017 Mar 21
4
compiler-rt, v4.0: arm\udivsi3.S broken for division by zero
...ltins\arm\udivsi3.S is broken.
At least for the case that __aeabi_idiv0 returns. (the provided
implementation does)
Since LR is not preserved, the following JMP(lr) results in an endless loop.
Or is this an intentional change of the behavior?
The file contains another implementation enabled by
__ARM_ARCH_EXT_IDIV__. This uses "b" instead of "bl".
(This works as in previous versions)
Cheers,
Peter
2017 Apr 05
2
compiler-rt, v4.0: arm\udivsi3.S broken for division by zero
...;>
>> Or is this an intentional change of the behavior?
> Hi Peter,
>
> That is most certainly a bug. Weiming's patch was supposed to only
> introduce Thumb1 code, not transform div0 into a busy loop. :)
>
>
>> The file contains another implementation enabled by __ARM_ARCH_EXT_IDIV__.
>> This uses "b" instead of "bl".
>> (This works as in previous versions)
> The comment on the patch makes that clear:
>
> bl __aeabi_idiv0 // due to relocation limit, can't use b.
>
> I'm not sure why the bottom one is fine and the top one i...