Bug 240629 - [exp-run] Against projects/clang900-import branch
Summary: [exp-run] Against projects/clang900-import branch
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Port Management Team
URL:
Keywords:
Depends on: 236062 240701 240759 240763 240766 240830 246322
Blocks:
  Show dependency treegraph
 
Reported: 2019-09-17 07:40 UTC by Dimitry Andric
Modified: 2020-07-21 20:07 UTC (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2019-09-17 07:40:47 UTC
I am importing llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp 9.0.0 into the projects/clang900-import branch.

As of 2019-09-17, this branch contains the equivalent of upstream's 9.0.0 rc4, and it has been synchronized with base r352435.

Please perform an exp-run against this branch.

[for convenience, bug 236062 was the previous clang 8.0.0 exp-run]
Comment 2 Dimitry Andric freebsd_committer freebsd_triage 2019-09-19 16:48:06 UTC
(In reply to Antoine Brodin from comment #1)
> lang/gcc* fail to build, for instance:

Hm, that is very strange, I've just built those ports successfully, and there were no linking errors whatsoever?

Gerald, do you have any idea what might cause linking of e.g. gencondmd to fail with:

c++ -std=gnu++98   -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-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE  -no-pie -o build/gencondmd \
    build/gencondmd.o ../build-x86_64-portbld-freebsd13.0/libiberty/libiberty.a
clang-cpp: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
ld: error: undefined symbol: ix86_isa_flags
>>> referenced by subst.md:141 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/subst.md:141)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by subst.md:72 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/subst.md:72)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by sse.md:4520 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/sse.md:4520)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by sse.md:323 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/sse.md:323)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by subst.md:141 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/subst.md:141)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by sse.md:5186 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/sse.md:5186)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by sse.md:282 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/sse.md:282)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by subst.md:178 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/subst.md:178)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by sse.md:2588 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/sse.md:2588)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced by sse.md:189 (/wrkdirs/usr/ports/lang/gcc7/work/gcc-7.4.0/gcc/config/i386/sse.md:189)
>>>               build/gencondmd.o:(__cxx_global_var_init)
>>> referenced 2010 more times

and then a whole bunch of similar "missing" symbols?  Maybe the host is busted somehow?
Comment 3 Antoine Brodin freebsd_committer freebsd_triage 2019-09-19 19:40:27 UTC
I doubt 2 hosts are busted for the same ports.
Comment 5 Dimitry Andric freebsd_committer freebsd_triage 2019-09-20 06:07:03 UTC
Submitted bug 240701 for textproc/groff.
Comment 6 Dimitry Andric freebsd_committer freebsd_triage 2019-09-21 14:35:09 UTC
Ok, at least I have been able to reproduce the gcc failures on a cleanly installed VM.

It looks like in such an environment, the gencondmd.c tool is compiled without any optimization, causing the references to e.g. ix86_isa_flags and similar variables, which are declared in gcc's options.h, but do not seem to be actually *defined* anywhere.

For some reason, on my own machine, gencondmd.c is compiled with -O2 -pipe, and that causes all the references to disappear, hence there are no linking errors.

As to *why* that is, I'm still in the dark.  Gcc's build system is notoriously muddy, so it is hard to see where the options are coming from, and what is supposed to happen.

In short:
1) For the initial generator tools such as 'gencondmd' the flag -DGENERATOR_FILE is used, causing option flags such as ix86_isa_flags to be declared as global extern variables.
2) However, there is no clear location where these global variables are *defined*, as options.c only has them as members of a gcc_option struct.
3) By accident, the references to these non-existing symbols can get optimized out, since they are all in unused inline functions.
Comment 7 commit-hook freebsd_committer freebsd_triage 2019-09-21 21:01:56 UTC
A commit references this bug:

Author: dim
Date: Sat Sep 21 21:01:39 UTC 2019
New revision: 352586
URL: https://svnweb.freebsd.org/changeset/base/352586

Log:
  Pull in r371557 from upstream clang trunk (by Richard Smith):

    When evaluating a __builtin_constant_p conditional, always enter
    constant-folding mode regardless of the original evaluation mode.

    In order for this to be correct, we need to track whether we're
    checking for a potential constant expression or checking for
    undefined behavior separately from the evaluation mode enum, since we
    don't want to clobber those states when entering constant-folding
    mode.

  This should fix "ld: error: undefined symbol: ix86_isa_flags" (and many
  other symbol names) during the initial stages of the lang/gcc* ports.

  The issue was that without optimization, the __builtin_constant_p()
  expressions generated in gencondmd.c would emit references to global
  variables that were undefined, such as ix86_isa_flags.

  PR:		240629

Changes:
  projects/clang900-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
Comment 8 Antoine Brodin freebsd_committer freebsd_triage 2019-09-23 05:38:40 UTC
New failure logs on amd64:

