mirror of https://gitee.com/openkylin/qemu.git
Remove qemu_malloc/qemu_free
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
7267c0947d
commit
41a748265f
2
Makefile
2
Makefile
|
@ -88,7 +88,7 @@ include $(SRC_PATH)/Makefile.objs
|
|||
endif
|
||||
|
||||
$(common-obj-y): $(GENERATED_HEADERS)
|
||||
subdir-libcacard: $(oslib-obj-y) $(trace-obj-y) qemu-malloc.o qemu-timer-common.o
|
||||
subdir-libcacard: $(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o
|
||||
|
||||
$(filter %-softmmu,$(SUBDIR_RULES)): $(trace-obj-y) $(common-obj-y) subdir-libdis
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o
|
|||
#######################################################################
|
||||
# block-obj-y is code used by both qemu system emulation and qemu-img
|
||||
|
||||
block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o async.o
|
||||
block-obj-y = cutils.o cache-utils.o qemu-option.o module.o async.o
|
||||
block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o qemu-progress.o qemu-sockets.o
|
||||
block-obj-y += $(coroutine-obj-y)
|
||||
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
|
||||
|
|
|
@ -111,7 +111,7 @@ $(call set-vpath, $(SRC_PATH)/linux-user:$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR
|
|||
QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user
|
||||
obj-y = main.o syscall.o strace.o mmap.o signal.o thunk.o \
|
||||
elfload.o linuxload.o uaccess.o gdbstub.o cpu-uname.o \
|
||||
qemu-malloc.o user-exec.o $(oslib-obj-y)
|
||||
user-exec.o $(oslib-obj-y)
|
||||
|
||||
obj-$(TARGET_HAS_BFLT) += flatload.o
|
||||
|
||||
|
|
|
@ -182,12 +182,6 @@ const char *path(const char *pathname);
|
|||
#define qemu_toascii(c) toascii((unsigned char)(c))
|
||||
|
||||
void *qemu_oom_check(void *ptr);
|
||||
void *qemu_malloc(size_t size);
|
||||
void *qemu_realloc(void *ptr, size_t size);
|
||||
void *qemu_mallocz(size_t size);
|
||||
void qemu_free(void *ptr);
|
||||
char *qemu_strdup(const char *str);
|
||||
char *qemu_strndup(const char *str, size_t size);
|
||||
|
||||
void qemu_mutex_lock_iothread(void);
|
||||
void qemu_mutex_unlock_iothread(void);
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
/*
|
||||
* malloc-like functions for system emulation.
|
||||
*
|
||||
* Copyright (c) 2006 Fabrice Bellard
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
#include "qemu-common.h"
|
||||
#include "trace.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
void qemu_free(void *ptr)
|
||||
{
|
||||
trace_qemu_free(ptr);
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
static int allow_zero_malloc(void)
|
||||
{
|
||||
#if defined(CONFIG_ZERO_MALLOC)
|
||||
return 1;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void *qemu_malloc(size_t size)
|
||||
{
|
||||
void *ptr;
|
||||
if (!size && !allow_zero_malloc()) {
|
||||
abort();
|
||||
}
|
||||
ptr = qemu_oom_check(malloc(size ? size : 1));
|
||||
trace_qemu_malloc(size, ptr);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void *qemu_realloc(void *ptr, size_t size)
|
||||
{
|
||||
void *newptr;
|
||||
if (!size && !allow_zero_malloc()) {
|
||||
abort();
|
||||
}
|
||||
newptr = qemu_oom_check(realloc(ptr, size ? size : 1));
|
||||
trace_qemu_realloc(ptr, size, newptr);
|
||||
return newptr;
|
||||
}
|
||||
|
||||
void *qemu_mallocz(size_t size)
|
||||
{
|
||||
void *ptr;
|
||||
if (!size && !allow_zero_malloc()) {
|
||||
abort();
|
||||
}
|
||||
ptr = qemu_oom_check(calloc(1, size ? size : 1));
|
||||
trace_qemu_malloc(size, ptr);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
char *qemu_strdup(const char *str)
|
||||
{
|
||||
char *ptr;
|
||||
size_t len = strlen(str);
|
||||
ptr = qemu_malloc(len + 1);
|
||||
memcpy(ptr, str, len + 1);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
char *qemu_strndup(const char *str, size_t size)
|
||||
{
|
||||
const char *end = memchr(str, 0, size);
|
||||
char *new;
|
||||
|
||||
if (end) {
|
||||
size = end - str;
|
||||
}
|
||||
|
||||
new = qemu_malloc(size + 1);
|
||||
new[size] = 0;
|
||||
|
||||
return memcpy(new, str, size);
|
||||
}
|
Loading…
Reference in New Issue