https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126855

            Bug ID: 126855
           Summary: valgrind error at prange_storage::set_prange(prange
                    const&) (value-range-storage.cc:713
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

I just had a go at a valgrind build of gcc trunk. 
It said:

home/dcb42/gcc/working/./gcc/xgcc -B/home/dcb42/gcc/working/./gcc/
-B/home/dcb42/gcc/results.20260813.valgrind/x86_64-pc-linux-gnu/bin/
-B/home/dcb42/gcc/results.20260813.valgrind/x86_64-pc-linux-gnu/lib/ -isystem
/home/dcb42/gcc/results.20260813.valgrind/x86_64-pc-linux-gnu/include -isystem
/home/dcb42/gcc/results.20260813.valgrind/x86_64-pc-linux-gnu/sys-include    -g
-g1 -O2 -march=native -Wall -O2  -g -g1 -O2 -march=native -Wall -DIN_GCC   -W
-Wall -Wno-error=narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic
-mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2
-fbuilding-libgcc -fno-stack-protector  -fpic -mlong-double-80 -DUSE_ELF_SYMVER
-fcf-protection -mshstk -I. -I. -I../.././gcc -I../../../trunk/libgcc
-I../../../trunk/libgcc/. -I../../../trunk/libgcc/../gcc
-I../../../trunk/libgcc/../include -I../../../trunk/libgcc/config/i386
-I../../../trunk/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS
 -DUSE_TLS  -o fixddbitint.o -MT fixddbitint.o -MD -MP -MF fixddbitint.dep  -c
../../../trunk/libgcc/soft-fp/fixddbitint.c -fvisibility=hidden -DHIDE_EXPORTS
==82748== Conditional jump or move depends on uninitialised value(s)
==82748==    at 0xF1E1E9: eq_p<generic_wide_int<wide_int_storage>, int>
(wide-int.h:2254)
==82748==    by 0xF1E1E9: operator==<generic_wide_int<wide_int_storage>, int>
(wide-int.h:3852)
==82748==    by 0xF1E1E9: unknown_p (value-range.h:196)
==82748==    by 0xF1E1E9: prange_storage::set_prange(prange const&)
(value-range-storage.cc:713)

Configure line is:

CFLAGS="-g1 -O2 -march=znver3 -Wall" \
CXXFLAGS="-g1 -O2 -march=znver3 -Wall" \
../trunk/configure --prefix=$HOME/gcc/results.$DATE.valgrind \
        --disable-bootstrap \
        --disable-doc \
        --disable-multilib \
        --with-pkgversion=$HASH \
        --enable-checking=valgrind \
        --enable-languages=c,c++,fortran

To find which part of the build went wrong:

$ grep -E "^==|^Config" mk.out 
Configuring in build-x86_64-pc-linux-gnu/fixincludes
Configuring in build-x86_64-pc-linux-gnu/libiberty
Configuring in build-x86_64-pc-linux-gnu/libcpp
Configuring in ./libdecnumber
Configuring in ./fixincludes
Configuring in ./lto-plugin
Configuring in ./libiberty
Configuring in ./libcody
Configuring in ./libbacktrace
Configuring in ./zlib
Configuring in ./c++tools
Configuring in ./libcpp
Configuring in ./gcc
Configuring in ./libcc1
Configuring in x86_64-pc-linux-gnu/libgcc
==82748== Conditional jump or move depends on uninitialised value(s)
==82748==    at 0xF1E1E9: eq_p<generic_wide_int<wide_int_storage>, int>
(wide-in
t.h:2254)

git log tells me g:424bd64ef45e001c425c18652d0dca1d7ad98928.

I haven't done this valgrind build for many months, so I can't 
tell you when it last worked, but Aldy's range changes
look likely.

Reply via email to