http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/kwave-19.08.1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/ocp-0.1.21_5,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/muscle-3.8.31.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/plinkseq-0.10_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/kicad-doc-5.1.4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/wkhtmltopdf-0.12.5_4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/cassandra-cpp-driver-2.13.0_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/hamsterdb-2.1.11_11.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/mongodb36-3.6.13_2.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/mongodb40-4.0.8_2.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/pgadmin3-1.22.2_3.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/tiledb-1.6.2_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/commoncpp-1.8.1_3,2.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/f18-g20190422_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/gnu-efi-3.0.9_3.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/libpru-0.4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/hte-2.1.1.g20161206_3.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/cannonball-g20190819.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/rpcs3-0.0.7.8748.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/virtualbox-ose-5.2.32_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/virtualbox-ose-nox11-5.2.32_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/dxx-rebirth-20190621_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/openrct2-0.2.3_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/xmoto-0.5.11_9.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/xray_re-tools-g20180902.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/dia-0.97.3_1,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/silgraphite-2.3.1_4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/jlint-3.1.2_5.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/openjdk6-b45,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/openjdk6-jre-b45,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/openjdk-7.161.01,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/openjdk-jre-7.161.01,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/afnix-2.6.3_5.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bogofilter-1.2.5.r1_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bogofilter-kc-1.2.5.r1_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bogofilter-lmdb-1.2.5.r1_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bogofilter-sqlite-1.2.5.r1_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bogofilter-tc-1.2.5.r1_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/cone-1.0_3.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/mailsync-5.2.1_4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/gfan-0.6.2_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/libpredict-2.0.0.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/aegisub-3.2.2_41.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/mythtv-30.0_4,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/mythtv-frontend-30.0_1,1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/dpdk-18.05.1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/php74-pecl-oauth-2.0.3.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bareos16-client-16.2.8_3.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bareos16-client-static-16.2.8_3.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bareos17-client-17.2.7_4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/bareos17-client-static-17.2.7_4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/graid5-1.3.20140711.62.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/lizardfs-3.12.0_4.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/vchanger-1.0.1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/cliqz-1.28.2_1.log
http://package18.nyi.freebsd.org/data/headamd64PR240629-default/2019-09-21_22h04m49s/logs/errors/squid-4.8_1.log
Comment 9 Antoine Brodin freebsd_committer freebsd_triage 2019-09-23 05:41:44 UTC
New failure logs on i386:

http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/kwave-19.08.1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/ocp-0.1.21_5,1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/muscle-3.8.31.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/plinkseq-0.10_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/wkhtmltopdf-0.12.5_4.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/cassandra-cpp-driver-2.13.0_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/hamsterdb-2.1.11_11.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/pgadmin3-1.22.2_3.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/tiledb-1.6.2_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/commoncpp-1.8.1_3,2.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/libpru-0.4.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/nextpnr-g20190529_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/hte-2.1.1.g20161206_3.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/cannonball-g20190819.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/virtualbox-ose-5.2.32_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/virtualbox-ose-nox11-5.2.32_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/chocolate-doom-3.0.0.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/dxx-rebirth-20190621_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/heretic-1.2_8.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/openrct2-0.2.3_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/uhexen-0.601_11.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/xmoto-0.5.11_9.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/xray_re-tools-g20180902.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/colmap-3.5_9.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/dia-0.97.3_1,1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/silgraphite-2.3.1_4.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/xpaint-2.9.10.3_2.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/jlint-3.1.2_5.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/openjdk6-b45,1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/openjdk6-jre-b45,1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/openjdk-7.161.01,1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/openjdk-jre-7.161.01,1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bogofilter-1.2.5.r1_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bogofilter-kc-1.2.5.r1_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bogofilter-lmdb-1.2.5.r1_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bogofilter-sqlite-1.2.5.r1_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bogofilter-tc-1.2.5.r1_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/cone-1.0_3.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/mailsync-5.2.1_4.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/gfan-0.6.2_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/libpredict-2.0.0.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/aegisub-3.2.2_41.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/haproxy-2.0.6_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/haproxy-devel-2.0.d7_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/haproxy18-1.8.21.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/haproxy19-1.9.10.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/nuster-3.0.0.19.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bareos16-client-16.2.8_3.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bareos16-client-static-16.2.8_3.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bareos17-client-17.2.7_4.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/bareos17-client-static-17.2.7_4.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/graid5-1.3.20140711.62.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/lizardfs-3.12.0_4.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/vchanger-1.0.1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/cliqz-1.28.2_1.log
http://pb2.nyi.freebsd.org/data/headi386PR240629-default/2019-09-21_22h04m40s/logs/errors/squid-4.8_1.log
Comment 10 Jan Beich freebsd_committer freebsd_triage 2019-09-30 11:26:49 UTC
- databases/cassandra-cpp-driver fixed by ports r512634
- databases/pgadmin3 fixed by ports r512651
- emulators/cannonball fixed by ports r512877
- emulators/rpcs3 fixed by ports r512687
- games/openrct2 fixed by ports r513341
- games/xray_re-tools fixed by ports r512650
- graphics/dia fixed by ports r512654
- java/openjdk6 fixed by ports r512663
- java/openjdk6-jre fixed by ports r512663
- mail/bogofilter fixed by ports r512633
- multimedia/mythtv fixed by ports r512667
- multimedia/mythtv-frontend fixed by ports r512667
Comment 11 commit-hook freebsd_committer freebsd_triage 2019-12-22 11:51:05 UTC
A commit references this bug:

Author: dim
Date: Sun Dec 22 11:50:50 UTC 2019
New revision: 356004
URL: https://svnweb.freebsd.org/changeset/base/356004

Log:
  Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
  9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

  Release notes for llvm, clang, lld and libc++ 9.0.1 will become
  available here:

  https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

  PR:		240629
  MFC after:	1 month

Changes:
  head/ObsoleteFiles.inc
  head/UPDATING
