[U-Boot] [PATCH 02/10] Add some standard headers external code might need

Simon Glass
2014-10-28T17:33:09Z

Hi Masahiro,

On 28 October 2014 10:38, Masahiro YAMADA <yamada.m@jp.panasonic.com> wrote:
> Hi Simon,
>
>
> 2014-10-29 1:29 GMT+09:00 Simon Glass <sjg@chromium.org>:
>> Hi Masahiro,
>>
>> On 28 October 2014 10:25, Masahiro YAMADA <yamada.m@jp.panasonic.com> wrote:
>>>
>>> Hi Gabe, Simon,
>>>
>>>
>>> 2014-10-15 19:38 GMT+09:00 Simon Glass <sjg@chromium.org>:
>>> > From: Gabe Black <gabeblack@chromium.org>
>>> >
>>> > inttypes.h defines format specifiers for printf which work with data types of
>>> > particular sizes. stdlib.h is currently just a passthrough to malloc.h which
>>> > has declarations of the various *alloc functions.
>>> >
>>> > Add the required #define to common.h so that these printf format specifiers
>>> > will be made available.
>>> >
>>> > Signed-off-by: Gabe Black <gabeblack@google.com>
>>> > Reviewed-by: Gabe Black <gabeblack@chromium.org>
>>> > Tested-by: Gabe Black <gabeblack@chromium.org>
>>> > Reviewed-by: Bill Richardson <wfrichar@google.com>
>>> > Signed-off-by: Simon Glass <sjg@chromium.org>
>>> > (Replaced with a GPL version from glibc)
>>> >
>>> [snip]
>>> > diff --git a/include/stdlib.h b/include/stdlib.h
>>> > new file mode 100644
>>> > index 0000000..6bc7fbb
>>> > --- /dev/null
>>> > +++ b/include/stdlib.h
>>> > @@ -0,0 +1,12 @@
>>> > +/*
>>> > + * Copyright (C) 2013 Google Inc.
>>> > + *
>>> > + * SPDX-License-Identifier: GPL-2.0+
>>> > + */
>>> > +
>>> > +#ifndef __STDLIB_H_
>>> > +#define __STDLIB_H_
>>> > +
>>> > +#include <malloc.h>
>>> > +
>>> > +#endif /* __STDLIB_H_ */
>>> > --
>>> > 2.1.0.rc2.206.gedb03e5
>>>
>>>
>>> This patch is not clear to me.
>>>
>>> Why do we need include/stdlib.h ?
>>
>> This makes the U-Boot environment more similar to that used by other
>> software, so we can more easily build it without lots of glue files.
>> Normally stdlib.h defines malloc() and friends.
>
> I am not happy about this.
>
> Our right direction is to make U-Boot environment more similar to the
> Kernel, I think.
>
> stdlib.h shouldn't appear in bare metal code.

That's right, we don't want to include this in U-Boot itself. But if
you look at things in tools/ they include stdlib.h. With this header
available, we can more easily compile external code into U-Boot.

Regards,
Simon