Bug 102278 - [12 regression] Bootstrap fails with LLVM 11.0.1 on powerpc-unknown-freebsd: libgcov-interface.c:201:1: internal compiler error
Summary: [12 regression] Bootstrap fails with LLVM 11.0.1 on powerpc-unknown-freebsd: ...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 12.0
: P3 normal
Target Milestone: 12.0
Assignee: Not yet assigned to anyone
URL:
Keywords: build
Depends on:
Blocks:
 
Reported: 2021-09-10 14:56 UTC by Piotr Kubaj
Modified: 2022-03-22 09:09 UTC (History)
2 users (show)

See Also:
Host: powerpc-unknown-freebsd
Target: powerpc-unknown-freebsd
Build: powerpc-unknown-freebsd
Known to work:
Known to fail:
Last reconfirmed: 2021-09-10 00:00:00


Attachments
build log (647.47 KB, application/octet-stream)
2021-09-10 23:14 UTC, Piotr Kubaj
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Kubaj 2021-09-10 14:56:08 UTC
20210725 was the last snapshot that built.
20210801 fails with:
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210801/gcc/lra-constraints.c: In function 'bool curr_insn_transform(bool)':                                                                                                               /wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210801/gcc/lra-constraints.c:4367:21: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]                                                               4367 |                  (c = *constraint) && c != ',' && c != '#';     


After that, build fails with:
during GIMPLE pass: ldist
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210808/libgcc/libgcov-interface.c: In function '__gcov_execl':
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210808/libgcc/libgcov-interface.c:201:1: internal compiler error: Segmentation fault
  201 | __gcov_execl (const char *path, char *arg, ...)
      | ^~~~~~~~~~~~

I build on FreeBSD 13.0-RELEASE using LLVM 11.0.1.
Comment 1 Piotr Kubaj 2021-09-10 19:43:13 UTC
The full error with the command line executed is:
/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/./gcc/xgcc -B/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/./gcc/ -B/usr/local/powerpc-portbld-freebsd13.0/bin/ -B/usr/local/powerpc-portbld-freebsd13.0/lib/ -isystem /usr/local/powerpc-portbld-freebsd13.0/include -isystem /usr/local/powerpc-portbld-freebsd13.0/sys-include   -fno-checking -g -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -O2  -g -O2 -pipe  -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing  -DIN_GCC -fPIC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wno-error=format-diag -Wold-style-definition  -isystem ./include  -fPIC -pthread -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -fPIC -pthread -I. -I. -I../.././gcc -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/. -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/../gcc -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/../include  -DHAVE_CC_TLS  -o _gcov_execl.o -MT _gcov_execl.o -MD -MP -MF _gcov_execl.dep -DL_gcov_execl -c /wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/libgcov-interface.c
during GIMPLE pass: ldist
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/libgcov-interface.c: In function '__gcov_execl':
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/libgcov-interface.c:201:1: internal compiler error: Segmentation fault
  201 | __gcov_execl (const char *path, char *arg, ...)
Comment 2 Andrew Pinski 2021-09-10 19:53:27 UTC
A couple of things:
How did you configure GCC?
Do you have any env variables set that could influence the bootstrap e.g. CXXFLAGS or STAGE1_CXXFLAGS, etc.?  I am trying to check to see if LLVM is not miscompiling GCC here (it could be).

Also can you attach the full build log?
What stage is the building failing, stage 1 or stage2 or stage 3?
Comment 3 Piotr Kubaj 2021-09-10 23:14:09 UTC
Created attachment 51436 [details]
build log

The full build log is attached. The used compilation flags and configuration options are listed there.

To make sure it's not misoptimization, I also built now with (FreeBSD by default uses -O2):
CFLAGS_FOR_TARGET="-O0" CXXFLAGS_FOR_TARGET="-O0" BOOT_CFLAGS="-O0"

It fails with another error:
/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/./prev-gcc/xg++ -B/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/./prev-gcc/ -B/usr/local/powerpc-portbld-freebsd13.0/bin/ -nostdinc++ -B/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/prev-powerpc-portbld-freebsd13.0/libstdc++-v3/src/.libs -B/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/prev-powerpc-portbld-freebsd13.0/libstdc++-v3/libsupc++/.libs  -isystem /wrkdirs/usr/ports/lang/gcc12-devel/work/.build/prev-powerpc-portbld-freebsd13.0/libstdc++-v3/include/powerpc-portbld-freebsd13.0  -isystem /wrkdirs/usr/ports/lang/gcc12-devel/work/.build/prev-powerpc-portbld-freebsd13.0/libstdc++-v3/include  -isystem /wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libstdc++-v3/libsupc++ -L/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/prev-powerpc-portbld-freebsd13.0/libstdc++-v3/src/.libs -L/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/prev-powerpc-portbld-freebsd13.0/libstdc++-v3/libsupc++/.libs  -fno-PIE -c   -O0 -fno-checking -gtoggle -DIN_GCC -fPIC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/. -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/../include -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/../libcpp/include -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/../libcody -I/usr/local/include  -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/../libdecnumber -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/../libdecnumber/dpd -I../libdecnumber -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/../libbacktrace  -DLIBICONV_PLUG -o opts.o -MT opts.o -MMD -MP -MF ./.deps/opts.TPo /wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/opts.c
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/opts.c: In function 'void print_filtered_help(unsigned int, unsigned int, unsigned int, unsigned int, gcc_options*, unsigned int)':
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/opts.c:1517:26: error: '  ' directive output may be truncated writing 2 bytes into a region
of size between 1 and 256 [-Werror=format-truncation=]
 1517 |                       "%s  %s", help, _(use_diagnosed_msg));
      |                          ^~
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/gcc/opts.c:1516:22: note: 'snprintf' output between 37 and 292 bytes into a destination of size
256
 1516 |             snprintf (new_help, sizeof new_help,
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
 1517 |                       "%s  %s", help, _(use_diagnosed_msg));
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Comment 4 Andrew Pinski 2021-09-10 23:19:07 UTC
Can you unuset all *FLAGS env and try that?

The BOOT_CFLAGS="-O0" might be broken and is a full on different issue.
Comment 5 Piotr Kubaj 2021-09-14 00:39:31 UTC
Still the same issue:
/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/./gcc/xgcc -B/wrkdirs/usr/ports/lang/gcc12-devel/work/.build/./gcc/ -B/usr/local/powerpc-portbld-freebsd13.0/bin/ -B/usr/local/powerpc-portbld-freebsd13.0/lib/ -isystem /usr/local/powerpc-portbld-freebsd13.0/include -isystem /usr/local/powerpc-portbld-freebsd13.0/sys-include   -fno-checking -g -O2 -O2  -g -O2   -DIN_GCC -fPIC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wno-error=format-diag -Wold-style-definition  -isystem ./include  -fPIC -pthread -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -fPIC -pthread -I. -I. -I../.././gcc -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/. -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/../gcc -I/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/../include  -DHAVE_CC_TLS  -o _gcov_execl.o -MT _gcov_execl.o -MD -MP -MF _gcov_execl.dep -DL_gcov_execl -c /wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/libgcov-interface.c
during GIMPLE pass: ldist
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/libgcov-interface.c: In function '__gcov_execl':
/wrkdirs/usr/ports/lang/gcc12-devel/work/gcc-12-20210829/libgcc/libgcov-interface.c:201:1: internal compiler error: Segmentation fault
  201 | __gcov_execl (const char *path, char *arg, ...)
Comment 6 Piotr Kubaj 2022-03-22 09:09:27 UTC
Builds fine now.