Re: Warning: conditional outside an IT block for Thumb.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 25, 2022 at 3:48 PM Mathieu Malaterre
<mathieu.malaterre@xxxxxxxxx> wrote:
>
> Hi Richard,
>
> Thanks for the kind help.
>
> On Thu, Aug 25, 2022 at 12:28 PM Richard Earnshaw
> <Richard.Earnshaw@xxxxxxxxxxxx> wrote:
> >
> >
> >
> > On 25/08/2022 07:40, Mathieu Malaterre via Gcc-help wrote:
> > > Hi all,
> > >
> > > I am seeing a flood of warnings when compiling openvdb+tbb on Debian/armel:
> > >
> > > [...]
> > >   [  2%] Building CXX object
> > > openvdb/openvdb/CMakeFiles/openvdb_shared.dir/io/Archive.cc.o
> > >   cd /<<PKGBUILDDIR>>/obj-arm-linux-gnueabi/openvdb/openvdb &&
> > > /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK
> > > -DOPENVDB_DLL -DOPENVDB_PRIVATE -DOPENVDB_USE_LOG4CPLUS
> > > -Dopenvdb_shared_EXPORTS -I/<<PK
> > > GBUILDDIR>>/openvdb/openvdb/..
> > > -I/<<PKGBUILDDIR>>/obj-arm-linux-gnueabi/openvdb/openvdb
> > > -I/<<PKGBUILDDIR>>/obj-arm-linux-gnueabi/openvdb/openvdb/openvdb
> > > -I/<<PKGBUILDDIR>>/openvdb/openvdb/. -I/usr/include/Imat
> > > h -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
> > > -Wformat -Werror=format-security -Wno-psabi -fvisibility=hidden
> > > -fvisibility-inlines-hidden -Wa,-mimplicit-it=thumb -Wdate-time
> > > -D_FORTIFY
> > > _SOURCE=2 -fPIC -std=c++17 -MD -MT
> > > openvdb/openvdb/CMakeFiles/openvdb_shared.dir/Grid.cc.o -MF
> > > CMakeFiles/openvdb_shared.dir/Grid.cc.o.d -o
> > > CMakeFiles/openvdb_shared.dir/Grid.cc.o -c /<<PKGBUILDDIR>>/openvdb/o
> > > penvdb/Grid.cc
> > >   cd /<<PKGBUILDDIR>>/obj-arm-linux-gnueabi/openvdb/openvdb &&
> > > /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK
> > > -DOPENVDB_DLL -DOPENVDB_PRIVATE -DOPENVDB_USE_LOG4CPLUS
> > > -Dopenvdb_shared_EXPORTS -I/<<PK
> > > GBUILDDIR>>/openvdb/openvdb/..
> > > -I/<<PKGBUILDDIR>>/obj-arm-linux-gnueabi/openvdb/openvdb
> > > -I/<<PKGBUILDDIR>>/obj-arm-linux-gnueabi/openvdb/openvdb/openvdb
> > > -I/<<PKGBUILDDIR>>/openvdb/openvdb/. -I/usr/include/Imat
> > > h -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
> > > -Wformat -Werror=format-security -Wno-psabi -fvisibility=hidden
> > > -fvisibility-inlines-hidden -Wa,-mimplicit-it=thumb -Wdate-time
> > > -D_FORTIFY
> > > _SOURCE=2 -fPIC -std=c++17 -MD -MT
> > > openvdb/openvdb/CMakeFiles/openvdb_shared.dir/io/Archive.cc.o -MF
> > > CMakeFiles/openvdb_shared.dir/io/Archive.cc.o.d -o
> > > CMakeFiles/openvdb_shared.dir/io/Archive.cc.o -c /<<PKGBU
> > > ILDDIR>>/openvdb/openvdb/io/Archive.cc
> > > /tmp/ccFlliCl.s: Assembler messages:
> > > /tmp/ccFlliCl.s:294: Warning: conditional outside an IT block for Thumb.
> > > /tmp/ccFlliCl.s:338: Warning: conditional outside an IT block for Thumb.
> > > [...]
> > >
> > > There are so many warnings that it eventually times out the compilation.
> > >
> > > I could not find a way to tell gcc not to print a warning. Is there a
> > > way to remove this warning ?
> >
> > The warning is coming from the assembler.  But I don't think it should
> > be just 'ignored'.  You'll need to track down why it's happening at all.
> >   The most likely case is that there is some inlined assembly code
> > somewhere that was written on the assumption that the compiler would be
> > targeting the A32 state rather than the T32 state (thumb), but there's
> > not enough information here to work out what's happened for sure.
> >
> > What we need is a snippet of the assembler output when compiled with
> > debugging information, so that we can track back to the source code that
> > is generating this.
> >
> > >
> > > For reference the very large log:
> > >
> > > * https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=armel&ver=9.1.0-4&stamp=1661358853&raw=0
> > >
> > > Thanks much,
> >
> > The log isn't much help, it's the contents of the file that's being
> > assembled that will tell us what we need to know.
>
> I did add '-save-temps' to one TU compilation:
>
>  % cd /home/malat/openvdb-9.1.0/obj-arm-linux-gnueabi/openvdb/openvdb
> && /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK
> -DOPENVDB_DLL -DOPENVDB_PRIVATE -DOPENVDB_USE_LOG4CPLUS
> -Dopenvdb_shared_EXPORTS
> -I/home/malat/openvdb-9.1.0/openvdb/openvdb/..
> -I/home/malat/openvdb-9.1.0/obj-arm-linux-gnueabi/openvdb/openvdb
> -I/home/malat/openvdb-9.1.0/obj-arm-linux-gnueabi/openvdb/openvdb/openvdb
> -I/home/malat/openvdb-9.1.0/openvdb/openvdb/. -I/usr/include/Imath -g
> -O2 -ffile-prefix-map=/home/malat/openvdb-9.1.0=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wno-psabi
> -fvisibility=hidden -fvisibility-inlines-hidden
> -Wa,-mimplicit-it=thumb -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
> -std=c++17 -MD -MT
> openvdb/openvdb/CMakeFiles/openvdb_shared.dir/io/Compression.cc.o -MF
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.o.d -o
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.o -save-temps -c
> /home/malat/openvdb-9.1.0/openvdb/openvdb/io/Compression.cc
>
> Output is:
>
>  % cd /home/malat/openvdb-9.1.0/obj-arm-linux-gnueabi/openvdb/openvdb
> && /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK
> -DOPENVDB_DLL -DOPENVDB_PRIVATE -DOPENVDB_USE_LOG4CPLUS
> -Dopenvdb_shared_EXPORTS
> -I/home/malat/openvdb-9.1.0/openvdb/openvdb/..
> -I/home/malat/openvdb-9.1.0/obj-arm-linux-gnueabi/openvdb/openvdb
> -I/home/malat/openvdb-9.1.0/obj-arm-linux-gnueabi/openvdb/openvdb/openvdb
> -I/home/malat/openvdb-9.1.0/openvdb/openvdb/. -I/usr/include/Imath -g
> -O2 -ffile-prefix-map=/home/malat/openvdb-9.1.0=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wno-psabi
> -fvisibility=hidden -fvisibility-inlines-hidden
> -Wa,-mimplicit-it=thumb -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
> -std=c++17 -MD -MT
> openvdb/openvdb/CMakeFiles/openvdb_shared.dir/io/Compression.cc.o -MF
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.o.d -o
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.o -save-temps -c
> /home/malat/openvdb-9.1.0/openvdb/openvdb/io/Compression.cc
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s: Assembler messages:
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:146: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:162: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:215: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:330: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:344: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:352: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:598: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:768: Warning:
> conditional outside an IT block for Thumb.
> CMakeFiles/openvdb_shared.dir/io/Compression.cc.s:934: Warning:
> conditional outside an IT block for Thumb.
> [truncated]
>
> My gcc version is:
>
>  % /usr/bin/c++ -v
> Using built-in specs.
> COLLECT_GCC=/usr/bin/c++
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/12/lto-wrapper
> Target: arm-linux-gnueabi
> Configured with: ../src/configure -v --with-pkgversion='Debian
> 12.2.0-1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs
> --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2
> --prefix=/usr --with-gcc-major-version-only --program-suffix=-12
> --program-prefix=arm-linux-gnueabi- --enable-shared
> --enable-linker-build-id --libexecdir=/usr/lib
> --without-included-gettext --enable-threads=posix --libdir=/usr/lib
> --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
> --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new
> --enable-gnu-unique-object --disable-libitm --disable-libquadmath
> --disable-libquadmath-support --enable-plugin --enable-default-pie
> --with-system-zlib --enable-libphobos-checking=release
> --with-target-system-zlib=auto --enable-objc-gc=auto
> --enable-multiarch --disable-sjlj-exceptions --with-arch=armv5te
> --with-float=soft --disable-werror --enable-checking=release
> --build=arm-linux-gnueabi --host=arm-linux-gnueabi
> --target=arm-linux-gnueabi
> Thread model: posix
> Supported LTO compression algorithms: zlib zstd
> gcc version 12.2.0 (Debian 12.2.0-1)
>
> *.ii file:
> https://people.debian.org/~malat/openvdb/Compression.cc.ii.xz
>
>
> Once again thanks again for your time,

I've removed:

-Wa,-mimplicit-it=thumb

from compilation line and it seems to be going much better

sorry for the noise. This seems to have been a hack for armhf/Debian
back in 2002...



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux