diff options
Diffstat (limited to 'recipes-devtools/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch')
| -rw-r--r-- | recipes-devtools/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch b/recipes-devtools/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch new file mode 100644 index 0000000000..39c90e7e74 --- /dev/null +++ b/recipes-devtools/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | Fix for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999 | ||
| 2 | |||
| 3 | http://patchwork.ozlabs.org/patch/72260/ is the patch that made into | ||
| 4 | upstream gcc | ||
| 5 | |||
| 6 | diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm | ||
| 7 | index 085e690..2e76c01 100644 | ||
| 8 | --- a/gcc/config/arm/lib1funcs.asm | ||
| 9 | +++ b/gcc/config/arm/lib1funcs.asm | ||
| 10 | @@ -641,7 +641,7 @@ pc .req r15 | ||
| 11 | subhs \dividend, \dividend, \divisor, lsr #3 | ||
| 12 | orrhs \result, \result, \curbit, lsr #3 | ||
| 13 | cmp \dividend, #0 @ Early termination? | ||
| 14 | - do_it hs, t | ||
| 15 | + do_it ne, t | ||
| 16 | movnes \curbit, \curbit, lsr #4 @ No, any more bits to do? | ||
| 17 | movne \divisor, \divisor, lsr #4 | ||
| 18 | bne 1b | ||
