Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 May 2020 15:23:36 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 246540] /usr/bin/as deprecation warning from BZ233611 & r350518 breaks GNU assembler detection in cmake
Message-ID:  <bug-246540-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D246540

            Bug ID: 246540
           Summary: /usr/bin/as deprecation warning from BZ233611 &
                    r350518 breaks GNU assembler detection in cmake
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: gnu
          Assignee: bugs@FreeBSD.org
          Reporter: dch@freebsd.org

https://reviews.freebsd.org/D24664 contains an update to
databases/foundationdb-devel which now breaks with following cmake warning,=
 at
least on 13.0-CURRENT > r3661107. I expect the next pkg.freebsd.org build w=
ill
fail on this as well.

Checking whether the ASM compiler is GNU using "--version" did not match "(=
GNU
assembler)|(GCC)|(Free Software Foundation)":
FreeBSD clang version 10.0.0 (git@github.com:llvm/llvm-project.git
llvmorg-10.0.0-0-gd32170dbd5b)
Target: x86_64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin

presumably after running this:

$ as --version
warning: as 2.17.50 is deprecated in FreeBSD and will be removed
GNU assembler 2.17.50 [FreeBSD] 2007-07-03
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-unknown-freebsd'.

devel/cmake (v3.17.2) includes:

cmake-3.17.2/Modules/CMakeDetermineASMCompiler.cmake
59:  set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_GNU "(GNU
assembler)|(GCC)|(Free Software Foundation)")

I'm not clear what the right fix here is, as this is probably not the only =
port
that will break on this.

I've learned about:

- `cmake -D_CMAKE_TOOLCHAIN_PREFIX=3Dllvm-` via
https://stackoverflow.com/questions/7031126/switching-between-gcc-and-clang=
-llvm-using-cmake

which would be fine if this port had an explicit llvm dependency (which it
doesn't)

- if /usr/bin/as *appended* its warning to the version, on the same first l=
ine,
CMakeDetermineASMCompiler.cmake could simply detect that, and we'd have an
additional local patch.

as --version
GNU assembler 2.17.50 [FreeBSD] 2007-07-03 warning: as 2.17.50 is deprecate=
d in
FreeBSD and will be removed

committed here:

Author: emaste <emaste@FreeBSD.org>
Date:   Thu Aug 1 19:01:27 2019 +0000

    as: add deprecation notice to the man page

    In the future FreeBSD will ship without GNU binutils 2.17.50.  Add a
    note advising users who require GNU as to install the binutils port
    or package.

    Note that on armv7, arm64, amd64, i386 we currently ship only two
    binutils tools (as and objdump).  A deprecation notice was added to
    objdump's man page some time ago.

    PR:             233611
    Discussed with: jhb
    MFC after:      1 week
    Relnotes:       Yes
    Sponsored by:   The FreeBSD Foundation

Notes:
    svn path=3D/head/; revision=3D350518

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-246540-227>