Page MenuHomeFreeBSD

Switch to Arm Optimized Routines for mem* & str*
ClosedPublic

Authored by andrew on Nov 1 2021, 1:39 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 9 2024, 8:54 AM
Unknown Object (File)
Feb 17 2024, 1:44 PM
Unknown Object (File)
Feb 16 2024, 7:55 PM
Unknown Object (File)
Feb 4 2024, 4:33 PM
Unknown Object (File)
Jan 14 2024, 9:49 PM
Unknown Object (File)
Dec 29 2023, 3:46 AM
Unknown Object (File)
Dec 20 2023, 5:28 AM
Unknown Object (File)
Nov 12 2023, 4:50 AM
Subscribers

Details

Summary

These are the updated version of the older Cortex Strings Library we
previously used. The Arm Optimized Routines also support CPU features
that are currently in development on FreeBSD, e.g. Branch Target
Identification (BTI). Rather than add BTI support to the old code it's
easier to just use the maintained version.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 42515
Build 39403: arc lint + arc unit

Event Timeline

andrew requested review of this revision.Nov 1 2021, 1:39 PM

I might change the comment slightly, since we very likely want to move to an ifunc and support the other optimized routines later on. We're not really "fixing" the internal names right now so much as we're mapping the generic aarch64 implementation to the standard name while we do not yet support the other optimized ones.

Otherwise LGTM

This revision is now accepted and ready to land.Nov 1 2021, 2:54 PM

I have an updated version in testing as we need to define index and rindex as weak references to strchr and strrchr respectively. I'm also adding an empty memmove.S to so we don't need to remove it from MISRCS, and so rtld can copy the object file for its build.

I'm also adding an empty memmove.S to so we don't need to remove it from MISRCS

Ah, I was wondering about that as an option, sounds good.

Switch to mostly generated asm including the needed file.

  • Re-adds the index symbol
  • Add an empty memmove.S to simplify the libc and rtld builds
This revision now requires review to proceed.Nov 2 2021, 9:47 AM
This revision was not accepted when it landed; it landed in state Needs Review.Nov 19 2021, 11:56 AM
This revision was automatically updated to reflect the committed changes.