#
25db7bd2 |
|
17-May-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libgcc_s: fix nonsense defines These symbols are present on amd64 or i386. Reported by: kaktus, jhibbits Fixes: 98c8caafffb65 libgcc_s: 80-bit long double function are x86-only
|
#
723e60a2 |
|
02-May-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libgcc_s: __extendxftf2 and __trunctfxf2 are amd64-only __extendxftf2 and __trunctfxf2 build on amd64 not aarch64 and riscv. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D45052
|
#
98c8caaf |
|
01-May-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libgcc_s: 80-bit long double function are x86-only Don't try to expose them on other architectures. Reviewed by: arichardson Differential Revision: https://reviews.freebsd.org/D45028
|
#
44e89340 |
|
19-Apr-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libgcc_s: expose __divmoddi4 on i386 GCC has used this for some time (since 7.0) and apparently we were getting away with using the hidden symbol, but when linking with --no-undefined-version we get an error unless it's properly exported. (For anyone who wonders at the assymetry, __udivmoddi4 is indeed much older and was introduced with GCC 3.0.) MFC after: 3 days Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D44878
|
#
b457144c |
|
16-Apr-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libgcc_s: exclude symbols not present on some arches arm, aarch64, and riscv lack some/all frame_info interfaces. arm and powerpc lack some numeric functions. Differential Revision: https://reviews.freebsd.org/D44324
|
#
3f82d834 |
|
16-Apr-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libgcc_s: only export 128-bit int APIs when available These interfaces are only compiled when the platform supports 128-bit ints. Use a CRT_HAS_128BIT guard similar to the one used in the compiler_rt sources. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D44323
|
#
b8df8b0c |
|
16-Apr-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libgcc_s: only export 128-bit long double when available These functions are only available on aarch64 and riscv so only try to export them on those architectures. Differential Revision: https://reviews.freebsd.org/D44322
|
#
5f757f3f |
|
18-Dec-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb. PR: 276104 MFC after: 1 month
|
#
42b38843 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .h pattern Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/ |
#
70475688 |
|
03-Oct-2021 |
Jessica Clarke <jrtc27@FreeBSD.org> |
libgcc_s: Export 64-bit int to 128-bit float functions The corresponding 32-bit int and 128-bit int functions were added in 790a6be5a169, as were all combinations of the float to int functions, but these two were overlooked. __floatditf is needed to build curl for riscv as there's a signed 64-bit int to 128-bit float conversion in lib/progress.c's trspeed as of 7.77.0. Reviewed by: dim MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31997 |
#
790a6be5 |
|
14-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Export various 128 bit long double functions from libgcc_s.so.1 These were already compiled for some time on aarch64 and riscv, by including lib/libcompiler_rt/Makefile.inc, but never exported in the shared library. Since gcc exports these under version GCC_4.6.0, we do the same. This review should replace D11482 for now. For e.g. amd64 more work is still to be done, as compiler-rt does not seem to support 128 bit long double math for that architecture. Reviewed by: cem MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28690 |
#
1fa29c42 |
|
16-Dec-2019 |
Michal Meloun <mmel@FreeBSD.org> |
Fix LLVM libunwnwind _Unwind_Backtrace symbol version for ARM. In original GNU libgcc, _Unwind_Backtrace is published with GCC_3.3 version for all architectures but ARM. For ARM should be publishes with GCC_4.3.0 version. This was originally omitted in r255095, fixed in r318024 and omitted aging in LLVM libunwind implementation in r354347. For ARM _Unwind_Backtrace should be published as default with GCC_4.3.0 version , (because this is right original version) and again as normal(not-default) with GCC_3.3 version (to maintain ABI compatibility compiled/linked with wrong pre r318024 libgcc) PR: 233664 |
#
c8b5e3de |
|
04-Nov-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Fix llvm-libunwind userspace build on ARM GCC's libgcc exports a few ARM-specific symbols for ARM EABI, AEABI, or EHABI or whatever it's called. Export the same ones from LLVM-libunwind's libgcc_s, on ARM. As part of this, convert libgcc_s from a direct Version.map to one constructed from component Symbol.map files. This allows the ARM-specific Symbol.map to be included only on ARM. Fix ARM-only oddities in struct name/aliases in LLVM-libunwind to match non-ARM definitions and ARM-specific expectations in libcxxrt / libcompiler_rt. No functional change intended for non-ARM architectures. This commit does not actually flip the switch for ARM defaults from libgcc to llvm-libunwind, but makes it possible (to compile, anyway). |
#
42b38843 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .h pattern Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
#
70475688 |
|
03-Oct-2021 |
Jessica Clarke <jrtc27@FreeBSD.org> |
libgcc_s: Export 64-bit int to 128-bit float functions The corresponding 32-bit int and 128-bit int functions were added in 790a6be5a169, as were all combinations of the float to int functions, but these two were overlooked. __floatditf is needed to build curl for riscv as there's a signed 64-bit int to 128-bit float conversion in lib/progress.c's trspeed as of 7.77.0. Reviewed by: dim MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31997
|
#
790a6be5 |
|
14-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Export various 128 bit long double functions from libgcc_s.so.1 These were already compiled for some time on aarch64 and riscv, by including lib/libcompiler_rt/Makefile.inc, but never exported in the shared library. Since gcc exports these under version GCC_4.6.0, we do the same. This review should replace D11482 for now. For e.g. amd64 more work is still to be done, as compiler-rt does not seem to support 128 bit long double math for that architecture. Reviewed by: cem MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28690
|
#
1fa29c42 |
|
16-Dec-2019 |
Michal Meloun <mmel@FreeBSD.org> |
Fix LLVM libunwnwind _Unwind_Backtrace symbol version for ARM. In original GNU libgcc, _Unwind_Backtrace is published with GCC_3.3 version for all architectures but ARM. For ARM should be publishes with GCC_4.3.0 version. This was originally omitted in r255095, fixed in r318024 and omitted aging in LLVM libunwind implementation in r354347. For ARM _Unwind_Backtrace should be published as default with GCC_4.3.0 version , (because this is right original version) and again as normal(not-default) with GCC_3.3 version (to maintain ABI compatibility compiled/linked with wrong pre r318024 libgcc) PR: 233664
|
#
c8b5e3de |
|
04-Nov-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Fix llvm-libunwind userspace build on ARM GCC's libgcc exports a few ARM-specific symbols for ARM EABI, AEABI, or EHABI or whatever it's called. Export the same ones from LLVM-libunwind's libgcc_s, on ARM. As part of this, convert libgcc_s from a direct Version.map to one constructed from component Symbol.map files. This allows the ARM-specific Symbol.map to be included only on ARM. Fix ARM-only oddities in struct name/aliases in LLVM-libunwind to match non-ARM definitions and ARM-specific expectations in libcxxrt / libcompiler_rt. No functional change intended for non-ARM architectures. This commit does not actually flip the switch for ARM defaults from libgcc to llvm-libunwind, but makes it possible (to compile, anyway).
|