History log of /freebsd-11-stable/lib/libgcc_eh/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
360660 05-May-2020 dim

MFC r355940:

Move all sources from the llvm project into contrib/llvm-project.

This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo". That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.

Updating the vendor area to match this layout is next.


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libunwind
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm-project
/freebsd-11-stable/contrib/llvm-project/clang
/freebsd-11-stable/contrib/llvm-project/compiler-rt
/freebsd-11-stable/contrib/llvm-project/libcxx
/freebsd-11-stable/contrib/llvm-project/libcxx/include/__errc
/freebsd-11-stable/contrib/llvm-project/libcxx/include/errno.h
/freebsd-11-stable/contrib/llvm-project/libunwind
/freebsd-11-stable/contrib/llvm-project/lld
/freebsd-11-stable/contrib/llvm-project/lldb
/freebsd-11-stable/contrib/llvm-project/llvm
/freebsd-11-stable/contrib/llvm-project/openmp
/freebsd-11-stable/contrib/openmp
/freebsd-11-stable/gnu/usr.bin/cc/include/Makefile
/freebsd-11-stable/lib/clang/clang.build.mk
/freebsd-11-stable/lib/clang/clang.pre.mk
/freebsd-11-stable/lib/clang/libclang/Makefile
/freebsd-11-stable/lib/clang/liblldb/Makefile
/freebsd-11-stable/lib/clang/libllvm/Makefile
/freebsd-11-stable/lib/clang/libllvmminimal/Makefile
/freebsd-11-stable/lib/clang/lldb.pre.mk
/freebsd-11-stable/lib/clang/llvm.build.mk
/freebsd-11-stable/lib/clang/llvm.pre.mk
/freebsd-11-stable/lib/libblocksruntime/Makefile
/freebsd-11-stable/lib/libc++/Makefile
/freebsd-11-stable/lib/libc++experimental/Makefile
/freebsd-11-stable/lib/libc/arm/aeabi/Makefile.inc
/freebsd-11-stable/lib/libclang_rt/Makefile.inc
/freebsd-11-stable/lib/libcompiler_rt/Makefile.inc
/freebsd-11-stable/lib/libexecinfo/Makefile
Makefile.inc
/freebsd-11-stable/lib/libomp/Makefile
/freebsd-11-stable/share/doc/llvm/Makefile
/freebsd-11-stable/share/doc/llvm/clang/Makefile
/freebsd-11-stable/share/mk/bsd.clang-analyze.mk
/freebsd-11-stable/stand/i386/boot2/Makefile
/freebsd-11-stable/stand/libsa/Makefile
/freebsd-11-stable/usr.bin/clang/bugpoint/Makefile
/freebsd-11-stable/usr.bin/clang/clang-format/Makefile
/freebsd-11-stable/usr.bin/clang/clang-tblgen/Makefile
/freebsd-11-stable/usr.bin/clang/clang/Makefile
/freebsd-11-stable/usr.bin/clang/llc/Makefile
/freebsd-11-stable/usr.bin/clang/lld/Makefile
/freebsd-11-stable/usr.bin/clang/lldb-tblgen/Makefile
/freebsd-11-stable/usr.bin/clang/lldb/Makefile
/freebsd-11-stable/usr.bin/clang/lli/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-ar/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-as/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-bcanalyzer/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-cov/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-cxxdump/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-cxxfilt/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-diff/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-dis/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-dwarfdump/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-extract/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-link/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-lto/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-lto2/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-mc/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-mca/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-modextract/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-nm/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-objcopy/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-objdump/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-pdbutil/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-profdata/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-rtdyld/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-symbolizer/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-tblgen/Makefile
/freebsd-11-stable/usr.bin/clang/llvm-xray/Makefile
/freebsd-11-stable/usr.bin/clang/opt/Makefile
360643 04-May-2020 dim

Merge additions of LLVM libunwind libgcc_eh and libgcc_s. This is in
preparation of further LLVM merges.

MFC r307230 (by emaste):

Introduce lib/libgcc_eh and lib/libgcc_s for LLVM's implementation

They are not yet connected to the build, but I am adding them to allow
for easier testing, ports exp-runs, etc.

Reviewed by: ed
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8188

MFC r307231 (by emaste):

