[U-Boot] [RFC PATCH] SPL: replace ctype implementation with tiny version

André Przywara andre.przywara at arm.com
Mon Jan 23 00:30:04 CET 2017


On 22/01/17 16:09, Tom Rini wrote:
> On Fri, Jan 20, 2017 at 10:33:28PM +0000, Andre Przywara wrote:
>> The ctype implementation (isdigit() & friends) works with an array of
>> 256 Bytes - one for each character. This is pretty big in SPL terms,
>> so let's replace this "bloated" implementation with a tiny version
>> using C statements. This only implements the functions that the SPL
>> requires and confines this change only to an actual SPL build.
>> Saves about 200 Bytes from the SPL code size.
>>
>> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
>> ---
>> Hi,
>>
>> some people voiced concerns about running out of SPL code space when
>> adding new features. In this particular case this was an issue when
>> looking at the SPL FIT extension series[1].
>> This patch here on top of this series saves more space than the SPL FIT
>> series consumed, so I trade this as a bait to people wrestling with this
>> problem ;-)
> 
> So.. where might this fail?

What do you mean by that?

> Also, this doesn't look like it comes from
> the kernel exactly, so "linux/tiny_ctype.h" doesn't seem right (and, is
> missing the license boilerplate).  It does bear some resemblance to the
> kernel ctype header so it would of course be correct to attribute that
> in the boilerplate.

Actually I quickly hacked that up while looking at the existing map,
trying to convert it into statements. It was mostly an experiment to see
if that gives me something (hence the RFC tag).

If the general idea is acceptable, I can surely make this pretty.

Cheers,
Andre.



More information about the U-Boot mailing list