Page MenuHomeFreeBSD

libgcc_s: export integer and floating point __aeabi_ symbols
Needs ReviewPublic

Authored by mmel on Thu, May 1, 8:27 AM.

Details

Reviewers
dim
andrew
Group Reviewers
ARM
Summary
Export all integer and floating point __aeabi_ functions defined by
"Run-time ABI for Arm Architecture"  from libgcc, excluding __aeabi_h2f_alt,
__aeabi_f2h_alt and __aeabi_d2h_alt, which are not yet implemented in
compiler-rt.

To maintain ABI backward compatibility, convert __aeabi_ floating-point
symbols previously exported from libc to an explicit non-default version.

Remove guessing of vfp/not-vfp version  for compiler-rt sources. The vfp
version needs additional runtime logic to select the right implementation
and we don't have it implemented.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

mmel requested review of this revision.Thu, May 1, 8:27 AM

Will this work with softfloat? If not, and we don't think anyone is using it in 15 then we should remove support for non-VFP HW first.

They are all softfloat - all aeabi functions use softfloat calling convections and compiler-rt implementation doesn't use VFP. I removed the optimized VFP variants from the build (because they needed support in the RT linker). Imho these floating point functions are only used for softfloat binaries and also for Thumb-1 code.