Hello community, here is the log from the commit of package sparse for openSUSE:Factory checked in at 2012-10-29 20:13:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sparse (Old) and /work/SRC/openSUSE:Factory/.sparse.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sparse", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/sparse/sparse.changes 2012-02-14 11:27:21.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.sparse.new/sparse.changes 2012-10-29 20:15:20.000000000 +0100 @@ -1,0 +2,8 @@ +Sat Oct 27 10:11:08 UTC 2012 - [email protected] + +- Add sparse-0.4.4-add_error_to_ignore.patch: Ignore __error__ +- Add sparse-0.4.4-add_leaf_to_ignore.patch: Ignore __leaf__ +- Add sparse-0.4.4-add_vector_size_to_ignore.patch: Ignore __vector_size__ +- Add sparse-0.4.4-add_m64_support.patch: Fix m32/m64 support. + +------------------------------------------------------------------- New: ---- sparse-0.4.4-add_error_to_ignore.patch sparse-0.4.4-add_leaf_to_ignore.patch sparse-0.4.4-add_m64_support.patch sparse-0.4.4-add_vector_size_to_ignore.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sparse.spec ++++++ --- /var/tmp/diff_new_pack.TC7Iwd/_old 2012-10-29 20:15:21.000000000 +0100 +++ /var/tmp/diff_new_pack.TC7Iwd/_new 2012-10-29 20:15:21.000000000 +0100 @@ -16,7 +16,6 @@ # - Name: sparse Summary: A semantic parser of source files License: SUSE-OSL-1.1 @@ -25,10 +24,17 @@ Release: 0 Url: https://sparse.wiki.kernel.org/index.php/Main_Page Source: http://www.kernel.org/pub/software/devel/sparse/dist/sparse-%{version}.tar.xz + +Patch0: sparse-0.4.4-add_leaf_to_ignore.patch +Patch1: sparse-0.4.4-add_vector_size_to_ignore.patch +Patch2: sparse-0.4.4-add_error_to_ignore.patch +Patch3: sparse-0.4.4-add_m64_support.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gtk2-devel BuildRequires: libxml2-devel -BuildRequires: pkg-config xz +BuildRequires: pkg-config +BuildRequires: xz %description Sparse is a semantic parser of source files: it's neither a compiler @@ -71,6 +77,11 @@ %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + %build make %{?_smp_mflags} PREFIX=%{_prefix} LIBDIR=%{_libdir} MANDIR=%{_mandir} \ PKGCONFIGDIR=%{_datadir}/pkgconfig CFLAGS="%{optflags}" ++++++ sparse-0.4.4-add_error_to_ignore.patch ++++++ commit 0a04210cc856267d8371592dc55f8b8bb7596ecc Author: KOSAKI Motohiro <[email protected]> AuthorDate: Mon Jun 25 02:47:20 2012 -0700 Commit: Christopher Li <[email protected]> CommitDate: Mon Jun 25 02:47:20 2012 -0700 sparse: Add 'error' to ignored attributes Add some more ignored attributes which are used in glibc header files. It silences the warnings such as the following: /usr/include/bits/fcntl2.h:36:1: error: attribute '__error__': unknown attribute Signed-off-by: KOSAKI Motohiro <[email protected]> Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Christopher Li <[email protected]> --- ident-list.h | 1 + parse.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/ident-list.h b/ident-list.h index 5bdfa90..e00cd96 100644 --- a/ident-list.h +++ b/ident-list.h @@ -90,6 +90,7 @@ IDENT(restrict); IDENT(__restrict); IDENT(artificial); IDENT(__artificial__); IDENT(leaf); IDENT(__leaf__); IDENT(vector_size); IDENT(__vector_size__); +IDENT(error); IDENT(__error__); /* Preprocessor idents. Direct use of __IDENT avoids mentioning the keyword diff --git a/parse.c b/parse.c index 44eae3d..99f2ba8 100644 --- a/parse.c +++ b/parse.c @@ -509,6 +509,8 @@ const char *ignored_attributes[] = { "__dllexport__", "dllimport", "__dllimport__", + "error", + "__error__", "externally_visible", "__externally_visible__", "fastcall", ++++++ sparse-0.4.4-add_leaf_to_ignore.patch ++++++ commit b0b4886be5f668959b8c75c9c811059e07b1073a Author: Ethan Jackson <[email protected]> AuthorDate: Tue Jan 17 14:47:11 2012 -0800 Commit: Christopher Li <[email protected]> CommitDate: Wed Jan 18 17:44:36 2012 -0800 sparse: Add 'leaf' to ignored attributes. This patch adds the 'leaf' GCC attribute to the list of ignored attributes. Glibc uses this attribute causing the following warnings in userspace projects: /usr/include/stdlib.h:514:26: error: attribute '__leaf__': unknown attribute Signed-off-by: Ethan Jackson <[email protected]> Acked-by: Pekka Enberg <[email protected]> Signed-off-by: Christopher Li <[email protected]> --- ident-list.h | 2 ++ parse.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ident-list.h b/ident-list.h index b12d172..35ac6bd 100644 --- a/ident-list.h +++ b/ident-list.h @@ -88,6 +88,8 @@ IDENT(dllimport); IDENT(__dllimport__); IDENT(dllexport); IDENT(__dllexport__); IDENT(restrict); IDENT(__restrict); IDENT(artificial); IDENT(__artificial__); +IDENT(leaf); IDENT(__leaf__); + /* Preprocessor idents. Direct use of __IDENT avoids mentioning the keyword * itself by name, preventing these tokens from expanding when compiling diff --git a/parse.c b/parse.c index bd42180..f8ade3e 100644 --- a/parse.c +++ b/parse.c @@ -519,6 +519,8 @@ const char *ignored_attributes[] = { "__format_arg__", "hot", "__hot__", + "leaf", + "__leaf__", "l1_text", "__l1_text__", "l1_data", ++++++ sparse-0.4.4-add_m64_support.patch ++++++ commit 7aa79f8401f08ff9dd56088e8cbc394e646e3389 Author: Christopher Li <[email protected]> AuthorDate: Fri Mar 23 02:58:20 2012 -0700 Commit: Christopher Li <[email protected]> CommitDate: Fri Mar 23 10:50:54 2012 -0700 Adding default for m64/m32 handle This is improved version of Pekka Enberg's patch "Fix including glibc headers on x86-64". To avoid setting 64 bit define in the -m32 case, the 64 bit initialization needs to delay until all arguments are handled. Signed-off-by: Christopher Li <[email protected]> --- lib.c | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/lib.c b/lib.c index 30ffd89..b4d3944 100644 --- a/lib.c +++ b/lib.c @@ -224,6 +224,15 @@ static enum { STANDARD_C89, STANDARD_GNU89, STANDARD_GNU99, } standard = STANDARD_GNU89; +#ifdef __x86_64__ +#define ARCH_M64_DEFAULT 1 +#else +#define ARCH_M64_DEFAULT 0 +#endif + +int arch_m64 = ARCH_M64_DEFAULT; +int arch_msize_long = 0; + #define CMDLINE_INCLUDE 20 int cmdline_include_nr = 0; struct cmdline_include cmdline_include[CMDLINE_INCLUDE]; @@ -344,19 +353,47 @@ static char **handle_switch_M(char *arg, char **next) static char **handle_switch_m(char *arg, char **next) { if (!strcmp(arg, "m64")) { + arch_m64 = 1; + } else if (!strcmp(arg, "m32")) { + arch_m64 = 0; + } else if (!strcmp(arg, "msize-long")) { + arch_msize_long = 1; + } + return next; +} + +static void handle_arch_m64_finalize(void) +{ + if (arch_m64) { bits_in_long = 64; max_int_alignment = 8; bits_in_pointer = 64; pointer_alignment = 8; size_t_ctype = &ulong_ctype; ssize_t_ctype = &long_ctype; - } else if (!strcmp(arg, "msize-long")) { +#ifdef __x86_64__ + add_pre_buffer("#weak_define x86_64 1\n"); + add_pre_buffer("#weak_define __x86_64 1\n"); + add_pre_buffer("#weak_define __x86_64__ 1\n"); +#endif + } +} + +static void handle_arch_msize_long_finalize(void) +{ + if (arch_msize_long) { size_t_ctype = &ulong_ctype; ssize_t_ctype = &long_ctype; } - return next; } +static void handle_arch_finalize(void) +{ + handle_arch_m64_finalize(); + handle_arch_msize_long_finalize(); +} + + static char **handle_switch_o(char *arg, char **next) { if (!strcmp (arg, "o")) { // "-o foo" @@ -934,6 +971,8 @@ struct symbol_list *sparse_initialize(int argc, char **argv, struct string_list handle_switch_W_finalize(); handle_switch_v_finalize(); + handle_arch_finalize(); + list = NULL; if (!ptr_list_empty(filelist)) { // Initialize type system ++++++ sparse-0.4.4-add_vector_size_to_ignore.patch ++++++ commit 2313167a83c397e8acc14d10706a7235f60fc497 Author: KOSAKI Motohiro <[email protected]> AuthorDate: Mon Jun 25 02:42:58 2012 -0700 Commit: Christopher Li <[email protected]> CommitDate: Mon Jun 25 02:46:20 2012 -0700 sparse: Add '__vector_size__' to ignored attributes We already had "vector_size" but we also need __vector_size__ to silence some warnings in glibc: /usr/include/bits/link.h:67:45: error: attribute '__vector_size__': unknown attribute Signed-off-by: KOSAKI Motohiro <[email protected]> Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Christopher Li <[email protected]> --- ident-list.h | 1 + parse.c | 1 + 2 files changed, 2 insertions(+) diff --git a/ident-list.h b/ident-list.h index 35ac6bd..5bdfa90 100644 --- a/ident-list.h +++ b/ident-list.h @@ -89,6 +89,7 @@ IDENT(dllexport); IDENT(__dllexport__); IDENT(restrict); IDENT(__restrict); IDENT(artificial); IDENT(__artificial__); IDENT(leaf); IDENT(__leaf__); +IDENT(vector_size); IDENT(__vector_size__); /* Preprocessor idents. Direct use of __IDENT avoids mentioning the keyword diff --git a/parse.c b/parse.c index 8fbba6b..44eae3d 100644 --- a/parse.c +++ b/parse.c @@ -570,6 +570,7 @@ const char *ignored_attributes[] = { "used", "__used__", "vector_size", + "__vector_size__", "visibility", "__visibility__", "warn_unused_result", -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
