qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/2] Remove special handling of system include files (no longer needed)
@ 2010-10-13 18:54 Stefan Weil
  2010-10-13 18:54 ` [Qemu-devel] [PATCH 2/2] Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking) Stefan Weil
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Weil @ 2010-10-13 18:54 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Blue Swirl

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 <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 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 <http://www.gnu.org/licenses/>. */
 
+#include "qemu-common.h"
 #include "dis-asm.h"
 //#include "sysdep.h"
 #include "target-cris/opcode-cris.h"
 //#include "libiberty.h"
-\f

-
-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 <stddef.h>
-#include <stdint.h>
-#include <stdbool.h>
+#include "qemu-common.h"
 
 #ifdef __OpenBSD__
 #include <sys/types.h>
@@ -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 <stdlib.h>
 #include <stdio.h>
@@ -318,6 +313,4 @@ static inline uint8_t from_bcd(uint8_t val)
 
 #include "module.h"
 
-#endif /* dyngen-exec.h hack */
-
 #endif
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PATCH 2/2] Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)
  2010-10-13 18:54 [Qemu-devel] [PATCH 1/2] Remove special handling of system include files (no longer needed) Stefan Weil
@ 2010-10-13 18:54 ` Stefan Weil
  2010-10-22 10:33   ` [Qemu-devel] " Stefan Weil
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Weil @ 2010-10-13 18:54 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Blue Swirl

Replace the remaining format attribute printf by macro
GCC_FMT_ATTR which uses gnu_printf (if supported).

v2
* Removal of dyngen specific code is now done in a separate patch.
* Handle attribute in new ui/spice-display.c, too.

Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 cpu-all.h          |    2 +-
 ui/spice-display.c |    3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/cpu-all.h b/cpu-all.h
index 67a3266..11edddc 100644
--- a/cpu-all.h
+++ b/cpu-all.h
@@ -773,7 +773,7 @@ void cpu_dump_statistics (CPUState *env, FILE *f,
                           int flags);
 
 void QEMU_NORETURN cpu_abort(CPUState *env, const char *fmt, ...)
-    __attribute__ ((__format__ (__printf__, 2, 3)));
+    GCC_FMT_ATTR(2, 3);
 extern CPUState *first_cpu;
 extern CPUState *cpu_single_env;
 
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 6702dfd..7b4f5c1 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -29,8 +29,7 @@
 
 static int debug = 0;
 
-static void __attribute__((format(printf,2,3)))
-dprint(int level, const char *fmt, ...)
+static void GCC_FMT_ATTR(2, 3) dprint(int level, const char *fmt, ...)
 {
     va_list args;
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Qemu-devel] Re: [PATCH 2/2] Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)
  2010-10-13 18:54 ` [Qemu-devel] [PATCH 2/2] Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking) Stefan Weil
@ 2010-10-22 10:33   ` Stefan Weil
  2010-10-22 18:23     ` Blue Swirl
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Weil @ 2010-10-22 10:33 UTC (permalink / raw)
  To: Blue Swirl; +Cc: QEMU Developers

