History log of /freebsd-current/lib/libgcc_s/Symbol.map
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 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).