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

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

 



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,
-- 
Mathieu



[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