This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: String routines for ARM and licensing


On Thu, Aug 12, 2010 at 9:11 PM, Michael Hope <michael.hope@linaro.org> wrote:
> Hi there. ?My name is Michael Hope, and I'm the technical lead for the
> ARM-focused Linaro Toolchain Working Group. ?We're planning on writing
> ARM Cortex-A optimised versions of memcpy, strcpy, and other string
> functions. ?Some quick benchmarks[1] show a 2x improvement over stock
> glibc so there's a decent gain to be had.
>
> We'd like to make these functions available for anyone such as glibc,
> Newlib, bionic and perhaps even the Linux kernel to use.  The tricky
> thing is the licensing, with one approach being to use a GPL
> compatible license such as the MIT/X11 License.  I understand that
> glibc prefers new code to be under the LGPL, but the string routines
> are a bit unusual as they're small, standalone, and universally
> applicable.

When you say "stock glibc" are you talking about the generic C
implementations of the string manipulation functions located in
string/*?

> What would you recommend from a glibc licensing and copyright
> assignment point of view?

As long as you put it in the public domain I don't think it matters?

Keep in mind that almost all of the machines (7 in glibc and 4 in
ports) have hand tuned copies that are much faster than the generic C
implementations. Nobody (with the exception of some machines in the
ports tree like hppa) actually uses the stock implementations except
during an initial port. If you *are* doing an initial port you want an
"always works" set of routines that handle all possible (within the
standard) inputs without failing (and uses no odd language features
like bitfield manipulations).

Is this new set of stock routines easier to read, understand and
maintain than the existing stock routines? If so, then that would go a
long way to convince me personally.

Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]