libgcc_s: add libm dependencies from div{d,s,x}c3

compiler-rt's complex division support routines contain calls to
compiler builtins such as `__builtin_scalbnl`. Unfortunately Clang
turns these back into a call to `scalbnl`.

For now link libm's C version of the required support routines.

Reviewed by: ed
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8190

MFC r307864 (by emaste):

Move the LLVM-based libgcc_s to /lib

When enabled, it should install in the same location as the existing
library.

Reported by: antoine

MFC r308001 (by emaste):

libgcc_eh/libgcc_s: apply hidden visibility only to static libs

MFC r308100 (by emaste):

compile libunwind c source with -fexceptions

When an exception is thrown the unwinder must unwind its own C source
(starting with _Unwind_RaiseException in UnwindLevel1.c), so it needs to
be built with unwinding data.

MFC r308294 (by emaste):

libgcc_s: make unspecified shlib symbols local

We want only symbols explicitly specified in the Version.map.

Sponsored by: The FreeBSD Foundation

MFC r308308 (by emaste):

Connect new LLVM-based libgcc_eh & libgcc_s to the build

Compiler-rt and LLVM's libunwind provide a suitable replacement for
libgcc.a, libgcc_eh.a, and libgcc_s.so.

Remove the now-unused LLVM_LIBUNWIND block from gnu/lib/libgcc.

PR: 213480 [exp-run]
Reviewed by: brooks, ed
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8189

MFC r308379 (by emaste):

add __divdi3 and __udivdi3 to libgcc_s symbol version map

After r308294 they were missing on i386 (and previously were exported
only accidentally).

Reported by: antoine

MFC r308445 (by emaste):

add missing i386 symbols libgcc_s symbol version map

After r308294 they were missing on i386 (and previously were exported
only accidentally).

Reported by: antoine

MFC r312076 (by emaste):

libgcc_s: add libc DT_NEEDED to fix underlinking

PR: 216012
Reported by: jbeich
Sponsored by: The FreeBSD Foundation

MFC r316101 (by ngie):

Apply r315689 to lib/libgcc_s as well to unbreak the gcc xtoolchain build

lib/libgcc_s consumes lib/libcompiler_rt/Makefile*. The NO_WERROR.gcc in
lib/libcompiler_rt/Makefile doesn't seem to have made a difference in being
able to build this, so sprinkle NO_WERROR.gcc here as well.

Reported by: Jenkins (FreeBSD-head-amd64-gcc)
Tested with: amd64-gcc-6.3.0 (devel/amd64-xtoolchain-gcc)
Sponsored by: Dell EMC Isilon

MFC r320673 (by emaste):

Sort entries in libgcc_s Version.map

MFC r337585 (by dim):

In r308100, an explicit -fexceptions flag was added for the C sources
from LLVM's libunwind, which end up in libgcc_eh.a and libgcc_s.so.
This is because the unwinder needs the unwinder data for its own
functions.

However, for the C++ sources in libunwind, -fexceptions is already the
default, and this can have the side effect of generating a reference to
__gxx_personality_v0, the so-called personality function, which is
normally provided by the C++ ABI library (libcxxrt or libsupc++).

If the reference ends up in the eventual libgcc_s.so, linking any
non-C++ programs against it will fail with "undefined reference to
`__gxx_personality_v0'".

Note that at high optimization levels, the reference is usually
optimized away, which is why we have never noticed this problem before.

With clang 7.0.0 though, higher optimization levels don't help anymore,
since the addition of address-significance tables [1] in
<https://reviews.llvm.org/rL337339>. Effectively, this always causes a
reference to __gxx_personality_v0.

After discussion with the upstream author of that change, it turns out
that we should compile libunwind sources with the -fno-exceptions
-funwind-tables flags instead. This ensures unwind tables are
generated, but no references to any personality functions are emitted.

[1] https://lists.llvm.org/pipermail/llvm-dev/2018-May/123514.html

Reported by: jbeich
PR: 230399

307230 13-Oct-2016 emaste

Introduce lib/libgcc_eh and lib/libgcc_s for LLVM's implementation

They are not yet connected to the build, but I am adding them to allow
for easier testing, ports exp-runs, etc.

Reviewed by: ed
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8188