All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/3]: Fix build issue with error.h
@ 2011-07-13 14:23 Luiz Capitulino
  2011-07-13 14:23 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
  2011-07-13 14:23 ` [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included Luiz Capitulino
  0 siblings, 2 replies; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-13 14:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, mdroth

A .c file including error.h and not including qemu-common.h will break the
build, because error.h uses a macro defined in qemu-common.h.

The simple and obvious fix would be to change error.h to include
qemu-common.h. But this is overkill, so this series does some splitting in
qemu-common.h and changes error.h to include only what it really needs.

Please, refer to the patches for more details.

v3
 o Drop license text from compiler.h

v2
 o Move compiler related macros from qemu-common.h to compiler.h

 compiler.h    |   31 +++++++++++++++++++++++++++++++
 error.h       |    1 +
 qemu-common.h |   25 +------------------------
 3 files changed, 33 insertions(+), 24 deletions(-)

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

* [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 14:23 [Qemu-devel] [PATCH v2 0/3]: Fix build issue with error.h Luiz Capitulino
@ 2011-07-13 14:23 ` Luiz Capitulino
  2011-07-13 14:37   ` malc
  2011-07-13 15:04   ` Peter Maydell
  2011-07-13 14:23 ` [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included Luiz Capitulino
  1 sibling, 2 replies; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-13 14:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, mdroth

From: Luiz Capitulino <lcapitulino@gmail.com>

This moves compiler related macros from qemu-common.h to compiler.h.

The reason for this change is that there are simple header files that
depend only on the compiler macros, so including qemu-common.h is overkill.

Besides, qemu-common.h is bloated and will benefit from some splitting.

Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
---
 compiler.h    |   31 +++++++++++++++++++++++++++++++
 qemu-common.h |   25 +------------------------
 2 files changed, 32 insertions(+), 24 deletions(-)
 create mode 100644 compiler.h

diff --git a/compiler.h b/compiler.h
new file mode 100644
index 0000000..2dfc2c6
--- /dev/null
+++ b/compiler.h
@@ -0,0 +1,31 @@
+#ifndef COMPILER_H
+#define COMPILER_H
+
+#include "config-host.h"
+
+#define QEMU_NORETURN __attribute__ ((__noreturn__))
+#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
+#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+#define QEMU_WARN_UNUSED_RESULT
+#endif
+
+#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
+
+#if defined __GNUC__
+# if (__GNUC__ < 4) || \
+     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
+   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
+#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
+#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
+# else
+   /* Use gnu_printf when supported (qemu uses standard format strings). */
+#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
+#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
+# endif
+#else
+#define GCC_ATTR /**/
+#define GCC_FMT_ATTR(n, m)
+#endif
+
+#endif /* COMPILER_H */
diff --git a/qemu-common.h b/qemu-common.h
index abd7a75..1e72931 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -2,16 +2,9 @@
 #ifndef QEMU_COMMON_H
 #define QEMU_COMMON_H
 
+#include "compiler.h"
 #include "config-host.h"
 
-#define QEMU_NORETURN __attribute__ ((__noreturn__))
-#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
-#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
-#else
-#define QEMU_WARN_UNUSED_RESULT
-#endif
-
-#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
 #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
 
 typedef struct QEMUTimer QEMUTimer;
@@ -82,22 +75,6 @@ struct iovec {
 #include <sys/uio.h>
 #endif
 
-#if defined __GNUC__
-# if (__GNUC__ < 4) || \
-     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
-   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
-#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
-#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
-# else
-   /* Use gnu_printf when supported (qemu uses standard format strings). */
-#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
-#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
-# endif
-#else
-#define GCC_ATTR /**/
-#define GCC_FMT_ATTR(n, m)
-#endif
-
 typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
     GCC_FMT_ATTR(2, 3);
 
-- 
1.7.6.134.gcf13f

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

* [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included
  2011-07-13 14:23 [Qemu-devel] [PATCH v2 0/3]: Fix build issue with error.h Luiz Capitulino
  2011-07-13 14:23 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
@ 2011-07-13 14:23 ` Luiz Capitulino
  1 sibling, 0 replies; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-13 14:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, mdroth

From: Luiz Capitulino <lcapitulino@gmail.com>

Commit e4ea5e2d0e0e4c5188ab45b66f3195062ae059dc added the use of
the macro GCC_FMT_ATTR to error.h, however compiler.h is not
included by error.h

This will cause a build error when files including error.h
don't include qemu-common.h (or compiler.h). Not an issue today
because the only file including it is json-parser.h and it does
include qemu-common.h, but let's get it fixed.

Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
---
 error.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/error.h b/error.h
index 0f92a6f..6361f40 100644
--- a/error.h
+++ b/error.h
@@ -12,6 +12,7 @@
 #ifndef ERROR_H
 #define ERROR_H
 
