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

Masahiro YAMADA
2014-10-29T14:06:01Z

Hi Simon,

2014-10-29 3:24 GMT+09:00 Simon Glass <sjg@chromium.org>:
> Hi,
>
> On 28 October 2014 11:46, Jeroen Hofstee <jeroen@myspectrum.nl> wrote:
>> Hello Simon,
>>
>>
>> On 28-10-14 18:33, Simon Glass wrote:
>>>
>>> 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.
>>
>>
>> So is it intended as fallback if the host doesn't have a stdlib.h?
>
> Not really, more that for things that expect that header (and
> inttypes.h which was also added) they can get it without needing
> special #ifdefs for U-Boot.
>

Sorry, I still don't get it.
Could you explain user cases?

--
Best Regards
Masahiro Yamada