d82a5e6a34
Implement the *allocx() API, which is a successor to the *allocm() API. The *allocx() functions are slightly simpler to use because they have fewer parameters, they directly return the results of primary interest, and mallocx()/rallocx() avoid the strict aliasing pitfall that allocm()/rallocx() share with posix_memalign(). The following code violates strict aliasing rules: foo_t *foo; allocm((void **)&foo, NULL, 42, 0); whereas the following is safe: foo_t *foo; void *p; allocm(&p, NULL, 42, 0); foo = (foo_t *)p; mallocx() does not have this problem: foo_t *foo = (foo_t *)mallocx(42, 0);
28 lines
263 B
Plaintext
28 lines
263 B
Plaintext
malloc_conf
|
|
malloc_message
|
|
malloc
|
|
calloc
|
|
posix_memalign
|
|
aligned_alloc
|
|
realloc
|
|
free
|
|
mallocx
|
|
rallocx
|
|
xallocx
|
|
sallocx
|
|
dallocx
|
|
nallocx
|
|
mallctl
|
|
mallctlnametomib
|
|
mallctlbymib
|
|
malloc_stats_print
|
|
malloc_usable_size
|
|
memalign
|
|
valloc
|
|
allocm
|
|
rallocm
|
|
sallocm
|
|
dallocm
|
|
nallocm
|
|
|