[Bug 214456] lang/gcc6: -r424540: FreeBSD's WITH_DEBUG= and full bootstrap are incompatible and the build stops (powerpc 32-bit anyway)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Nov 14 22:56:38 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214456

--- Comment #4 from Mark Millard <markmi at dsl-only.net> ---
(In reply to Gerald Pfeifer from comment #3)

Below gives the evidence from the script log file. But the summary is that,
while both
stage 2 and stage 3 list -g in the powerpc xg++ command, stage 2's xg++ command
has
-gtoggle and stage 3's xg++ command does not.

-gtoggle is described in
https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html as:

-gtoggle
Turn off generation of debug info, if leaving out this option generates it, or
turn it
on at level 2 otherwise. The position of this argument in the command line does
not
matter; it takes effect after all other options are processed, and it does so
only once,
no matter how many times it is given. This is mainly intended to be used with
-fcompare-debug.

I'll note that so far I've only seen the mismatched comparison on powerpc, not
even
powerpc64. amd64 and armv6 have not had a mismatch.


The detailed evidence using read-rtl.c and its read-rtl.o as an example . . .

The first compile (stage 1) of read-rtl.o from the log (just shown for
reference):

c++ -std=gnu++98 -c   -g -DIN_GCC    -fno-strict-aliasing -fno-exceptions
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wno-format -Wmissing-format-attrib
ute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE
-I. -Ibuild -I/usr/obj/portswork/usr/ports/lang/gc
c6/work/gcc-6.2.0/gcc
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/build
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/../include 
-I/usr/obj/portswork/usr/ports/lang/gcc6
/work/gcc-6.2.0/gcc/../libcpp/include -DLIBICONV_PLUG \
        -o build/read-rtl.o
/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/read-rtl.c
c++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is
deprecated

The 2nd stage (the first compile by xg++):
(formatted to isolate the later difference with the 3rd as single option on its
own line)

/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./prev-gcc/xg++
-B/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./prev-gcc/
-B/usr/local/powerpc-portbld-freebsd12.0/bin/ -nostdinc++ -B/usr/obj
/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/src/.libs
-B/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/li
bsupc++/.libs  -isystem
/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/include/powerpc-portbld-freebsd12.0
 -isystem /usr/obj/portswork/usr/ports/lang
/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/include 
-isystem
/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/libstdc++-v3/libsupc++
-L/usr/obj/portswork/usr/ports/lang/gcc6/
work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/src/.libs
-L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/libsupc++/.libs
-c   -g -O2
-gtoggle
-DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -DGENERATOR_FILE
-fno-PIE -I. -Ibuild
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/build
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/../include
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/../libcpp/include
-DLIBICONV_PLUG \
        -o build/read-rtl.o
/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/read-rtl.c



The 3rd stage (the 2nd compile by xg++) does not have -gtoggle:
(blank line for the lack of the -gtoggle)

/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./prev-gcc/xg++
-B/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./prev-gcc/
-B/usr/local/powerpc-portbld-freebsd12.0/bin/ -nostdinc++ -B/usr/obj
/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/src/.libs
-B/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/li
bsupc++/.libs  -isystem
/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/include/powerpc-portbld-freebsd12.0
 -isystem /usr/obj/portswork/usr/ports/lang
/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/include 
-isystem
/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/libstdc++-v3/libsupc++
-L/usr/obj/portswork/usr/ports/lang/gcc6/
work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/src/.libs
-L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/prev-powerpc-portbld-freebsd12.0/libstdc++-v3/libsupc++/.libs
-c   -g -O2

-DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -DGENERATOR_FILE
-fno-PIE -I. -Ibuild
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/build
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/../include
-I/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/../libcpp/include
-DLIBICONV_PLUG \
        -o build/read-rtl.o
/usr/obj/portswork/usr/ports/lang/gcc6/work/gcc-6.2.0/gcc/read-rtl.c

-gtoggle is the only difference that I find between the commands.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports mailing list