http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59420

            Bug ID: 59420
           Summary: arm: broken code generated (memset from newlib 2.0)
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: holler at ahsoftware dot de

Created attachment 31396
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31396&action=edit
memset.i

Using gcc (4.8.2) to compile newlib 2.0 broken code will be generated for
memset.

Target was an ARM cortex-m3.

I believe that happens for 4.7.3 too, but I'm totally sure if I'm not just had
another bug with 4.7.3 (would have to verify it).

Compiler was cross-gcc build on Gentoo with crossdev.

gcc -v:

Target: arm-cortexm3-eabi
Configured with:
/var/tmp/portage/cross-arm-cortexm3-eabi/gcc-4.8.2/work/gcc-4.8.2/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/arm-cortexm3-eabi/gcc-bin/4.8.2
--includedir=/usr/lib/gcc/arm-cortexm3-eabi/4.8.2/include
--datadir=/usr/share/gcc-data/arm-cortexm3-eabi/4.8.2
--mandir=/usr/share/gcc-data/arm-cortexm3-eabi/4.8.2/man
--infodir=/usr/share/gcc-data/arm-cortexm3-eabi/4.8.2/info
--with-gxx-include-dir=/usr/lib/gcc/arm-cortexm3-eabi/4.8.2/include/g++-v4
--host=x86_64-pc-linux-gnu --target=arm-cortexm3-eabi
--build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point
--without-cloog --disable-lto --disable-nls --with-system-zlib
--enable-obsolete --disable-werror --enable-secureplt --disable-multilib
--disable-libmudflap --disable-libssp --disable-libgomp
--with-python-dir=/share/gcc-data/arm-cortexm3-eabi/4.8.2/python
--enable-poison-system-directories --enable-checking=release --disable-libgcj
--enable-libstdcxx-time --disable-libquadmath --enable-languages=c,c++
--with-sysroot=/usr/arm-cortexm3-eabi --disable-bootstrap --with-newlib
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.8.2 p1.0,
pie-0.5.8' --with-mode=thumb --with-cpu=cortex-m3 --with-float=soft
Thread model: single
gcc version 4.8.2 (Gentoo 4.8.2 p1.0, pie-0.5.8) 


The broken code was compiled with:

make[5]: Entering directory
`/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/build/arm-cortexm3-eabi/newlib/libc/string'
arm-cortexm3-eabi-gcc
-B/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/build/arm-cortexm3-eabi/newlib/
-isystem
/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/build/arm-cortexm3-eabi/newlib/targ-include
-isystem
/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/newlib-2.0.0/newlib/libc/include
-B/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/build/arm-cortexm3-eabi/libgloss/arm
-L/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/build/arm-cortexm3-eabi/libgloss/libnosys
-L/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/newlib-2.0.0/libgloss/arm
   -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
-DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"newlib\ 2.0.0\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I.
-I/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/newlib-2.0.0/newlib/libc/string
-D__SINGLE_THREAD__ -DARM_RDI_MONITOR -fno-builtin      -g -O2 -O3 -pipe
-fomit-frame-pointer -std=gnu99 -save-temps -c -o lib_a-memset.o `test -f
'memset.c' || echo
'/var/tmp/portage/cross-arm-cortexm3-eabi/newlib-2.0.0/work/newlib-2.0.0/newlib/libc/string/'`memset.c

If more information is necessary or helpful, please just notify me.

Reply via email to