Hello community, here is the log from the commit of package lensfun for openSUSE:Factory checked in at Tue Jun 14 12:16:56 CEST 2011.
-------- --- lensfun/lensfun.changes 2011-04-09 09:52:15.000000000 +0200 +++ /mounts/work_src_done/STABLE/lensfun/lensfun.changes 2011-06-13 16:25:03.000000000 +0200 @@ -1,0 +2,7 @@ +Mon Jun 13 14:06:22 UTC 2011 - fcro...@suse.com + +- Add lensfun-fixcrash.patch: fix crash on malformed database (SVN) +- Add lensfun-0.2.5-cpuid.patch: fix crash on cpu detection (SVN) +- set GCC.LDFLAGS to avoid stripping and useless -debug* package. + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- lensfun-0.2.5-cpuid.patch lensfun-fixcrash.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lensfun.spec ++++++ --- /var/tmp/diff_new_pack.07LwEi/_old 2011-06-14 12:15:17.000000000 +0200 +++ /var/tmp/diff_new_pack.07LwEi/_new 2011-06-14 12:15:17.000000000 +0200 @@ -21,12 +21,16 @@ Name: lensfun Summary: A photographic lens database and a library for accessing it Version: 0.2.5 -Release: 10 +Release: 12 Url: http://lensfun.berlios.de/ Source0: lensfun-%{version}.tar.bz2 # This patch got created via # svn diff svn://svn.berlios.de/lensfun/tags/0.2.5/data svn://svn.berlios.de/lensfun/trunk/data > lens_database_update.diff Patch1: lens_database_update.diff +# PATCH-FIX-UPSTREAM lensfun-fixcrash.patch fcro...@suse.com -- fix crash on malformed databases (from svn) +Patch2: lensfun-fixcrash.patch +# PATCH-FIX-UPSTREAM lensfun-0.2.5-cpuid.patch fcro...@suse.com -- fix crash on cpu detection (from svn) +Patch3: lensfun-0.2.5-cpuid.patch License: LGPLv3 Group: System/Libraries Requires: liblensfun0 = %{version}-%{release} @@ -82,6 +86,8 @@ %prep %setup -q -n %{name}-%{version} +%patch2 -p1 +%patch3 -p1 cd data %patch1 -p0 @@ -100,7 +106,8 @@ --libdir=%{_libdir} \ --includedir=%{_includedir} \ --libexecdir=%{_libexecdir} -make AUTODEP=0 %{?_smp_mflags} lensfun manual +# set GCC.LDFLAGS to avoid stripping and useless -debuginfo +make AUTODEP=0 GCC.LDFLAGS.release="" V=1 %{?_smp_mflags} lensfun manual %install make AUTODEP=0 INSTALL_PREFIX=%{?buildroot:%{buildroot}} install ++++++ lensfun-0.2.5-cpuid.patch ++++++ >From 9a3301bc3c239e0e74d6bc20f950b338d31457d9 Mon Sep 17 00:00:00 2001 From: zap <zap@2a61fa91-e63d-0410-b60c-e65103854af9> Date: Sun, 9 May 2010 13:53:35 +0000 Subject: [PATCH] * Modified a little the asm instructions for detecting CPU features * configure will now print the vectorization instrution sets which will be used git-svn-id: svn://svn.berlios.de/lensfun/trunk@109 2a61fa91-e63d-0410-b60c-e65103854af9 --- configure | 1 + libs/lensfun/cpuid.cpp | 28 ++++++++-------------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/configure b/configure index 2439096..8cee50a 100755 --- a/configure +++ b/configure @@ -118,4 +118,5 @@ print "Target directory for data files: " + tibs.DATADIR print "Target directory for libraries: " + tibs.LIBDIR print "Target directory for include files: " + tibs.INCLUDEDIR print "Target directory for documentation: " + tibs.DOCDIR +print "Use vector instruction set(-s): " + ", ".join (x for x in tibs.VECTORIZATION) print "--------------------------------------------------------------------" diff --git a/libs/lensfun/cpuid.cpp b/libs/lensfun/cpuid.cpp index ed0ecf9..d7f43b3 100644 --- a/libs/lensfun/cpuid.cpp +++ b/libs/lensfun/cpuid.cpp @@ -25,17 +25,13 @@ guint _lf_detect_cpu_features () { #define cpuid(cmd) \ - asm ( \ - "push %%"R_BX"\n" \ + __asm volatile ( \ "cpuid\n" \ - "pop %%"R_BX"\n" \ : "=a" (ax), "=c" (cx), "=d" (dx) \ - : "0" (cmd)) + : "0" (cmd) \ + : R_BX) - register __SIZE_TYPE__ ax asm (R_AX); - register __SIZE_TYPE__ bx asm (R_BX); - register __SIZE_TYPE__ dx asm (R_DX); - register __SIZE_TYPE__ cx asm (R_CX); + __SIZE_TYPE__ ax, cx, dx, tmp; static GStaticMutex lock = G_STATIC_MUTEX_INIT; static guint cpuflags = -1; @@ -45,7 +41,7 @@ guint _lf_detect_cpu_features () cpuflags = 0; /* Test cpuid presence by checking bit 21 of eflags */ - asm ( + __asm volatile ( "pushf\n" "pop %0\n" "mov %0, %1\n" @@ -57,7 +53,7 @@ guint _lf_detect_cpu_features () "cmp %0, %1\n" "setne %%al\n" "movzb %%al, %0\n" - : "=r" (ax), "=r" (bx)); + : "=r" (ax), "=r" (tmp)); if (ax) { @@ -88,12 +84,12 @@ guint _lf_detect_cpu_features () cpuflags |= LF_CPU_FLAG_SSE4_2; } - /* Is there extensions */ + /* Are there extensions? */ cpuid (0x80000000); if (ax) { - /* Request for extensions */ + /* Ask extensions */ cpuid (0x80000001); if (dx & 0x80000000) @@ -112,12 +108,4 @@ guint _lf_detect_cpu_features () #undef cpuid } -#else - -guint -rs_detect_cpu_features() -{ - return 0; -} - #endif /* __i386__ || __x86_64__ */ -- 1.7.2.3 >From 19a5478ec455de6a9201d5acf5e844a926761bdb Mon Sep 17 00:00:00 2001 From: zap <zap@2a61fa91-e63d-0410-b60c-e65103854af9> Date: Wed, 12 May 2010 19:31:09 +0000 Subject: [PATCH] * cpuid.cpp: push/pop ebx instead of marking it as clobbered, because gcc can't survive that when using -fPIC git-svn-id: svn://svn.berlios.de/lensfun/trunk@110 2a61fa91-e63d-0410-b60c-e65103854af9 --- libs/lensfun/cpuid.cpp | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/lensfun/cpuid.cpp b/libs/lensfun/cpuid.cpp index d7f43b3..491412c 100644 --- a/libs/lensfun/cpuid.cpp +++ b/libs/lensfun/cpuid.cpp @@ -26,10 +26,11 @@ guint _lf_detect_cpu_features () { #define cpuid(cmd) \ __asm volatile ( \ + "push %%"R_BX"\n" \ "cpuid\n" \ + "pop %%"R_BX"\n" \ : "=a" (ax), "=c" (cx), "=d" (dx) \ - : "0" (cmd) \ - : R_BX) + : "0" (cmd)) __SIZE_TYPE__ ax, cx, dx, tmp; static GStaticMutex lock = G_STATIC_MUTEX_INIT; -- 1.7.2.3 ++++++ lensfun-fixcrash.patch ++++++ --- trunk/libs/lensfun/database.cpp 2011/01/04 21:04:03 129 +++ trunk/libs/lensfun/database.cpp 2011/01/07 11:33:18 130 @@ -152,27 +152,28 @@ } else if (!strcmp (element_name, "mount")) { - if (!strcmp (ctx, "lensdatabase")) + if (ctx && !strcmp (ctx, "lensdatabase")) { pd->mount = new lfMount (); goto chk_no_attrs; } - else if (!strcmp (ctx, "camera") || - !strcmp (ctx, "lens")) + else if (ctx && + (!strcmp (ctx, "camera") || + !strcmp (ctx, "lens"))) goto chk_no_attrs; else goto bad_ctx; } else if (!strcmp (element_name, "camera")) { - if (strcmp (ctx, "lensdatabase")) + if (!ctx || strcmp (ctx, "lensdatabase")) goto bad_ctx; pd->camera = new lfCamera (); goto chk_no_attrs; } else if (!strcmp (element_name, "lens")) { - if (strcmp (ctx, "lensdatabase")) + if (!ctx || strcmp (ctx, "lensdatabase")) goto bad_ctx; pd->lens = new lfLens (); pd->lens->Type = LF_RECTILINEAR; @@ -180,7 +181,7 @@ } else if (!strcmp (element_name, "focal")) { - if (strcmp (ctx, "lens") || !pd->lens) + if (!ctx || strcmp (ctx, "lens") || !pd->lens) goto bad_ctx; for (i = 0; attribute_names [i]; i++) @@ -195,7 +196,7 @@ } else if (!strcmp (element_name, "aperture")) { - if (strcmp (ctx, "lens") || !pd->lens) + if (!ctx || strcmp (ctx, "lens") || !pd->lens) goto bad_ctx; for (i = 0; attribute_names [i]; i++) @@ -210,7 +211,7 @@ } else if (!strcmp (element_name, "center")) { - if (strcmp (ctx, "lens") || !pd->lens) + if (!ctx || strcmp (ctx, "lens") || !pd->lens) goto bad_ctx; for (i = 0; attribute_names [i]; i++) @@ -223,7 +224,7 @@ } else if (!strcmp (element_name, "cci")) { - if (strcmp (ctx, "lens") || !pd->lens) + if (!ctx || strcmp (ctx, "lens") || !pd->lens) goto bad_ctx; for (i = 0; attribute_names [i]; i++) @@ -238,19 +239,19 @@ } else if (!strcmp (element_name, "type")) { - if (strcmp (ctx, "lens") || !pd->lens) + if (!ctx || strcmp (ctx, "lens") || !pd->lens) goto bad_ctx; goto chk_no_attrs; } else if (!strcmp (element_name, "calibration")) { - if (strcmp (ctx, "lens")) + if (!ctx || strcmp (ctx, "lens")) goto bad_ctx; goto chk_no_attrs; } else if (!strcmp (element_name, "distortion")) { - if (strcmp (ctx, "calibration")) + if (!ctx || strcmp (ctx, "calibration")) goto bad_ctx; lfLensCalibDistortion dc; @@ -301,7 +302,7 @@ } else if (!strcmp (element_name, "tca")) { - if (strcmp (ctx, "calibration")) + if (!ctx || strcmp (ctx, "calibration")) goto bad_ctx; lfLensCalibTCA tcac; @@ -342,7 +343,7 @@ } else if (!strcmp (element_name, "vignetting")) { - if (strcmp (ctx, "calibration")) + if (!ctx || strcmp (ctx, "calibration")) goto bad_ctx; lfLensCalibVignetting vc; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org