diff options
Diffstat (limited to 'newlib/libc/machine/powerpc/vec_malloc.c')
-rw-r--r-- | newlib/libc/machine/powerpc/vec_malloc.c | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/newlib/libc/machine/powerpc/vec_malloc.c b/newlib/libc/machine/powerpc/vec_malloc.c deleted file mode 100644 index 6bcad59b6..000000000 --- a/newlib/libc/machine/powerpc/vec_malloc.c +++ /dev/null @@ -1,132 +0,0 @@ -/* -FUNCTION -<<vec_malloc>>, <<vec_realloc>>, <<vec_free>>---manage vector memory - -INDEX - vec_malloc -INDEX - vec_realloc -INDEX - vec_free -INDEX - _vec_malloc_r -INDEX - _vec_realloc_r -INDEX - _vec_free_r - -ANSI_SYNOPSIS - #include <stdlib.h> - void *vec_malloc(size_t <[nbytes]>); - void *vec_realloc(void *<[aptr]>, size_t <[nbytes]>); - void vec_free(void *<[aptr]>); - - - void *_vec_malloc_r(void *<[reent]>, size_t <[nbytes]>); - void *_vec_realloc_r(void *<[reent]>, - void *<[aptr]>, size_t <[nbytes]>); - void _vec_free_r(void *<[reent]>, void *<[aptr]>); - - -TRAD_SYNOPSIS - #include <stdlib.h> - char *vec_malloc(<[nbytes]>) - size_t <[nbytes]>; - - char *vec_realloc(<[aptr]>, <[nbytes]>) - char *<[aptr]>; - size_t <[nbytes]>; - - void vec_free(<[aptr]>) - char *<[aptr]>; - - char *_vec_malloc_r(<[reent]>,<[nbytes]>) - char *<[reent]>; - size_t <[nbytes]>; - - char *_vec_realloc_r(<[reent]>, <[aptr]>, <[nbytes]>) - char *<[reent]>; - char *<[aptr]>; - size_t <[nbytes]>; - - void _vec_free_r(<[reent]>, <[aptr]>) - char *<[reent]>; - char *<[aptr]>; - -DESCRIPTION -These functions manage a pool of system memory that is 16-byte aligned.. - -Use <<vec_malloc>> to request allocation of an object with at least -<[nbytes]> bytes of storage available and is 16-byte aligned. If the space is -available, <<vec_malloc>> returns a pointer to a newly allocated block as its result. - -If you already have a block of storage allocated by <<vec_malloc>>, but -you no longer need all the space allocated to it, you can make it -smaller by calling <<vec_realloc>> with both the object pointer and the -new desired size as arguments. <<vec_realloc>> guarantees that the -contents of the smaller object match the beginning of the original object. - -Similarly, if you need more space for an object, use <<vec_realloc>> to -request the larger size; again, <<vec_realloc>> guarantees that the -beginning of the new, larger object matches the contents of the -original object. - -When you no longer need an object originally allocated by <<vec_malloc>> -or <<vec_realloc>> (or the related function <<vec_calloc>>), return it to the -memory storage pool by calling <<vec_free>> with the address of the object -as the argument. You can also use <<vec_realloc>> for this purpose by -calling it with <<0>> as the <[nbytes]> argument. - -The alternate functions <<_vec_malloc_r>>, <<_vec_realloc_r>>, <<_vec_free_r>>, -are reentrant versions. The extra argument <[reent]> is a pointer to a reentrancy -structure. - -If you have multiple threads of execution which may call any of these -routines, or if any of these routines may be called reentrantly, then -you must provide implementations of the <<__vec_malloc_lock>> and -<<__vec_malloc_unlock>> functions for your system. See the documentation -for those functions. - -These functions operate by calling the function <<_sbrk_r>> or -<<sbrk>>, which allocates space. You may need to provide one of these -functions for your system. <<_sbrk_r>> is called with a positive -value to allocate more space, and with a negative value to release -previously allocated space if it is no longer required. -@xref{Stubs}. - -RETURNS -<<vec_malloc>> returns a pointer to the newly allocated space, if -successful; otherwise it returns <<NULL>>. If your application needs -to generate empty objects, you may use <<vec_malloc(0)>> for this purpose. - -<<vec_realloc>> returns a pointer to the new block of memory, or <<NULL>> -if a new block could not be allocated. <<NULL>> is also the result -when you use `<<vec_realloc(<[aptr]>,0)>>' (which has the same effect as -`<<vec_free(<[aptr]>)>>'). You should always check the result of -<<vec_realloc>>; successful vec_reallocation is not guaranteed even when -you request a smaller object. - -<<vec_free>> does not return a result. - -PORTABILITY -<<vec_malloc>>, <<vec_realloc>>, and <<vec_free>> are all extensions -specified in the AltiVec Programming Interface Manual. - -Supporting OS subroutines required: <<sbrk>>. */ - -#include <_ansi.h> -#include <reent.h> -#include <stdlib.h> -#include <malloc.h> - -#ifndef _REENT_ONLY - -_PTR -_DEFUN (vec_malloc, (nbytes), - size_t nbytes) /* get a block */ -{ - return _memalign_r (_REENT, 16, nbytes); -} - -#endif - |