+#include "compiler.h"
 #include <stdbool.h>
 
 /**
-- 
1.7.6.134.gcf13f

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 14:23 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
@ 2011-07-13 14:37   ` malc
  2011-07-13 16:20     ` Luiz Capitulino
  2011-07-13 15:04   ` Peter Maydell
  1 sibling, 1 reply; 20+ messages in thread
From: malc @ 2011-07-13 14:37 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth

On Wed, 13 Jul 2011, Luiz Capitulino wrote:

> From: Luiz Capitulino <lcapitulino@gmail.com>
> 
> This moves compiler related macros from qemu-common.h to compiler.h.
> 
> The reason for this change is that there are simple header files that
> depend only on the compiler macros, so including qemu-common.h is overkill.
> 
> Besides, qemu-common.h is bloated and will benefit from some splitting.
> 
> Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
> ---
>  compiler.h    |   31 +++++++++++++++++++++++++++++++
>  qemu-common.h |   25 +------------------------
>  2 files changed, 32 insertions(+), 24 deletions(-)
>  create mode 100644 compiler.h
> 
> diff --git a/compiler.h b/compiler.h
> new file mode 100644
> index 0000000..2dfc2c6
> --- /dev/null
> +++ b/compiler.h
> @@ -0,0 +1,31 @@
> +#ifndef COMPILER_H
> +#define COMPILER_H
> +
> +#include "config-host.h"
> +
> +#define QEMU_NORETURN __attribute__ ((__noreturn__))
> +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> +#else
> +#define QEMU_WARN_UNUSED_RESULT
> +#endif
> +
> +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];

Identifiers starting with double underscore are reserved for all uses,
so, please, use something else.

> +
> +#if defined __GNUC__
> +# if (__GNUC__ < 4) || \
> +     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> +   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> +#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> +#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> +# else
> +   /* Use gnu_printf when supported (qemu uses standard format strings). */
> +#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> +#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> +# endif
> +#else
> +#define GCC_ATTR /**/
> +#define GCC_FMT_ATTR(n, m)
> +#endif
> +
> +#endif /* COMPILER_H */
> diff --git a/qemu-common.h b/qemu-common.h
> index abd7a75..1e72931 100644
> --- a/qemu-common.h
> +++ b/qemu-common.h
> @@ -2,16 +2,9 @@
>  #ifndef QEMU_COMMON_H
>  #define QEMU_COMMON_H
>  
> +#include "compiler.h"
>  #include "config-host.h"
>  
> -#define QEMU_NORETURN __attribute__ ((__noreturn__))
> -#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> -#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> -#else
> -#define QEMU_WARN_UNUSED_RESULT
> -#endif
> -
> -#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
>  #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
>  
>  typedef struct QEMUTimer QEMUTimer;
> @@ -82,22 +75,6 @@ struct iovec {
>  #include <sys/uio.h>
>  #endif
>  
> -#if defined __GNUC__
> -# if (__GNUC__ < 4) || \
> -     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> -   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> -#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> -#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> -# else
> -   /* Use gnu_printf when supported (qemu uses standard format strings). */
> -#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> -#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> -# endif
> -#else
> -#define GCC_ATTR /**/
> -#define GCC_FMT_ATTR(n, m)
> -#endif
> -
>  typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
>      GCC_FMT_ATTR(2, 3);
>  
> 

-- 
mailto:av1474@comtv.ru

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 14:23 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
  2011-07-13 14:37   ` malc
@ 2011-07-13 15:04   ` Peter Maydell
  2011-07-13 16:27     ` Luiz Capitulino
  1 sibling, 1 reply; 20+ messages in thread
From: Peter Maydell @ 2011-07-13 15:04 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth

On 13 July 2011 15:23, Luiz Capitulino <lcapitulino@redhat.com> wrote:
> diff --git a/compiler.h b/compiler.h
> new file mode 100644
> index 0000000..2dfc2c6
> --- /dev/null
> +++ b/compiler.h
> @@ -0,0 +1,31 @@
> +#ifndef COMPILER_H
> +#define COMPILER_H

If we don't have a rule that says that all new source files should have
a standard-ish format copyright notice and license statement, I think
we ought to.

(This came up last in the discussion over importing Linux kernel
headers into the qemu tree. Having every file's status be clear and
clearly stated makes life easier for people who have to check these
things before redistributing...)

-- PMM

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 14:37   ` malc
@ 2011-07-13 16:20     ` Luiz Capitulino
  2011-07-13 16:47       ` malc
  0 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-13 16:20 UTC (permalink / raw)
  To: malc; +Cc: aliguori, qemu-devel, mdroth

On Wed, 13 Jul 2011 18:37:31 +0400 (MSD)
malc <av1474@comtv.ru> wrote:

> On Wed, 13 Jul 2011, Luiz Capitulino wrote:
> 
> > From: Luiz Capitulino <lcapitulino@gmail.com>
> > 
> > This moves compiler related macros from qemu-common.h to compiler.h.
> > 
> > The reason for this change is that there are simple header files that
> > depend only on the compiler macros, so including qemu-common.h is overkill.
> > 
> > Besides, qemu-common.h is bloated and will benefit from some splitting.
> > 
> > Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
> > ---
> >  compiler.h    |   31 +++++++++++++++++++++++++++++++
> >  qemu-common.h |   25 +------------------------
> >  2 files changed, 32 insertions(+), 24 deletions(-)
> >  create mode 100644 compiler.h
> > 
> > diff --git a/compiler.h b/compiler.h
> > new file mode 100644
> > index 0000000..2dfc2c6
> > --- /dev/null
> > +++ b/compiler.h
> > @@ -0,0 +1,31 @@
> > +#ifndef COMPILER_H
> > +#define COMPILER_H
> > +
> > +#include "config-host.h"
> > +
> > +#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > +#else
> > +#define QEMU_WARN_UNUSED_RESULT
> > +#endif
> > +
> > +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> 
> Identifiers starting with double underscore are reserved for all uses,
> so, please, use something else.

I'll fix it as an additional patch:

diff --git a/compiler.h b/compiler.h
index 2dfc2c6..54720bf 100644
--- a/compiler.h
+++ b/compiler.h
@@ -10,7 +10,8 @@
 #define QEMU_WARN_UNUSED_RESULT
 #endif
 
-#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
+#define QEMU_BUILD_BUG_ON(x) \
+    typedef char qemu_build_bug_on__##__LINE__[(x)?-1:1];
 
 #if defined __GNUC__
 # if (__GNUC__ < 4) || \

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 15:04   ` Peter Maydell
@ 2011-07-13 16:27     ` Luiz Capitulino
  2011-07-13 20:39       ` Stefan Weil
  2011-07-14 10:58       ` Peter Maydell
  0 siblings, 2 replies; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-13 16:27 UTC (permalink / raw)
  To: Peter Maydell; +Cc: aliguori, qemu-devel, mdroth

On Wed, 13 Jul 2011 16:04:52 +0100
Peter Maydell <peter.maydell@linaro.org> wrote:

> On 13 July 2011 15:23, Luiz Capitulino <lcapitulino@redhat.com> wrote:
> > diff --git a/compiler.h b/compiler.h
> > new file mode 100644
> > index 0000000..2dfc2c6
> > --- /dev/null
> > +++ b/compiler.h
> > @@ -0,0 +1,31 @@
> > +#ifndef COMPILER_H
> > +#define COMPILER_H
> 
> If we don't have a rule that says that all new source files should have
> a standard-ish format copyright notice and license statement, I think
> we ought to.

Make sense, but this content comes from qemu-common.h which doesn't
have that information. I can't choose for the authors. Malc is one of them,
and he asked me to remove the license text altogether (which makes this public
domain?)

> 
> (This came up last in the discussion over importing Linux kernel
> headers into the qemu tree. Having every file's status be clear and
> clearly stated makes life easier for people who have to check these
> things before redistributing...)
> 
> -- PMM
> 

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 16:20     ` Luiz Capitulino
@ 2011-07-13 16:47       ` malc
  0 siblings, 0 replies; 20+ messages in thread
From: malc @ 2011-07-13 16:47 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth

On Wed, 13 Jul 2011, Luiz Capitulino wrote:

> On Wed, 13 Jul 2011 18:37:31 +0400 (MSD)
> malc <av1474@comtv.ru> wrote:
> 
> > On Wed, 13 Jul 2011, Luiz Capitulino wrote:
> > 
> > > From: Luiz Capitulino <lcapitulino@gmail.com>
> > > 
> > > This moves compiler related macros from qemu-common.h to compiler.h.
> > > 
> > > The reason for this change is that there are simple header files that
> > > depend only on the compiler macros, so including qemu-common.h is overkill.
> > > 
> > > Besides, qemu-common.h is bloated and will benefit from some splitting.
> > > 
> > > Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
> > > ---
> > >  compiler.h    |   31 +++++++++++++++++++++++++++++++
> > >  qemu-common.h |   25 +------------------------
> > >  2 files changed, 32 insertions(+), 24 deletions(-)
> > >  create mode 100644 compiler.h
> > > 
> > > diff --git a/compiler.h b/compiler.h
> > > new file mode 100644
> > > index 0000000..2dfc2c6
> > > --- /dev/null
> > > +++ b/compiler.h
> > > @@ -0,0 +1,31 @@
> > > +#ifndef COMPILER_H
> > > +#define COMPILER_H
> > > +
> > > +#include "config-host.h"
> > > +
> > > +#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > > +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > > +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > > +#else
> > > +#define QEMU_WARN_UNUSED_RESULT
> > > +#endif
> > > +
> > > +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> > 
> > Identifiers starting with double underscore are reserved for all uses,
> > so, please, use something else.
> 
> I'll fix it as an additional patch:

OK.

> 
> diff --git a/compiler.h b/compiler.h
> index 2dfc2c6..54720bf 100644
> --- a/compiler.h
> +++ b/compiler.h
> @@ -10,7 +10,8 @@
>  #define QEMU_WARN_UNUSED_RESULT
>  #endif
>  
> -#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> +#define QEMU_BUILD_BUG_ON(x) \
> +    typedef char qemu_build_bug_on__##__LINE__[(x)?-1:1];
>  
>  #if defined __GNUC__
>  # if (__GNUC__ < 4) || \
> 

-- 
mailto:av1474@comtv.ru

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 16:27     ` Luiz Capitulino
@ 2011-07-13 20:39       ` Stefan Weil
  2011-07-14 12:57         ` Luiz Capitulino
  2011-07-14 10:58       ` Peter Maydell
  1 sibling, 1 reply; 20+ messages in thread
From: Stefan Weil @ 2011-07-13 20:39 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: Peter Maydell, qemu-devel

Am 13.07.2011 18:27, schrieb Luiz Capitulino:
> On Wed, 13 Jul 2011 16:04:52 +0100
> Peter Maydell <peter.maydell@linaro.org> wrote:
>
>> On 13 July 2011 15:23, Luiz Capitulino <lcapitulino@redhat.com> wrote:
>>> diff --git a/compiler.h b/compiler.h
>>> new file mode 100644
>>> index 0000000..2dfc2c6
>>> --- /dev/null
>>> +++ b/compiler.h
>>> @@ -0,0 +1,31 @@
>>> +#ifndef COMPILER_H
>>> +#define COMPILER_H
>>
>> If we don't have a rule that says that all new source files should have
>> a standard-ish format copyright notice and license statement, I think
>> we ought to.
>
> Make sense, but this content comes from qemu-common.h which doesn't
> have that information. I can't choose for the authors. Malc is one of 
> them,
> and he asked me to remove the license text altogether (which makes 
> this public
> domain?)

Malc's code was from audio/audio_int.h, so maybe the license text
can be copied from that file.

I thought that no individual license text implied the default license
which is described in file LICENSE:

"QEMU as a whole is released under the GNU General Public License"

Regards,
Stefan

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 16:27     ` Luiz Capitulino
  2011-07-13 20:39       ` Stefan Weil
@ 2011-07-14 10:58       ` Peter Maydell
  1 sibling, 0 replies; 20+ messages in thread
From: Peter Maydell @ 2011-07-14 10:58 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth

On 13 July 2011 17:27, Luiz Capitulino <lcapitulino@redhat.com> wrote:
> he asked me to remove the license text altogether (which makes this
> public domain?)

Saying nothing is definitely not putting something into the public
domain, it's just leaving the recipient to guess (and for safety you
generally have to assume the worst, ie not distributable.)
In particular at least two people in this thread have assumed it means
two definitely different things. We should just state clearly what
licence we are providing the file under, and not leave people in doubt.
[If we ourselves are in doubt we shouldn't ship it at all :-)]

-- PMM

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-13 20:39       ` Stefan Weil
@ 2011-07-14 12:57         ` Luiz Capitulino
  2011-07-14 14:15           ` malc
  0 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-14 12:57 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Peter Maydell, qemu-devel

On Wed, 13 Jul 2011 22:39:07 +0200
Stefan Weil <weil@mail.berlios.de> wrote:

> Am 13.07.2011 18:27, schrieb Luiz Capitulino:
> > On Wed, 13 Jul 2011 16:04:52 +0100
> > Peter Maydell <peter.maydell@linaro.org> wrote:
> >
> >> On 13 July 2011 15:23, Luiz Capitulino <lcapitulino@redhat.com> wrote:
> >>> diff --git a/compiler.h b/compiler.h
> >>> new file mode 100644
> >>> index 0000000..2dfc2c6
> >>> --- /dev/null
> >>> +++ b/compiler.h
> >>> @@ -0,0 +1,31 @@
> >>> +#ifndef COMPILER_H
> >>> +#define COMPILER_H
> >>
> >> If we don't have a rule that says that all new source files should have
> >> a standard-ish format copyright notice and license statement, I think
> >> we ought to.
> >
> > Make sense, but this content comes from qemu-common.h which doesn't
> > have that information. I can't choose for the authors. Malc is one of 
> > them,
> > and he asked me to remove the license text altogether (which makes 
> > this public
> > domain?)
> 
> Malc's code was from audio/audio_int.h, so maybe the license text
> can be copied from that file.

Malc, are you ok with that?

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-14 12:57         ` Luiz Capitulino
@ 2011-07-14 14:15           ` malc
  2011-07-14 14:26             ` Luiz Capitulino
  0 siblings, 1 reply; 20+ messages in thread
From: malc @ 2011-07-14 14:15 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel, Peter Maydell

On Thu, 14 Jul 2011, Luiz Capitulino wrote:

> On Wed, 13 Jul 2011 22:39:07 +0200
> Stefan Weil <weil@mail.berlios.de> wrote:
> 
> > Am 13.07.2011 18:27, schrieb Luiz Capitulino:
> > > On Wed, 13 Jul 2011 16:04:52 +0100
> > > Peter Maydell <peter.maydell@linaro.org> wrote:
> > >
> > >> On 13 July 2011 15:23, Luiz Capitulino <lcapitulino@redhat.com> wrote:
> > >>> diff --git a/compiler.h b/compiler.h
> > >>> new file mode 100644
> > >>> index 0000000..2dfc2c6
> > >>> --- /dev/null
> > >>> +++ b/compiler.h
> > >>> @@ -0,0 +1,31 @@
> > >>> +#ifndef COMPILER_H
> > >>> +#define COMPILER_H
> > >>
> > >> If we don't have a rule that says that all new source files should have
> > >> a standard-ish format copyright notice and license statement, I think
> > >> we ought to.
> > >
> > > Make sense, but this content comes from qemu-common.h which doesn't
> > > have that information. I can't choose for the authors. Malc is one of 
> > > them,
> > > and he asked me to remove the license text altogether (which makes 
> > > this public
> > > domain?)
> > 
> > Malc's code was from audio/audio_int.h, so maybe the license text
> > can be copied from that file.
> 
> Malc, are you ok with that?
> 

I would be okay with just making it public domain.

-- 
mailto:av1474@comtv.ru

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-14 14:15           ` malc
@ 2011-07-14 14:26             ` Luiz Capitulino
  2011-07-14 14:35               ` malc
  0 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-14 14:26 UTC (permalink / raw)
  To: malc; +Cc: qemu-devel, Peter Maydell

On Thu, 14 Jul 2011 18:15:57 +0400 (MSD)
malc <av1474@comtv.ru> wrote:

> On Thu, 14 Jul 2011, Luiz Capitulino wrote:
> 
> > On Wed, 13 Jul 2011 22:39:07 +0200
> > Stefan Weil <weil@mail.berlios.de> wrote:
> > 
> > > Am 13.07.2011 18:27, schrieb Luiz Capitulino:
> > > > On Wed, 13 Jul 2011 16:04:52 +0100
> > > > Peter Maydell <peter.maydell@linaro.org> wrote:
> > > >
> > > >> On 13 July 2011 15:23, Luiz Capitulino <lcapitulino@redhat.com> wrote:
> > > >>> diff --git a/compiler.h b/compiler.h
> > > >>> new file mode 100644
> > > >>> index 0000000..2dfc2c6
> > > >>> --- /dev/null
> > > >>> +++ b/compiler.h
> > > >>> @@ -0,0 +1,31 @@
> > > >>> +#ifndef COMPILER_H
> > > >>> +#define COMPILER_H
> > > >>
> > > >> If we don't have a rule that says that all new source files should have
> > > >> a standard-ish format copyright notice and license statement, I think
> > > >> we ought to.
> > > >
> > > > Make sense, but this content comes from qemu-common.h which doesn't
> > > > have that information. I can't choose for the authors. Malc is one of 
> > > > them,
> > > > and he asked me to remove the license text altogether (which makes 
> > > > this public
> > > > domain?)
> > > 
> > > Malc's code was from audio/audio_int.h, so maybe the license text
> > > can be copied from that file.
> > 
> > Malc, are you ok with that?
> > 
> 
> I would be okay with just making it public domain.

May you suggest a text to be put in the file?

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-14 14:26             ` Luiz Capitulino
@ 2011-07-14 14:35               ` malc
  0 siblings, 0 replies; 20+ messages in thread
From: malc @ 2011-07-14 14:35 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel, Peter Maydell

On Thu, 14 Jul 2011, Luiz Capitulino wrote:

> On Thu, 14 Jul 2011 18:15:57 +0400 (MSD)
> malc <av1474@comtv.ru> wrote:
> 
> > On Thu, 14 Jul 2011, Luiz Capitulino wrote:
> > 
> > > On Wed, 13 Jul 2011 22:39:07 +0200
> > > Stefan Weil <weil@mail.berlios.de> wrote:
> > > 
> > > > Am 13.07.2011 18:27, schrieb Luiz Capitulino:
> > > > > On Wed, 13 Jul 2011 16:04:52 +0100
> > > > > Peter Maydell <peter.maydell@linaro.org> wrote:
> > > > >
> > > > >> On 13 July 2011 15:23, Luiz Capitulino <lcapitulino@redhat.com> wrote:
> > > > >>> diff --git a/compiler.h b/compiler.h
> > > > >>> new file mode 100644
> > > > >>> index 0000000..2dfc2c6
> > > > >>> --- /dev/null
> > > > >>> +++ b/compiler.h
> > > > >>> @@ -0,0 +1,31 @@
> > > > >>> +#ifndef COMPILER_H
> > > > >>> +#define COMPILER_H
> > > > >>
> > > > >> If we don't have a rule that says that all new source files should have
> > > > >> a standard-ish format copyright notice and license statement, I think
> > > > >> we ought to.
> > > > >
> > > > > Make sense, but this content comes from qemu-common.h which doesn't
> > > > > have that information. I can't choose for the authors. Malc is one of 
> > > > > them,
> > > > > and he asked me to remove the license text altogether (which makes 
> > > > > this public
> > > > > domain?)
> > > > 
> > > > Malc's code was from audio/audio_int.h, so maybe the license text
> > > > can be copied from that file.
> > > 
> > > Malc, are you ok with that?
> > > 
> > 
> > I would be okay with just making it public domain.
> 
> May you suggest a text to be put in the file?
> 

/* public domain */

-- 
mailto:av1474@comtv.ru

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

* [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-14 21:28 [Qemu-devel] [PATCH v4 0/3]: Fix build issue with error.h saga Luiz Capitulino
@ 2011-07-14 21:28 ` Luiz Capitulino
  0 siblings, 0 replies; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-14 21:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: mdroth, peter.maydell

From: Luiz Capitulino <lcapitulino@gmail.com>

This moves compiler related macros from qemu-common.h to compiler.h.

The reason for this change is that there are simple header files that
depend only on the compiler macros, so including qemu-common.h is overkill.

Besides, qemu-common.h is bloated and will benefit from some splitting.

Please, also note that the QEMU_BUILD_BUG_ON() macro is being fixed to
not use double underscores as a prefix and the license text was added
by Vassili Karpov (malc), who is one of the authors of the new file.

Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
---
 compiler.h    |   34 ++++++++++++++++++++++++++++++++++
 qemu-common.h |   25 +------------------------
 2 files changed, 35 insertions(+), 24 deletions(-)
 create mode 100644 compiler.h

diff --git a/compiler.h b/compiler.h
new file mode 100644
index 0000000..9af5dc6
--- /dev/null
+++ b/compiler.h
@@ -0,0 +1,34 @@
+/* public domain */
+
+#ifndef COMPILER_H
+#define COMPILER_H
+
+#include "config-host.h"
+
+#define QEMU_NORETURN __attribute__ ((__noreturn__))
+#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
+#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+#define QEMU_WARN_UNUSED_RESULT
+#endif
+
+#define QEMU_BUILD_BUG_ON(x) \
+    typedef char qemu_build_bug_on__##__LINE__[(x)?-1:1];
+
+#if defined __GNUC__
+# if (__GNUC__ < 4) || \
+     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
+   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
+#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
+#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
+# else
+   /* Use gnu_printf when supported (qemu uses standard format strings). */
+#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
+#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
+# endif
+#else
+#define GCC_ATTR /**/
+#define GCC_FMT_ATTR(n, m)
+#endif
+
+#endif /* COMPILER_H */
diff --git a/qemu-common.h b/qemu-common.h
index c2b79bd..ba55719 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -2,16 +2,9 @@
 #ifndef QEMU_COMMON_H
 #define QEMU_COMMON_H
 
+#include "compiler.h"
 #include "config-host.h"
 
-#define QEMU_NORETURN __attribute__ ((__noreturn__))
-#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
-#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
-#else
-#define QEMU_WARN_UNUSED_RESULT
-#endif
-
-#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
 #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
 
 typedef struct QEMUTimer QEMUTimer;
@@ -82,22 +75,6 @@ struct iovec {
 #include <sys/uio.h>
 #endif
 
-#if defined __GNUC__
-# if (__GNUC__ < 4) || \
-     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
-   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
-#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
-#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
-# else
-   /* Use gnu_printf when supported (qemu uses standard format strings). */
-#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
-#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
-# endif
-#else
-#define GCC_ATTR /**/
-#define GCC_FMT_ATTR(n, m)
-#endif
-
 typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
     GCC_FMT_ATTR(2, 3);
 
-- 
1.7.6.178.g55272

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-12 20:43       ` malc
@ 2011-07-12 20:52         ` Luiz Capitulino
  0 siblings, 0 replies; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-12 20:52 UTC (permalink / raw)
  To: malc; +Cc: aliguori, qemu-devel, mdroth

On Wed, 13 Jul 2011 00:43:42 +0400 (MSD)
malc <av1474@comtv.ru> wrote:

> On Tue, 12 Jul 2011, Luiz Capitulino wrote:
> 
> > On Wed, 13 Jul 2011 00:31:56 +0400 (MSD)
> > malc <av1474@comtv.ru> wrote:
> > 
> > > On Tue, 12 Jul 2011, Luiz Capitulino wrote:
> > > 
> > > > From: Luiz Capitulino <lcapitulino@gmail.com>
> > > > 
> > > > This moves compiler related macros from qemu-common.h to compiler.h.
> > > > 
> > > > The reason for this change is that there are simple header files that
> > > > depend only on the compiler macros, so including qemu-common.h is overkill.
> > > > 
> > > > Besides, qemu-common.h is bloated and will benefit from some splitting.
> > > > 
> > > > Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
> > > > ---
> > > >  compiler.h    |   38 ++++++++++++++++++++++++++++++++++++++
> > > >  qemu-common.h |   25 +------------------------
> > > >  2 files changed, 39 insertions(+), 24 deletions(-)
> > > >  create mode 100644 compiler.h
> > > > 
> > > > diff --git a/compiler.h b/compiler.h
> > > > new file mode 100644
> > > > index 0000000..864f8ff
> > > > --- /dev/null
> > > > +++ b/compiler.h
> > > > @@ -0,0 +1,38 @@
> > > > +/*
> > > > + * Compiler related definition
> > > > + *
> > > > + * This work is licensed under the terms of the GNU GPL, version 2.  See
> > > > + * the COPYING file in the top-level directory.
> > > > + *
> > > > + */
> > > > +#ifndef COMPILER_H
> > > > +#define COMPILER_H
> > > > +
> > > > +#include "config-host.h"
> > > > +
> > > > +#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > > > +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > > > +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > > > +#else
> > > > +#define QEMU_WARN_UNUSED_RESULT
> > > > +#endif
> > > > +
> > > > +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> > > > +
> > > > +#if defined __GNUC__
> > > > +# if (__GNUC__ < 4) || \
> > > > +     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> > > > +   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> > > > +#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> > > > +#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> > > 
> > > I wrote the above and certainly didn't license it under GPL, please drop
> > > the bogus copyright notice at the top.
> > 
> > Which one should I use?
> 
> None, it's a bloody header with definitions it's not copyrightable.

It's, but you're choosing not to do so.

> 
> > 
> > > 
> > > > +# else
> > > > +   /* Use gnu_printf when supported (qemu uses standard format strings). */
> > > > +#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> > > > +#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> > > > +# endif
> > > > +#else
> > > > +#define GCC_ATTR /**/
> > > > +#define GCC_FMT_ATTR(n, m)
> > > > +#endif
> > > > +
> > > > +#endif /* COMPILER_H */
> > > > diff --git a/qemu-common.h b/qemu-common.h
> > > > index abd7a75..1e72931 100644
> > > > --- a/qemu-common.h
> > > > +++ b/qemu-common.h
> > > > @@ -2,16 +2,9 @@
> > > >  #ifndef QEMU_COMMON_H
> > > >  #define QEMU_COMMON_H
> > > >  
> > > > +#include "compiler.h"
> > > >  #include "config-host.h"
> > > >  
> > > > -#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > > > -#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > > > -#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > > > -#else
> > > > -#define QEMU_WARN_UNUSED_RESULT
> > > > -#endif
> > > > -
> > > > -#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> > > >  #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
> > > >  
> > > >  typedef struct QEMUTimer QEMUTimer;
> > > > @@ -82,22 +75,6 @@ struct iovec {
> > > >  #include <sys/uio.h>
> > > >  #endif
> > > >  
> > > > -#if defined __GNUC__
> > > > -# if (__GNUC__ < 4) || \
> > > > -     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> > > > -   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> > > > -#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> > > > -#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> > > > -# else
> > > > -   /* Use gnu_printf when supported (qemu uses standard format strings). */
> > > > -#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> > > > -#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> > > > -# endif
> > > > -#else
> > > > -#define GCC_ATTR /**/
> > > > -#define GCC_FMT_ATTR(n, m)
> > > > -#endif
> > > > -
> > > >  typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
> > > >      GCC_FMT_ATTR(2, 3);
> > > >  
> > > > 
> > > 
> > 
> 

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-12 20:34     ` Luiz Capitulino
@ 2011-07-12 20:43       ` malc
  2011-07-12 20:52         ` Luiz Capitulino
  0 siblings, 1 reply; 20+ messages in thread
From: malc @ 2011-07-12 20:43 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth

On Tue, 12 Jul 2011, Luiz Capitulino wrote:

> On Wed, 13 Jul 2011 00:31:56 +0400 (MSD)
> malc <av1474@comtv.ru> wrote:
> 
> > On Tue, 12 Jul 2011, Luiz Capitulino wrote:
> > 
> > > From: Luiz Capitulino <lcapitulino@gmail.com>
> > > 
> > > This moves compiler related macros from qemu-common.h to compiler.h.
> > > 
> > > The reason for this change is that there are simple header files that
> > > depend only on the compiler macros, so including qemu-common.h is overkill.
> > > 
> > > Besides, qemu-common.h is bloated and will benefit from some splitting.
> > > 
> > > Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
> > > ---
> > >  compiler.h    |   38 ++++++++++++++++++++++++++++++++++++++
> > >  qemu-common.h |   25 +------------------------
> > >  2 files changed, 39 insertions(+), 24 deletions(-)
> > >  create mode 100644 compiler.h
> > > 
> > > diff --git a/compiler.h b/compiler.h
> > > new file mode 100644
> > > index 0000000..864f8ff
> > > --- /dev/null
> > > +++ b/compiler.h
> > > @@ -0,0 +1,38 @@
> > > +/*
> > > + * Compiler related definition
> > > + *
> > > + * This work is licensed under the terms of the GNU GPL, version 2.  See
> > > + * the COPYING file in the top-level directory.
> > > + *
> > > + */
> > > +#ifndef COMPILER_H
> > > +#define COMPILER_H
> > > +
> > > +#include "config-host.h"
> > > +
> > > +#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > > +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > > +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > > +#else
> > > +#define QEMU_WARN_UNUSED_RESULT
> > > +#endif
> > > +
> > > +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> > > +
> > > +#if defined __GNUC__
> > > +# if (__GNUC__ < 4) || \
> > > +     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> > > +   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> > > +#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> > > +#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> > 
> > I wrote the above and certainly didn't license it under GPL, please drop
> > the bogus copyright notice at the top.
> 
> Which one should I use?

None, it's a bloody header with definitions it's not copyrightable.

> 
> > 
> > > +# else
> > > +   /* Use gnu_printf when supported (qemu uses standard format strings). */
> > > +#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> > > +#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> > > +# endif
> > > +#else
> > > +#define GCC_ATTR /**/
> > > +#define GCC_FMT_ATTR(n, m)
> > > +#endif
> > > +
> > > +#endif /* COMPILER_H */
> > > diff --git a/qemu-common.h b/qemu-common.h
> > > index abd7a75..1e72931 100644
> > > --- a/qemu-common.h
> > > +++ b/qemu-common.h
> > > @@ -2,16 +2,9 @@
> > >  #ifndef QEMU_COMMON_H
> > >  #define QEMU_COMMON_H
> > >  
> > > +#include "compiler.h"
> > >  #include "config-host.h"
> > >  
> > > -#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > > -#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > > -#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > > -#else
> > > -#define QEMU_WARN_UNUSED_RESULT
> > > -#endif
> > > -
> > > -#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> > >  #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
> > >  
> > >  typedef struct QEMUTimer QEMUTimer;
> > > @@ -82,22 +75,6 @@ struct iovec {
> > >  #include <sys/uio.h>
> > >  #endif
> > >  
> > > -#if defined __GNUC__
> > > -# if (__GNUC__ < 4) || \
> > > -     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> > > -   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> > > -#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> > > -#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> > > -# else
> > > -   /* Use gnu_printf when supported (qemu uses standard format strings). */
> > > -#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> > > -#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> > > -# endif
> > > -#else
> > > -#define GCC_ATTR /**/
> > > -#define GCC_FMT_ATTR(n, m)
> > > -#endif
> > > -
> > >  typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
> > >      GCC_FMT_ATTR(2, 3);
> > >  
> > > 
> > 
> 

-- 
mailto:av1474@comtv.ru

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-12 20:31   ` malc
@ 2011-07-12 20:34     ` Luiz Capitulino
  2011-07-12 20:43       ` malc
  0 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-12 20:34 UTC (permalink / raw)
  To: malc; +Cc: aliguori, qemu-devel, mdroth

On Wed, 13 Jul 2011 00:31:56 +0400 (MSD)
malc <av1474@comtv.ru> wrote:

> On Tue, 12 Jul 2011, Luiz Capitulino wrote:
> 
> > From: Luiz Capitulino <lcapitulino@gmail.com>
> > 
> > This moves compiler related macros from qemu-common.h to compiler.h.
> > 
> > The reason for this change is that there are simple header files that
> > depend only on the compiler macros, so including qemu-common.h is overkill.
> > 
> > Besides, qemu-common.h is bloated and will benefit from some splitting.
> > 
> > Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
> > ---
> >  compiler.h    |   38 ++++++++++++++++++++++++++++++++++++++
> >  qemu-common.h |   25 +------------------------
> >  2 files changed, 39 insertions(+), 24 deletions(-)
> >  create mode 100644 compiler.h
> > 
> > diff --git a/compiler.h b/compiler.h
> > new file mode 100644
> > index 0000000..864f8ff
> > --- /dev/null
> > +++ b/compiler.h
> > @@ -0,0 +1,38 @@
> > +/*
> > + * Compiler related definition
> > + *
> > + * This work is licensed under the terms of the GNU GPL, version 2.  See
> > + * the COPYING file in the top-level directory.
> > + *
> > + */
> > +#ifndef COMPILER_H
> > +#define COMPILER_H
> > +
> > +#include "config-host.h"
> > +
> > +#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > +#else
> > +#define QEMU_WARN_UNUSED_RESULT
> > +#endif
> > +
> > +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> > +
> > +#if defined __GNUC__
> > +# if (__GNUC__ < 4) || \
> > +     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> > +   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> > +#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> > +#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> 
> I wrote the above and certainly didn't license it under GPL, please drop
> the bogus copyright notice at the top.

Which one should I use?

> 
> > +# else
> > +   /* Use gnu_printf when supported (qemu uses standard format strings). */
> > +#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> > +#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> > +# endif
> > +#else
> > +#define GCC_ATTR /**/
> > +#define GCC_FMT_ATTR(n, m)
> > +#endif
> > +
> > +#endif /* COMPILER_H */
> > diff --git a/qemu-common.h b/qemu-common.h
> > index abd7a75..1e72931 100644
> > --- a/qemu-common.h
> > +++ b/qemu-common.h
> > @@ -2,16 +2,9 @@
> >  #ifndef QEMU_COMMON_H
> >  #define QEMU_COMMON_H
> >  
> > +#include "compiler.h"
> >  #include "config-host.h"
> >  
> > -#define QEMU_NORETURN __attribute__ ((__noreturn__))
> > -#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> > -#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> > -#else
> > -#define QEMU_WARN_UNUSED_RESULT
> > -#endif
> > -
> > -#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> >  #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
> >  
> >  typedef struct QEMUTimer QEMUTimer;
> > @@ -82,22 +75,6 @@ struct iovec {
> >  #include <sys/uio.h>
> >  #endif
> >  
> > -#if defined __GNUC__
> > -# if (__GNUC__ < 4) || \
> > -     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> > -   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> > -#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> > -#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> > -# else
> > -   /* Use gnu_printf when supported (qemu uses standard format strings). */
> > -#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> > -#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> > -# endif
> > -#else
> > -#define GCC_ATTR /**/
> > -#define GCC_FMT_ATTR(n, m)
> > -#endif
> > -
> >  typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
> >      GCC_FMT_ATTR(2, 3);
> >  
> > 
> 

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

* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-12 19:00 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
@ 2011-07-12 20:31   ` malc
  2011-07-12 20:34     ` Luiz Capitulino
  0 siblings, 1 reply; 20+ messages in thread
From: malc @ 2011-07-12 20:31 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth

On Tue, 12 Jul 2011, Luiz Capitulino wrote:

> From: Luiz Capitulino <lcapitulino@gmail.com>
> 
> This moves compiler related macros from qemu-common.h to compiler.h.
> 
> The reason for this change is that there are simple header files that
> depend only on the compiler macros, so including qemu-common.h is overkill.
> 
> Besides, qemu-common.h is bloated and will benefit from some splitting.
> 
> Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
> ---
>  compiler.h    |   38 ++++++++++++++++++++++++++++++++++++++
>  qemu-common.h |   25 +------------------------
>  2 files changed, 39 insertions(+), 24 deletions(-)
>  create mode 100644 compiler.h
> 
> diff --git a/compiler.h b/compiler.h
> new file mode 100644
> index 0000000..864f8ff
> --- /dev/null
> +++ b/compiler.h
> @@ -0,0 +1,38 @@
> +/*
> + * Compiler related definition
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2.  See
> + * the COPYING file in the top-level directory.
> + *
> + */
> +#ifndef COMPILER_H
> +#define COMPILER_H
> +
> +#include "config-host.h"
> +
> +#define QEMU_NORETURN __attribute__ ((__noreturn__))
> +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> +#else
> +#define QEMU_WARN_UNUSED_RESULT
> +#endif
> +
> +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
> +
> +#if defined __GNUC__
> +# if (__GNUC__ < 4) || \
> +     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> +   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> +#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> +#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))

I wrote the above and certainly didn't license it under GPL, please drop
the bogus copyright notice at the top.

> +# else
> +   /* Use gnu_printf when supported (qemu uses standard format strings). */
> +#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> +#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> +# endif
> +#else
> +#define GCC_ATTR /**/
> +#define GCC_FMT_ATTR(n, m)
> +#endif
> +
> +#endif /* COMPILER_H */
> diff --git a/qemu-common.h b/qemu-common.h
> index abd7a75..1e72931 100644
> --- a/qemu-common.h
> +++ b/qemu-common.h
> @@ -2,16 +2,9 @@
>  #ifndef QEMU_COMMON_H
>  #define QEMU_COMMON_H
>  
> +#include "compiler.h"
>  #include "config-host.h"
>  
> -#define QEMU_NORETURN __attribute__ ((__noreturn__))
> -#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
> -#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
> -#else
> -#define QEMU_WARN_UNUSED_RESULT
> -#endif
> -
> -#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
>  #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
>  
>  typedef struct QEMUTimer QEMUTimer;
> @@ -82,22 +75,6 @@ struct iovec {
>  #include <sys/uio.h>
>  #endif
>  
> -#if defined __GNUC__
> -# if (__GNUC__ < 4) || \
> -     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
> -   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
> -#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
> -#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> -# else
> -   /* Use gnu_printf when supported (qemu uses standard format strings). */
> -#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
> -#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> -# endif
> -#else
> -#define GCC_ATTR /**/
> -#define GCC_FMT_ATTR(n, m)
> -#endif
> -
>  typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
>      GCC_FMT_ATTR(2, 3);
>  
> 

-- 
mailto:av1474@comtv.ru

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

* [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file
  2011-07-12 19:00 [Qemu-devel] [PATCH v2 0/2]: Fix build issue with error.h Luiz Capitulino
@ 2011-07-12 19:00 ` Luiz Capitulino
  2011-07-12 20:31   ` malc
  0 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2011-07-12 19:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, mdroth

From: Luiz Capitulino <lcapitulino@gmail.com>

This moves compiler related macros from qemu-common.h to compiler.h.

The reason for this change is that there are simple header files that
depend only on the compiler macros, so including qemu-common.h is overkill.

Besides, qemu-common.h is bloated and will benefit from some splitting.

Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
---
 compiler.h    |   38 ++++++++++++++++++++++++++++++++++++++
 qemu-common.h |   25 +------------------------
 2 files changed, 39 insertions(+), 24 deletions(-)
 create mode 100644 compiler.h

diff --git a/compiler.h b/compiler.h
new file mode 100644
index 0000000..864f8ff
--- /dev/null
+++ b/compiler.h
@@ -0,0 +1,38 @@
+/*
+ * Compiler related definition
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2.  See
+ * the COPYING file in the top-level directory.
+ *
+ */
+#ifndef COMPILER_H
+#define COMPILER_H
+
+#include "config-host.h"
+
+#define QEMU_NORETURN __attribute__ ((__noreturn__))
+#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
+#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+#define QEMU_WARN_UNUSED_RESULT
+#endif
+
+#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
+
+#if defined __GNUC__
+# if (__GNUC__ < 4) || \
+     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
+   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
+#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
+#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
+# else
+   /* Use gnu_printf when supported (qemu uses standard format strings). */
+#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
+#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
+# endif
+#else
+#define GCC_ATTR /**/
+#define GCC_FMT_ATTR(n, m)
+#endif
+
+#endif /* COMPILER_H */
diff --git a/qemu-common.h b/qemu-common.h
index abd7a75..1e72931 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -2,16 +2,9 @@
 #ifndef QEMU_COMMON_H
 #define QEMU_COMMON_H
 
+#include "compiler.h"
 #include "config-host.h"
 
-#define QEMU_NORETURN __attribute__ ((__noreturn__))
-#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
-#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
-#else
-#define QEMU_WARN_UNUSED_RESULT
-#endif
-
-#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1];
 #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
 
 typedef struct QEMUTimer QEMUTimer;
@@ -82,22 +75,6 @@ struct iovec {
 #include <sys/uio.h>
 #endif
 
-#if defined __GNUC__
-# if (__GNUC__ < 4) || \
-     defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)
-   /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
-#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
-#  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
-# else
-   /* Use gnu_printf when supported (qemu uses standard format strings). */
-#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
-#  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
-# endif
-#else
-#define GCC_ATTR /**/
-#define GCC_FMT_ATTR(n, m)
-#endif
-
 typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
     GCC_FMT_ATTR(2, 3);
 
-- 
1.7.6.134.gcf13f

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

end of thread, other threads:[~2011-07-14 21:28 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-13 14:23 [Qemu-devel] [PATCH v2 0/3]: Fix build issue with error.h Luiz Capitulino
2011-07-13 14:23 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
2011-07-13 14:37   ` malc
2011-07-13 16:20     ` Luiz Capitulino
2011-07-13 16:47       ` malc
2011-07-13 15:04   ` Peter Maydell
2011-07-13 16:27     ` Luiz Capitulino
2011-07-13 20:39       ` Stefan Weil
2011-07-14 12:57         ` Luiz Capitulino
2011-07-14 14:15           ` malc
2011-07-14 14:26             ` Luiz Capitulino
2011-07-14 14:35               ` malc
2011-07-14 10:58       ` Peter Maydell
2011-07-13 14:23 ` [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included Luiz Capitulino
  -- strict thread matches above, loose matches on Subject: below --
2011-07-14 21:28 [Qemu-devel] [PATCH v4 0/3]: Fix build issue with error.h saga Luiz Capitulino
2011-07-14 21:28 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
2011-07-12 19:00 [Qemu-devel] [PATCH v2 0/2]: Fix build issue with error.h Luiz Capitulino
2011-07-12 19:00 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino
2011-07-12 20:31   ` malc
2011-07-12 20:34     ` Luiz Capitulino
2011-07-12 20:43       ` malc
2011-07-12 20:52         ` Luiz Capitulino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.