Am 13.10.2010 20:54, schrieb Stefan Weil:
> Replace the remaining format attribute printf by macro
> GCC_FMT_ATTR which uses gnu_printf (if supported).
>
> v2
> * Removal of dyngen specific code is now done in a separate patch.
> * Handle attribute in new ui/spice-display.c, too.
>
> Cc: Blue Swirl<blauwirbel@gmail.com>
> Signed-off-by: Stefan Weil<weil@mail.berlios.de>
> ---
>   cpu-all.h          |    2 +-
>   ui/spice-display.c |    3 +--
>   2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/cpu-all.h b/cpu-all.h
> index 67a3266..11edddc 100644
> --- a/cpu-all.h
> +++ b/cpu-all.h
> @@ -773,7 +773,7 @@ void cpu_dump_statistics (CPUState *env, FILE *f,
>                             int flags);
>
>   void QEMU_NORETURN cpu_abort(CPUState *env, const char *fmt, ...)
> -    __attribute__ ((__format__ (__printf__, 2, 3)));
> +    GCC_FMT_ATTR(2, 3);
>   extern CPUState *first_cpu;
>   extern CPUState *cpu_single_env;
>
> diff --git a/ui/spice-display.c b/ui/spice-display.c
> index 6702dfd..7b4f5c1 100644
> --- a/ui/spice-display.c
> +++ b/ui/spice-display.c
> @@ -29,8 +29,7 @@
>
>   static int debug = 0;
>
> -static void __attribute__((format(printf,2,3)))
> -dprint(int level, const char *fmt, ...)
> +static void GCC_FMT_ATTR(2, 3) dprint(int level, const char *fmt, ...)
>   {
>       va_list args;
>
>    


Can these two patches be applied to qemu master, or is there still 
something missing?
They are needed for additional format checks.

Regards,
Stefan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] Re: [PATCH 2/2] Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)
  2010-10-22 10:33   ` [Qemu-devel] " Stefan Weil
@ 2010-10-22 18:23     ` Blue Swirl
  0 siblings, 0 replies; 4+ messages in thread
From: Blue Swirl @ 2010-10-22 18:23 UTC (permalink / raw)
  To: Stefan Weil; +Cc: QEMU Developers

Thanks, applied both.

On Fri, Oct 22, 2010 at 10:33 AM, Stefan Weil <weil@mail.berlios.de> wrote:
> Am 13.10.2010 20:54, schrieb Stefan Weil:
>>
>> Replace the remaining format attribute printf by macro
>> GCC_FMT_ATTR which uses gnu_printf (if supported).
>>
>> v2
>> * Removal of dyngen specific code is now done in a separate patch.
>> * Handle attribute in new ui/spice-display.c, too.
>>
>> Cc: Blue Swirl<blauwirbel@gmail.com>
>> Signed-off-by: Stefan Weil<weil@mail.berlios.de>
>> ---
>>  cpu-all.h          |    2 +-
>>  ui/spice-display.c |    3 +--
>>  2 files changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/cpu-all.h b/cpu-all.h
>> index 67a3266..11edddc 100644
>> --- a/cpu-all.h
>> +++ b/cpu-all.h
>> @@ -773,7 +773,7 @@ void cpu_dump_statistics (CPUState *env, FILE *f,
>>                            int flags);
>>
>>  void QEMU_NORETURN cpu_abort(CPUState *env, const char *fmt, ...)
>> -    __attribute__ ((__format__ (__printf__, 2, 3)));
>> +    GCC_FMT_ATTR(2, 3);
>>  extern CPUState *first_cpu;
>>  extern CPUState *cpu_single_env;
>>
>> diff --git a/ui/spice-display.c b/ui/spice-display.c
>> index 6702dfd..7b4f5c1 100644
>> --- a/ui/spice-display.c
>> +++ b/ui/spice-display.c
>> @@ -29,8 +29,7 @@
>>
>>  static int debug = 0;
>>
>> -static void __attribute__((format(printf,2,3)))
>> -dprint(int level, const char *fmt, ...)
>> +static void GCC_FMT_ATTR(2, 3) dprint(int level, const char *fmt, ...)
>>  {
>>      va_list args;
>>
>>
>
>
> Can these two patches be applied to qemu master, or is there still something
> missing?
> They are needed for additional format checks.
>
> Regards,
> Stefan
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-10-22 18:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-13 18:54 [Qemu-devel] [PATCH 1/2] Remove special handling of system include files (no longer needed) Stefan Weil
2010-10-13 18:54 ` [Qemu-devel] [PATCH 2/2] Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking) Stefan Weil
2010-10-22 10:33   ` [Qemu-devel] " Stefan Weil
2010-10-22 18:23     ` Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).