[PATCH 2/3] Refactor malloc.h.

Sascha Hauer s.hauer at pengutronix.de
Wed Jun 5 02:38:15 EDT 2013


On Tue, Jun 04, 2013 at 09:38:31PM +0900, Masaki Muranaka wrote:
> From: Masaki Muranaka <monaka at monami-ya.com>
> 
>  Some functions should be defined in stdlib.h or unistd.h.
> 
> Signed-off-by: Masaki Muranaka <monaka at monami-ya.jp>
> ---
>  include/malloc.h       |  8 +++-----
>  include/malloc_isoc.h  | 11 +++++++++++
>  include/malloc_posix.h |  8 ++++++++
>  include/stdlib.h       |  1 +
>  include/unistd.h       |  6 ++++++
>  5 files changed, 29 insertions(+), 5 deletions(-)
>  create mode 100644 include/malloc_isoc.h
>  create mode 100644 include/malloc_posix.h
>  create mode 100644 include/unistd.h
> 
> diff --git a/include/malloc.h b/include/malloc.h
> index 7b9b062..9554597 100644
> --- a/include/malloc.h
> +++ b/include/malloc.h
> @@ -5,20 +5,18 @@
>  
>  /* Public routines */
>  
> -void* malloc(size_t);
> -void free(void*);
> -void* realloc(void*, size_t);
> +#include <malloc_isoc.h>
> +#include <malloc_posix.h>
> +
>  void* memalign(size_t, size_t);
>  void* vallocc(size_t);
>  void* pvalloc(size_t);
> -void* calloc(size_t, size_t);
>  void cfree(void*);
>  int malloc_trim(size_t);
>  size_t malloc_usable_size(void*);
>  void malloc_stats(void);
>  int mallopt(int, int);
>  struct mallinfo mallinfo(void);
> -void *sbrk(ptrdiff_t increment);
>  
>  #endif
>  
> diff --git a/include/malloc_isoc.h b/include/malloc_isoc.h
> new file mode 100644
> index 0000000..728cdd9
> --- /dev/null
> +++ b/include/malloc_isoc.h
> @@ -0,0 +1,11 @@
> +#ifndef BAREBOX_MALLOC_ISOC_H__
> +#define BAREBOX_MALLOC_ISOC_H__
> +
> +#include <types.h>
> +
> +void* malloc(size_t);
> +void free(void*);
> +void* realloc(void*, size_t);
> +void* calloc(size_t, size_t);
> +
> +#endif /* BAREBOX_MALLOC_ISOC_H__ */

I think you can just add these to stdlib.h...

> diff --git a/include/malloc_posix.h b/include/malloc_posix.h
> new file mode 100644
> index 0000000..d10675d
> --- /dev/null
> +++ b/include/malloc_posix.h
> @@ -0,0 +1,8 @@
> +#ifndef BAREBOX_MALLOC_POSIX_H__
> +#define BAREBOX_MALLOC_POSIX_H__
> +
> +#include <types.h>
> +
> +void *sbrk(ptrdiff_t increment);
> +
> +#endif /* BAREBOX_MALLOC_POSIX_H__ */

...and this to unistd.h without introducing extra files.

You're right that in barebox it's often not clear whether some code
belongs to 'kernel' or 'userspace', but in the end it doesn't make
much difference. It's good to have standard functions in their
standard include/ locations.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list