_U  head/contrib/llvm-project/
_U  head/contrib/llvm-project/clang/
  head/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h
  head/contrib/llvm-project/clang/lib/Basic/Targets/ARM.cpp
  head/contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp
  head/contrib/llvm-project/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ARM.cpp
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp
  head/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp
  head/contrib/llvm-project/clang/lib/Sema/SemaType.cpp
_U  head/contrib/llvm-project/compiler-rt/
  head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingUtil.c
_U  head/contrib/llvm-project/lld/
  head/contrib/llvm-project/lld/COFF/Driver.cpp
  head/contrib/llvm-project/lld/ELF/Symbols.h
  head/contrib/llvm-project/lld/docs/ReleaseNotes.rst
_U  head/contrib/llvm-project/lldb/
  head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.cpp
  head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
  head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  head/contrib/llvm-project/lldb/source/Symbol/Symtab.cpp
_U  head/contrib/llvm-project/llvm/
  head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineFunction.h
  head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstr.h
  head/contrib/llvm-project/llvm/include/llvm/CodeGen/StackProtector.h
  head/contrib/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
  head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/GVN.h
  head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
  head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/MachineFunction.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/MachineInstr.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp
  head/contrib/llvm-project/llvm/lib/Object/ELFObjectFile.cpp
  head/contrib/llvm-project/llvm/lib/Support/ARMTargetParser.cpp
  head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
  head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
  head/contrib/llvm-project/llvm/lib/Target/ARM/ARM.td
  head/contrib/llvm-project/llvm/lib/Target/ARM/ARMPredicates.td
  head/contrib/llvm-project/llvm/lib/Target/ARM/ARMSubtarget.h
  head/contrib/llvm-project/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
  head/contrib/llvm-project/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  head/contrib/llvm-project/llvm/lib/Target/PowerPC/P9InstrResources.td
  head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td
  head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.h
  head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
  head/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp
  head/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.h
  head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.cpp
  head/contrib/llvm-project/llvm/lib/Target/X86/X86MachineFunctionInfo.h
  head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVN.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp
  head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
  head/contrib/llvm-project/llvm/tools/llvm-objcopy/ObjcopyOpts.td
  head/contrib/llvm-project/llvm/tools/llvm-objcopy/StripOpts.td
  head/contrib/llvm-project/llvm/tools/opt/opt.cpp
  head/etc/mtree/BSD.debug.dist
  head/etc/mtree/BSD.usr.dist
  head/lib/clang/freebsd_cc_version.h
  head/lib/clang/headers/Makefile
  head/lib/clang/include/VCSVersion.inc
  head/lib/clang/include/clang/Basic/Version.inc
  head/lib/clang/include/clang/Config/config.h
  head/lib/clang/include/lld/Common/Version.inc
  head/lib/clang/include/llvm/Config/config.h
  head/lib/clang/include/llvm/Config/llvm-config.h
  head/lib/clang/include/llvm/Support/VCSRevision.h
  head/lib/libclang_rt/Makefile.inc
  head/tools/build/mk/OptionalObsoleteFiles.inc
Comment 12 commit-hook freebsd_committer freebsd_triage 2020-01-07 20:02:39 UTC
A commit references this bug:

Author: dim
Date: Tue Jan  7 20:02:05 UTC 2020
New revision: 356465
URL: https://svnweb.freebsd.org/changeset/base/356465

Log:
  MFC r356004:

  Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
  9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

  Release notes for llvm, clang, lld and libc++ 9.0.1 will become
  available here:

  https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

  PR:		240629

Changes:
_U  stable/12/
  stable/12/ObsoleteFiles.inc
  stable/12/UPDATING
_U  stable/12/contrib/llvm-project/clang/
  stable/12/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h
  stable/12/contrib/llvm-project/clang/lib/Basic/Targets/ARM.cpp
  stable/12/contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp
  stable/12/contrib/llvm-project/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  stable/12/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ARM.cpp
  stable/12/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp
  stable/12/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp
  stable/12/contrib/llvm-project/clang/lib/Sema/SemaType.cpp
_U  stable/12/contrib/llvm-project/compiler-rt/
  stable/12/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingUtil.c
_U  stable/12/contrib/llvm-project/lld/
  stable/12/contrib/llvm-project/lld/COFF/Driver.cpp
  stable/12/contrib/llvm-project/lld/ELF/Symbols.h
  stable/12/contrib/llvm-project/lld/docs/ReleaseNotes.rst
_U  stable/12/contrib/llvm-project/lldb/
  stable/12/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.cpp
  stable/12/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
  stable/12/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  stable/12/contrib/llvm-project/lldb/source/Symbol/Symtab.cpp
