From 776a21df63a3919ed33ffb5720027b402025f690 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Wed, 13 Oct 2010 20:54:26 +0200 Subject: [PATCH] Remove special handling of system include files (no longer needed) The formerly used dyngen code did not work with system include files like stdio.h. Tests with Linux, OSX and Win32 show that this restriction is no longer needed. So we hopefully can remove that special piece of code. This results in cleaner code and allows better use of the new GCC_FMT_ATTR macro. Cc: Blue Swirl Signed-off-by: Stefan Weil Signed-off-by: Blue Swirl --- cris-dis.c | 4 +--- disas.h | 3 --- dyngen-exec.h | 23 +---------------------- qemu-common.h | 7 ------- 4 files changed, 2 insertions(+), 35 deletions(-) diff --git a/cris-dis.c b/cris-dis.c index 455ba8a..afd775c 100644 --- a/cris-dis.c +++ b/cris-dis.c @@ -18,13 +18,11 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ +#include "qemu-common.h" #include "dis-asm.h" //#include "sysdep.h" #include "target-cris/opcode-cris.h" //#include "libiberty.h" - - -void *qemu_malloc(size_t len); /* can't include qemu-common.h here */ #define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0) diff --git a/disas.h b/disas.h index 6a9332d..f9287f7 100644 --- a/disas.h +++ b/disas.h @@ -8,11 +8,8 @@ void disas(FILE *out, void *code, unsigned long size); void target_disas(FILE *out, target_ulong code, target_ulong size, int flags); -/* The usual mess... FIXME: Remove this condition once dyngen-exec.h is gone */ -#ifndef __DYNGEN_EXEC_H__ void monitor_disas(Monitor *mon, CPUState *env, target_ulong pc, int nb_insn, int is_physical, int flags); -#endif /* Look up symbol for debugging purpose. Returns "" if unknown. */ const char *lookup_symbol(target_ulong orig_addr); diff --git a/dyngen-exec.h b/dyngen-exec.h index 5bfef3f..db00fba 100644 --- a/dyngen-exec.h +++ b/dyngen-exec.h @@ -19,19 +19,7 @@ #if !defined(__DYNGEN_EXEC_H__) #define __DYNGEN_EXEC_H__ -/* prevent Solaris from trying to typedef FILE in gcc's - include/floatingpoint.h which will conflict with the - definition down below */ -#ifdef __sun__ -#define _FILEDEFED -#endif - -/* NOTE: standard headers should be used with special care at this - point because host CPU registers are used as global variables. Some - host headers do not allow that. */ -#include -#include -#include +#include "qemu-common.h" #ifdef __OpenBSD__ #include @@ -40,15 +28,6 @@ /* XXX: This may be wrong for 64-bit ILP32 hosts. */ typedef void * host_reg_t; -#ifdef CONFIG_BSD -typedef struct __sFILE FILE; -#else -typedef struct FILE FILE; -#endif -extern int fprintf(FILE *, const char *, ...); -extern int fputs(const char *, FILE *); -extern int printf(const char *, ...); - #if defined(__i386__) #define AREG0 "ebp" #elif defined(__x86_64__) diff --git a/qemu-common.h b/qemu-common.h index 81aafa0..d5ae420 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -18,11 +18,6 @@ typedef struct QEMUFile QEMUFile; typedef struct QEMUBH QEMUBH; typedef struct DeviceState DeviceState; -/* Hack around the mess dyngen-exec.h causes: We need QEMU_NORETURN in files that - cannot include the following headers without conflicts. This condition has - to be removed once dyngen is gone. */ -#ifndef __DYNGEN_EXEC_H__ - /* we put basic includes here to avoid repeating them in device drivers */ #include #include @@ -318,6 +313,4 @@ static inline uint8_t from_bcd(uint8_t val) #include "module.h" -#endif /* dyngen-exec.h hack */ - #endif -- 2.7.4