[Bug 207125] lang/gcc9: (clang used to build) CFLAGS for clang stops portmaster lang/gcc9 build (report updated from gcc6 original)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Mar 8 17:26:11 UTC 2020


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

--- Comment #9 from Mark Millard <marklmi26-fbsd at yahoo.com> ---
(In reply to Tatsuki Makino from comment #8)

xgcc that reports the error is not from a binutils
tool.  Note that lang/gcc9/Makefile has:

BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils
RUN_DEPENDS+=   ${LOCALBASE}/bin/as:devel/binutils

which does not use an explicit flavor (no @amd64
present). This means that the devel/binutils used
native as the flavor in its Makefile:

FLAVORS=        native aarch64 aarch64_none_elf amd64 arm_gnueabi arm_none_eabi
\
                avr i386 mingw32 mips mips64 powerpc powerpc64 riscv64 \
                riscv64_none_elf s390x sparc64 riscv32_unknown_elf
FLAVOR?=        native

So in use is devel/binutils, not devel/binutils at amd64 .

But here is the binutils information for my
context anyway:

# pkg info "*binutils*"
aarch64-binutils-2.33.1_2,1
aarch64-none-elf-binutils-2.33.1_2,1
amd64-binutils-2.33.1_2,1
binutils-2.33.1_2,1
powerpc-binutils-2.33.1_2,1
powerpc64-binutils-2.33.1_2,1

As for amd64, the two variants on the
amd64 machine are:

# pkg info amd64-binutils
amd64-binutils-2.33.1_2,1
Name           : amd64-binutils
Version        : 2.33.1_2,1
Installed on   : Thu Jan 30 01:35:31 2020 PST
Origin         : devel/binutils
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : devel
Licenses       : GPLv3, LGPL3
Maintainer     : bapt at FreeBSD.org
WWW            : https://www.gnu.org/software/binutils/
Comment        : GNU binary tools
Options        :
        RELRO          : off
        STATIC         : off
Annotations    :
        FreeBSD_version: 1300075
        cpe            : cpe:2.3:a:gnu:binutils:2.33.1:::::freebsd13:x64:2
        flavor         : amd64
        repo_type      : binary
        repository     : custom
Flat size      : 80.9MiB
. . .

# pkg info binutils
binutils-2.33.1_2,1
Name           : binutils
Version        : 2.33.1_2,1
Installed on   : Thu Jan 30 01:34:52 2020 PST
Origin         : devel/binutils
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : devel
Licenses       : GPLv3, LGPL3
Maintainer     : bapt at FreeBSD.org
WWW            : https://www.gnu.org/software/binutils/
Comment        : GNU binary tools
Options        :
        NLS            : on
        RELRO          : off
        STATIC         : off
Shared Libs required:
        libintl.so.8
Annotations    :
        FreeBSD_version: 1300075
        cpe            : cpe:2.3:a:gnu:binutils:2.33.1:::::freebsd13:x64:2
        flavor         : native
        repo_type      : binary
        repository     : custom
Flat size      : 658MiB
. . .

So both are avilable.

xgcc is a temporary/intermediate compiler from the
full bootstrap sequence. It does not support
-target . System clang is used to build the first
of the temporary/intermediate compilers. It does
support -target .

-target is not essential here: it is just an example
of a command line option that is specific to clang
to show what happens when such are used in CFLAGS.
There may be more such options.

Use of a command line option specific to xgcc or
gcc9 would have problems at the clang stage. But
I've not provided an example for such.

Currently there is no means that I know of for
keeping the options supplied to system clang vs.
to xgcc distinct for the full bootstrap. Instead
one must only use options that both support.

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


More information about the freebsd-ports-bugs mailing list