_U  stable/12/contrib/llvm-project/llvm/
  stable/12/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineFunction.h
  stable/12/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstr.h
  stable/12/contrib/llvm-project/llvm/include/llvm/CodeGen/StackProtector.h
  stable/12/contrib/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
  stable/12/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/GVN.h
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/MachineFunction.cpp
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/MachineInstr.cpp
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
  stable/12/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp
  stable/12/contrib/llvm-project/llvm/lib/Object/ELFObjectFile.cpp
  stable/12/contrib/llvm-project/llvm/lib/Support/ARMTargetParser.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/ARM/ARM.td
  stable/12/contrib/llvm-project/llvm/lib/Target/ARM/ARMPredicates.td
  stable/12/contrib/llvm-project/llvm/lib/Target/ARM/ARMSubtarget.h
  stable/12/contrib/llvm-project/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/PowerPC/P9InstrResources.td
  stable/12/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  stable/12/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td
  stable/12/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.h
  stable/12/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
  stable/12/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.h
  stable/12/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.cpp
  stable/12/contrib/llvm-project/llvm/lib/Target/X86/X86MachineFunctionInfo.h
  stable/12/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.cpp
  stable/12/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  stable/12/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
  stable/12/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVN.cpp
  stable/12/contrib/llvm-project/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
  stable/12/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp
  stable/12/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
  stable/12/contrib/llvm-project/llvm/tools/llvm-objcopy/ObjcopyOpts.td
  stable/12/contrib/llvm-project/llvm/tools/llvm-objcopy/StripOpts.td
  stable/12/contrib/llvm-project/llvm/tools/opt/opt.cpp
  stable/12/etc/mtree/BSD.debug.dist
  stable/12/etc/mtree/BSD.usr.dist
  stable/12/lib/clang/freebsd_cc_version.h
  stable/12/lib/clang/headers/Makefile
  stable/12/lib/clang/include/VCSVersion.inc
  stable/12/lib/clang/include/clang/Basic/Version.inc
  stable/12/lib/clang/include/clang/Config/config.h
  stable/12/lib/clang/include/lld/Common/Version.inc
  stable/12/lib/clang/include/llvm/Config/config.h
  stable/12/lib/clang/include/llvm/Config/llvm-config.h
  stable/12/lib/clang/include/llvm/Support/VCSRevision.h
  stable/12/lib/libclang_rt/Makefile.inc
  stable/12/tools/build/mk/OptionalObsoleteFiles.inc
Comment 13 Jan Beich freebsd_committer freebsd_triage 2020-05-03 00:07:20 UTC
Is this going to be merged into /stable/11? Like bug 215193 predicted old compiler and, especially, old libc++ will put a strain on 11.4 support in ports/. See emulators/rpcs3/files/patch-libc++8 for an early canary.
Comment 14 Dimitry Andric freebsd_committer freebsd_triage 2020-05-03 09:05:14 UTC
(In reply to Jan Beich from comment #13)
I have nothing against it, but we're in code slush now? Merging 9.0.1 could be done, but you could consider it to be quite a big change...
Comment 15 Glen Barber freebsd_committer freebsd_triage 2020-05-04 13:17:44 UTC
(In reply to Dimitry Andric from comment #14)
I think it should be fine, especially considering you have merged this to stable/12.
Comment 16 commit-hook freebsd_committer freebsd_triage 2020-05-05 17:51:13 UTC
A commit references this bug:

Author: dim
Date: Tue May  5 17:50:28 UTC 2020
New revision: 360661
URL: https://svnweb.freebsd.org/changeset/base/360661

Log:
  Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
  9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05, and a
  number of follow-ups.

  MFC r355948:

  Bootstrap mergeinfo for contrib/llvm-project

  Merge (record-only) the following paths to contrib/llvm-project:
  * ^/vendor/llvm-project/master
  * ^/vendor/llvm-project/release-8.x
  * ^/vendor/llvm-project/release-9.x

  MFC r355951:

  Merge empty dir updates from r355950 in vendor/llvm-project.

  MFC r355957:

  Merge diff elimination updates from r355953 into vendor/llvm-project.

  MFC r355959:

  Consolidate FREEBSD-Xlist files of different llvm sub-projects into one.

  MFC r356004:

  Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
  9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

  Release notes for llvm, clang, lld and libc++ 9.0.1 will become
  available here:

  https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
  https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

  PR:		240629

  MFC r356005:

  Merge commit f97936fab from llvm git (by Eric Fiselier):

    [libc++] Cleanup and enable multiple warnings.

    Too many warnings are being disabled too quickly. Warnings are
    important to keeping libc++ correct. This patch re-enables two
    warnings: -Wconstant-evaluated and -Wdeprecated-copy.

    In future, all warnings disabled for the test suite should require an
    attached bug. The bug should state the plan for re-enabling that
    warning, or a strong case why it should remain disabled.

  This should fix a number of new g++ 9 warnings.

  Requested by:	rlibby

  MFC r356100:

  Merge commit d3aeac8e2 from llvm git (by Justin Hibbits)

    [PowerPC] Only use PLT annotations if using PIC relocation model

    Summary:
    The default static (non-PIC, non-PIE) model for 32-bit powerpc does
    not use @PLT annotations and relocations in GCC.  LLVM shouldn't use
    @PLT annotations either, because it breaks secure-PLT linking with
    (some versions of?) GNU LD.

    Update the available-externally.ll test to reflect that default mode
    should be the same as the static relocation, by using the same check
    prefix.

    Reviewed by:    sfertile
    Differential Revision: https://reviews.llvm.org/D70570

  Reviewed by:	jhibbits
  Differential Revision: https://reviews.freebsd.org/D22913

  MFC r356104 (by jhibbits):

  [PowerPC] enable atomic.c in compiler_rt and do not check and forces
  lock/lock_free decisions in compiled time

  Summary:
  Enables atomic.c in compiler_rt and forces clang to not emit a call for runtime
  decision about lock/lock_free.  At compiling time, if clang can't decide if
  atomic operation can be lock free, it emits calls to external functions  like
  `__atomic_is_lock_free`, `__c11_atomic_is_lock_free` and
  `__atomic_always_lock_free`, postponing decision to a runtime check.  According
  to LLVM code documentation, the mechanism exists due to differences between
  x86_64 processors that can't be decided at runtime.

  On PowerPC and PowerPCSPE (32 bits), we already know in advance it can't be lock
  free, so we force the decision at compile time and avoid having to implement it
  in an external library.

  This patch was made after 32 bit users testing the PowePC32 bit ISO reported
  llvm could not be compiled with in-base llvm due to `__atomic_load8` not
  implemented.

  Submitted by:	alfredo.junior_eldorado.org.br
  Reviewed by:	jhibbits, dim

  Differential Revision:	https://reviews.freebsd.org/D22549

  MFC r356112 (by jhibbits):

  [PowerPC64] Starting from FreeBSD 13.0, default to ELFv2 ABI

  This changes the LLVM default powerpc64 ABI to ELFv2, if target OS is
  FreeBSD >= 13.0

  This will also be sent upstream.

  Submitted by:	alfredo.junior_eldorado.org.br
  Reviewed by:	dim, luporl
  Relnotes:	YES
  Differential Revision:	https://reviews.freebsd.org/D20383

  MFC r356256:

  Merge commit 468a0cb5f from llvm git (by Craig Topper):

    [X86] Add X87 FCMOV support to X86FlagsCopyLowering.

    Fixes PR44396

  Merge commit 86f48999f from llvm git (by Craig Topper):

    [X86] Fix typo in getCMovOpcode.

    The 64-bit HasMemoryOperand line was using CMOV32rm instead of
    CMOV64rm. Not sure how to test this. We have no test coverage that
    passes true for HasMemoryOperand.

  This fixes 'Assertion failed: (MI.findRegisterDefOperand(X86::EFLAGS) &&
  "Expected a def of EFLAGS for this instruction!"), function
  runOnMachineFunction' when compiling the misc/gpsim port for i386.

  Reported by:	yuri
  Upstream PR:	https://bugs.llvm.org/show_bug.cgi?id=44396

  MFC r356329:

  Merge commit 41449c58c from llvm git (by Roger Ferrer Ibanez):

    [RISCV] Fix evaluation of %pcrel_lo

    The following testcase

      function:
      .Lpcrel_label1:
            auipc   a0, %pcrel_hi(other_function)
            addi    a1, a0, %pcrel_lo(.Lpcrel_label1)
            .p2align        2          # Causes a new fragment to be emitted

            .type   other_function,@function
      other_function:
            ret

    exposes an odd behaviour in which only the %pcrel_hi relocation is
    evaluated but not the %pcrel_lo.

      $ llvm-mc -triple riscv64 -filetype obj t.s | llvm-objdump  -d -r -

      <stdin>:      file format ELF64-riscv

      Disassembly of section .text:
      0000000000000000 function:
             0:     17 05 00 00     auipc   a0, 0
             4:     93 05 05 00     mv      a1, a0
                    0000000000000004:  R_RISCV_PCREL_LO12_I other_function+4

      0000000000000008 other_function:
             8:     67 80 00 00     ret

    The reason seems to be that in RISCVAsmBackend::shouldForceRelocation
    we only consider the fragment but in RISCVMCExpr::evaluatePCRelLo we
    consider the section. This usually works but there are cases where
    the section may still be the same but the fragment may be another
    one. In that case we end forcing a %pcrel_lo relocation without any
    %pcrel_hi.

    This patch makes RISCVAsmBackend::shouldForceRelocation use the
    section, if any, to determine if the relocation must be forced or
    not.

    Differential Revision: https://reviews.llvm.org/D60657

  This is a prerequisite for building and linking hard- and soft-float
  riscv worlds with clang and lld.

  Requested by:	jhb

  MFC r356330:

  Merge commit da7b129b1 from llvm git (by James Clarke):

    [RISCV] Don't force Local Exec TLS for non-PIC

    Summary:

    Forcing Local Exec TLS requires the use of copy relocations. Copy
    relocations need special handling in the runtime linker when being
    used against TLS symbols, which is present in glibc, but not in
    FreeBSD nor musl, and so cannot be relied upon. Moreover, copy
    relocations are a hack that embed the size of an object in the ABI
    when it otherwise wouldn't be, and break protected symbols (which are
    expected to be DSO local), whilst also wasting space, thus they
    should be avoided whenever possible. As discussed in D70398, RISC-V
    should move away from forcing Local Exec, and instead use Initial
    Exec like other targets, with possible linker relaxation to follow.
    The RISC-V GCC maintainers also intend to adopt this
    more-conventional behaviour (see
    https://github.com/riscv/riscv-elf-psabi-doc/issues/122).

    Reviewers: asb, MaskRay

    Reviewed By: MaskRay

    Subscribers: emaste, krytarowski, hiraditya, rbar, johnrusso,
    simoncook, sabuasal, niosHD, kito-cheng, shiva0217, zzheng,
    edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe,
    PkmX, jocewei, psnobl, benna, Jim, lenary, s.egerton, pzheng,
    sameer.abuasal, apazos, llvm-commits, bsdjhb

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D70649

  This is a prerequisite for building and linking hard- and soft-float
  riscv worlds with clang and lld.

  Requested by:	jhb

  MFC r356331:

  ?Merge commit c6b09bff5 from llvm git (by Lu?s Marques):

    [RISCV] Fix wrong CFI directives

    Summary: Removes CFI CFA directives that could incorrectly propagate
    beyond the basic block they were inteded for. Specifically it removes
    the epilogue CFI directives. See the branch_and_tail_call test for an
    example of the issue. Should fix the stack unwinding issues caused by
    the incorrect directives.

    Reviewers: asb, lenary, shiva0217
    Reviewed By: lenary
    Tags: #llvm
    Differential Revision: https://reviews.llvm.org/D69723

  This is a prerequisite for building and linking hard- and soft-float
  riscv worlds with clang and lld.

  Requested by:	jhb

  MFC r356332:

  ?Merge commit d7be3eab5 from llvm git (by Lu?s Marques):

    [RISCV] Handle fcopysign(f32, f64) and fcopysign(f64, f32)

    Summary: Adds tablegen patterns to explicitly handle fcopysign where
    the magnitude and sign arguments have different types, due to the
    sign value casts being removed the by DAGCombiner. Support for RV32IF
    follows in a separate commit. Adds tests for all relevant scenarios
    except RV32IF.

    Reviewers: lenary
    Reviewed By: lenary
    Tags: #llvm
    Differential Revision: https://reviews.llvm.org/D70678

  This is a prerequisite for building and linking hard- and soft-float
  riscv worlds with clang and lld.

  Requested by:	jhb

  MFC r356333:

  ?Merge commit 189b7393d from llvm git (by John Baldwin):

    [lld][RISCV] Use an e_flags of 0 if there are only binary input files.

    Summary:
    If none of the input files are ELF object files (for example, when
    generating an object file from a single binary input file via "-b
    binary"), use a fallback value for the ELF header flags instead of
    crashing with an assertion failure.

    Reviewers: MaskRay, ruiu, espindola

    Reviewed By: MaskRay, ruiu

    Subscribers: kevans, grimar, emaste, arichardson, asb, rbar,
    johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217,
    zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o,
    rkruppe, PkmX, jocewei, psnobl, benna, Jim, lenary, s.egerton,
    pzheng, sameer.abuasal, apazos, luismarques, llvm-commits, jrtc27

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D71101

  This is a prerequisite for building and linking hard- and soft-float
  riscv worlds with clang and lld.

  Requested by:	jhb

  MFC r356701:

  Merge commit f46ba4f07 from llvm git (by Simon Atanasyan):

    [mips] Use less registers to load address of TargetExternalSymbol

    There is no pattern matched `add hi, (MipsLo texternalsym)`. As a
    result, loading an address of 32-bit symbol requires two registers
    and one more additional instruction:
    ```
    addiu $1, $zero, %lo(foo)
    lui   $2, %hi(foo)
    addu  $25, $2, $1
    ```

    This patch adds the missed pattern and enables generation more
    effective set of instructions:
    ```
    lui   $1, %hi(foo)
    addiu $25, $1, %lo(foo)
    ```

    Differential Revision: https://reviews.llvm.org/D66771

    llvm-svn: 370196

  Merge commit 59bb3609f from llvm git (by Simon Atanasyan):

    [mips] Fix 64-bit address loading in case of applying 32-bit mask to
    the result

    If result of 64-bit address loading combines with 32-bit mask, LLVM
    tries to optimize the code and remove "redundant" loading of upper
    32-bits of the address. It leads to incorrect code on MIPS64 targets.

    MIPS backend creates the following chain of commands to load 64-bit
    address in the `MipsTargetLowering::getAddrNonPICSym64` method:
    ```
    (add (shl (add (shl (add %highest(sym), %higher(sym)),
  		      16),
  		 %hi(sym)),
  	    16),
         %lo(%sym))
    ```

    If the mask presents, LLVM decides to optimize the chain of commands.
    It really does not make sense to load upper 32-bits because the
    0x0fffffff mask anyway clears them. After removing redundant commands
    we get this chain:
    ```
    (add (shl (%hi(sym), 16), %lo(%sym))
    ```

    There is no patterns matched `(MipsHi (i64 symbol))`. Due a bug in
    `SYM_32` predicate definition, backend incorrectly selects a pattern
    for a 32-bit symbols and uses the `lui` instruction for loading
    `%hi(sym)`.

    As a result we get incorrect set of instructions with unnecessary
    16-bit left shifting:
    ```
    lui     at,0x0
        R_MIPS_HI16     foo
    dsll    at,at,0x10
    daddiu  at,at,0
        R_MIPS_LO16     foo
    ```

    This patch resolves two problems:
    - Fix `SYM_32/SYM_64` predicates to prevent selection of patterns
      dedicated to 32-bit symbols in case of using N64 ABI.
    - Add missed patterns for 64-bit symbols for `%hi/%lo`.

    Fix PR42736.

    Differential Revision: https://reviews.llvm.org/D66228

    llvm-svn: 370268

  These two commits fix a miscompilation of the kernel for mips64, and
  should allow clang to be used as the default compiler for mips64.

  Requested by:	arichards

  MFC r356789 (by arichardson):

  Merge commit 894f742acb from llvm git (by me):

    [MIPS][ELF] Use PC-relative relocations in .eh_frame when possible

    When compiling position-independent executables, we now use
    DW_EH_PE_pcrel | DW_EH_PE_sdata4. However, the MIPS ABI does not define a
    64-bit PC-relative ELF relocation so we cannot use sdata8 for the large
    code model case. When using the large code model, we fall back to the
    previous behaviour of generating absolute relocations.

    With this change clang-generated .o files can be linked by LLD without
    having to pass -Wl,-z,notext (which creates text relocations).
    This is simpler than the approach used by ld.bfd, which rewrites the
    .eh_frame section to convert absolute relocations into relative references.

    I saw in D13104 that apparently ld.bfd did not accept pc-relative relocations
    for MIPS ouput at some point. However, I also checked that recent ld.bfd
    can process the clang-generated .o files so this no longer seems true.

    Reviewed By: atanasyan
    Differential Revision: https://reviews.llvm.org/D72228

  Merge commit 8e8ccf47 from llvm git (by me)

    [MIPS] Don't emit R_(MICRO)MIPS_JALR relocations against data symbols

    The R_(MICRO)MIPS_JALR optimization only works when used against functions.
    Using the relocation against a data symbol (e.g. function pointer) will
    cause some linkers that don't ignore the hint in this case (e.g. LLD prior
    to commit 5bab291) to generate a relative branch to the data symbol
    which crashes at run time. Before this patch, LLVM was erroneously emitting
    these relocations against local-dynamic TLS function pointers and global
    function pointers with internal visibility.

    Reviewers: atanasyan, jrtc27, vstefanovic
    Reviewed By: atanasyan
    Differential Revision: https://reviews.llvm.org/D72571

  These two changes should allow using lld for MIPS64 (and maybe also MIPS32)
  by default.
  The second commit is not strictly necessary for clang+lld since LLD9 will
  not perform the R_MIPS_JALR optimization (it was only added for 10) but it
  is probably required in order to use recent ld.bfd.

  Reviewed By:	dim, emaste
  Differential Revision: https://reviews.freebsd.org/D23203

  MFC r356929:

  Merge commit bc4bc5aa0 from llvm git (by Justin Hibbits):

    Add 8548 CPU definition and attributes

    8548 CPU is GCC's name for the e500v2, so accept this in clang.  The
    e500v2 doesn't support lwsync, so define __NO_LWSYNC__ for this as
    well, as GCC does.

    Differential Revision:  https://reviews.llvm.org/D67787

  Merge commit ff0311c4b from llvm git (by Justin Hibbits):

    [PowerPC]: Add powerpcspe target triple subarch component

    Summary:
    This allows the use of '-target powerpcspe-unknown-linux-gnu' or
    'powerpcspe-unknown-freebsd' to be used, instead of '-target
    powerpc-unknown-linux-gnu -mspe'.

    Reviewed By: dim
    Differential Revision: https://reviews.llvm.org/D72014

  Merge commit ba91dffaf from llvm git (by Fangrui Song):

    [Driver][PowerPC] Move powerpcspe logic from cc1 to Driver

    Follow-up of D72014. It is more appropriate to use a target feature
    instead of a SubTypeArch to express the difference.

    Reviewed By: #powerpc, jhibbits

    Differential Revision: https://reviews.llvm.org/D72433

  commit 36eedfcb3 from llvm git (by Justin Hibbits):

    [PowerPC] Fix powerpcspe subtarget enablement in llvm backend

    Summary:

    As currently written, -target powerpcspe will enable SPE regardless
    of disabling the feature later on in the command line.  Instead,
    change this to just set a default CPU to 'e500' instead of a generic
    CPU.

    As part of this, add FeatureSPE to the e500 definition.

    Reviewed By: MaskRay
    Differential Revision: https://reviews.llvm.org/D72673

  These are needed to unbreak the build for powerpcspe.

  Requested by:	jhibbits

  MFC r358711:

  Merge commit f75939599 from llvm git (by Erich Keane):

    Reland r374450 with Richard Smith's comments and test fixed.

    The behavior from the original patch has changed, since we're no
    longer allowing LLVM to just ignore the alignment.  Instead, we're
    just assuming the maximum possible alignment.

    Differential Revision: https://reviews.llvm.org/D68824

    llvm-svn: 374562

  This fixes 'Assertion failed: (Alignment != 0 && "Invalid Alignment"),
  function CreateAlignmentAssumption', when building recent versions of
  v8, which invoke __builtin_assume_aligned() with its alignment argument
  set to 4GiB or more.

  Clang will now report a warning, and show the maximum possible alignment
  instead, e.g.:

  huge-align.cpp:1:27: warning: requested alignment must be 536870912 bytes or smaller; maximum alignment assumed [-Wbuiltin-assume-aligned-alignment]
  void *f(void *g) { return __builtin_assume_aligned(g, 4294967296); }
                            ^                           ~~~~~~~~~~

  Upstream PR:	https://bugs.llvm.org/show_bug.cgi?id=43839
  Reported by:	cem

Changes:
_U  stable/11/
  stable/11/ObsoleteFiles.inc
  stable/11/UPDATING
  stable/11/contrib/llvm-project/FREEBSD-Xlist
_U  stable/11/contrib/llvm-project/clang/
  stable/11/contrib/llvm-project/clang/FREEBSD-Xlist
  stable/11/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td
  stable/11/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h
  stable/11/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp
  stable/11/contrib/llvm-project/clang/lib/Basic/Targets/ARM.cpp
  stable/11/contrib/llvm-project/clang/lib/Basic/Targets/PPC.cpp
  stable/11/contrib/llvm-project/clang/lib/Basic/Targets/PPC.h
  stable/11/contrib/llvm-project/clang/lib/Basic/Version.cpp
  stable/11/contrib/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp
  stable/11/contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp
  stable/11/contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp
  stable/11/contrib/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp
  stable/11/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp
  stable/11/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp
  stable/11/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h
  stable/11/contrib/llvm-project/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  stable/11/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ARM.cpp
  stable/11/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/PPC.cpp
  stable/11/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp
  stable/11/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp
  stable/11/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp
  stable/11/contrib/llvm-project/clang/lib/Sema/SemaType.cpp
_U  stable/11/contrib/llvm-project/compiler-rt/
  stable/11/contrib/llvm-project/compiler-rt/FREEBSD-Xlist
  stable/11/contrib/llvm-project/compiler-rt/lib/builtins/atomic.c
  stable/11/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingUtil.c
_U  stable/11/contrib/llvm-project/libcxx/
  stable/11/contrib/llvm-project/libcxx/FREEBSD-Xlist
  stable/11/contrib/llvm-project/libcxx/FREEBSD-upgrade
  stable/11/contrib/llvm-project/libcxx/include/__bit_reference
  stable/11/contrib/llvm-project/libcxx/include/__errc
  stable/11/contrib/llvm-project/libcxx/include/__hash_table
  stable/11/contrib/llvm-project/libcxx/include/__tree
  stable/11/contrib/llvm-project/libcxx/include/errno.h
  stable/11/contrib/llvm-project/libcxx/include/ext/hash_map
  stable/11/contrib/llvm-project/libcxx/include/random
  stable/11/contrib/llvm-project/libcxx/include/valarray
_U  stable/11/contrib/llvm-project/libunwind/
  stable/11/contrib/llvm-project/libunwind/FREEBSD-Xlist
_U  stable/11/contrib/llvm-project/lld/
  stable/11/contrib/llvm-project/lld/COFF/Driver.cpp
  stable/11/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp
  stable/11/contrib/llvm-project/lld/ELF/Symbols.h
  stable/11/contrib/llvm-project/lld/FREEBSD-Xlist
  stable/11/contrib/llvm-project/lld/docs/ReleaseNotes.rst
_U  stable/11/contrib/llvm-project/lldb/
  stable/11/contrib/llvm-project/lldb/FREEBSD-Xlist
  stable/11/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.cpp
  stable/11/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
  stable/11/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  stable/11/contrib/llvm-project/lldb/source/Symbol/Symtab.cpp
_U  stable/11/contrib/llvm-project/llvm/
  stable/11/contrib/llvm-project/llvm/FREEBSD-Xlist
  stable/11/contrib/llvm-project/llvm/include/llvm/ADT/Triple.h
  stable/11/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineFunction.h
  stable/11/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstr.h
  stable/11/contrib/llvm-project/llvm/include/llvm/CodeGen/StackProtector.h
  stable/11/contrib/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
  stable/11/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/GVN.h
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/MachineFunction.cpp
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/MachineInstr.cpp
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
  stable/11/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp
  stable/11/contrib/llvm-project/llvm/lib/MC/MCObjectFileInfo.cpp
  stable/11/contrib/llvm-project/llvm/lib/Object/ELFObjectFile.cpp
  stable/11/contrib/llvm-project/llvm/lib/Object/RelocationResolver.cpp
  stable/11/contrib/llvm-project/llvm/lib/Support/ARMTargetParser.cpp
  stable/11/contrib/llvm-project/llvm/lib/Support/Triple.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/ARM/ARM.td
  stable/11/contrib/llvm-project/llvm/lib/Target/ARM/ARMPredicates.td
  stable/11/contrib/llvm-project/llvm/lib/Target/ARM/ARMSubtarget.h
  stable/11/contrib/llvm-project/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/Mips/Mips.td
  stable/11/contrib/llvm-project/llvm/lib/Target/Mips/Mips64InstrInfo.td
  stable/11/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelLowering.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrInfo.td
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/P9InstrResources.td
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoD.td
  stable/11/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.h
  stable/11/contrib/llvm-project/llvm/lib/Target/WebAssembly/InstPrinter/
  stable/11/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
  stable/11/contrib/llvm-project/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.h
  stable/11/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.cpp
  stable/11/contrib/llvm-project/llvm/lib/Target/X86/X86MachineFunctionInfo.h
  stable/11/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.cpp
  stable/11/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  stable/11/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
  stable/11/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVN.cpp
  stable/11/contrib/llvm-project/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
  stable/11/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp
  stable/11/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
  stable/11/contrib/llvm-project/llvm/tools/llvm-objcopy/ObjcopyOpts.td
  stable/11/contrib/llvm-project/llvm/tools/llvm-objcopy/StripOpts.td
  stable/11/contrib/llvm-project/llvm/tools/opt/opt.cpp
_U  stable/11/contrib/llvm-project/openmp/
  stable/11/contrib/llvm-project/openmp/FREEBSD-Xlist
  stable/11/etc/mtree/BSD.debug.dist
  stable/11/etc/mtree/BSD.usr.dist
  stable/11/lib/clang/freebsd_cc_version.h
  stable/11/lib/clang/headers/Makefile
  stable/11/lib/clang/include/VCSVersion.inc
  stable/11/lib/clang/include/clang/Basic/Version.inc
  stable/11/lib/clang/include/clang/Config/config.h
  stable/11/lib/clang/include/lld/Common/Version.inc
  stable/11/lib/clang/include/llvm/Config/config.h
  stable/11/lib/clang/include/llvm/Config/llvm-config.h
  stable/11/lib/clang/include/llvm/Support/VCSRevision.h
  stable/11/lib/libclang_rt/Makefile.inc
  stable/11/lib/libcompiler_rt/Makefile.inc
  stable/11/tools/build/mk/OptionalObsoleteFiles.inc