openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2014
- 1 participants
- 1258 discussions
Hello community,
here is the log from the commit of package ghostscript for openSUSE:Factory checked in at 2014-08-30 16:03:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghostscript (Old)
and /work/SRC/openSUSE:Factory/.ghostscript.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghostscript"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghostscript/ghostscript.changes 2014-03-31 20:43:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghostscript.new/ghostscript.changes 2014-08-30 16:03:41.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 18 15:12:28 UTC 2014 - meissner(a)suse.com
+
+- gs does not seem to require libopenssl-devel for building.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghostscript.spec ++++++
--- /var/tmp/diff_new_pack.8rVILY/_old 2014-08-30 16:03:43.000000000 +0200
+++ /var/tmp/diff_new_pack.8rVILY/_new 2014-08-30 16:03:43.000000000 +0200
@@ -22,7 +22,6 @@
BuildRequires: dbus-1-devel
BuildRequires: freetype2-devel
BuildRequires: libexpat-devel
-BuildRequires: libopenssl-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libwebp for openSUSE:Factory checked in at 2014-08-30 16:03:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libwebp (Old)
and /work/SRC/openSUSE:Factory/.libwebp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libwebp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libwebp/libwebp.changes 2014-01-23 15:48:50.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libwebp.new/libwebp.changes 2014-08-30 16:03:39.000000000 +0200
@@ -1,0 +2,12 @@
+Mon Aug 11 01:50:52 UTC 2014 - jengelh(a)inai.de
+
+- Update to new upstream release 0.4.1
+* AArch64 (arm64) & MIPS support/optimizations
+* NEON assembly additions: ~25% faster lossy decode/encode (-m 4);
+ ~10% faster lossless decode;~5-10% faster lossless encode (-m 3/4)
+* dwebp/vwebp can read from stdin
+* cwebp/gif2webp can write to stdout
+* cwebp can read webp files; useful if storing sources as webp
+ lossless
+
+-------------------------------------------------------------------
Old:
----
libwebp-0.4.0.tar.gz
New:
----
libwebp-0.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libwebp.spec ++++++
--- /var/tmp/diff_new_pack.m2IcYU/_old 2014-08-30 16:03:41.000000000 +0200
+++ /var/tmp/diff_new_pack.m2IcYU/_new 2014-08-30 16:03:41.000000000 +0200
@@ -17,7 +17,7 @@
Name: libwebp
-Version: 0.4.0
+Version: 0.4.1
Release: 0
Summary: Library and tools for the WebP graphics format
License: BSD-3-Clause
@@ -25,7 +25,7 @@
Url: https://developers.google.com/speed/webp/
#Git-Clone: http://git.chromium.org/webm/libwebp.git
-Source: https://webp.googlecode.com/files/libwebp-0.4.0.tar.gz
+Source: http://downloads.webmproject.org/releases/webp/%name-%version.tar.gz
Source2: baselibs.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: giflib-devel
++++++ libwebp-0.4.0.tar.gz -> libwebp-0.4.1.tar.gz ++++++
++++ 30450 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package valgrind for openSUSE:Factory checked in at 2014-08-30 16:03:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/valgrind (Old)
and /work/SRC/openSUSE:Factory/.valgrind.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "valgrind"
Changes:
--------
--- /work/SRC/openSUSE:Factory/valgrind/valgrind.changes 2014-07-31 10:04:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.valgrind.new/valgrind.changes 2014-08-30 16:03:35.000000000 +0200
@@ -1,0 +2,12 @@
+Sun Aug 17 21:46:19 UTC 2014 - dmueller(a)suse.com
+
+- update for ppc64le support (bnc#880334):
+ - drop: valgrind-3.9.0-merge.patches.from.Paul.McKenney.patch,
+ valgrind-3.9.0-ppc64le-abiv2.patch
+
+ - add: VEX-r2803.diff, VEX-r2808.diff, VEX-r2816.diff
+ VEX-r2904.diff, VEX-r2910.diff, VEX-r2914.diff, VEX-r2915.diff,
+ VEX-r2916.diff, r13767.diff, r13770.diff, r14184.diff, r14238.diff,
+ r14239.diff, r14240.diff, r14246.diff
+
+-------------------------------------------------------------------
Old:
----
valgrind-3.9.0-merge.patches.from.Paul.McKenney.patch
valgrind-3.9.0-ppc64le-abiv2.patch
New:
----
VEX-r2803.diff
VEX-r2808.diff
VEX-r2816.diff
VEX-r2904.diff
VEX-r2910.diff
VEX-r2914.diff
VEX-r2915.diff
VEX-r2916.diff
r13767.diff
r13770.diff
r14184.diff
r14238.diff
r14239.diff
r14240.diff
r14246.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ valgrind.spec ++++++
--- /var/tmp/diff_new_pack.56OktI/_old 2014-08-30 16:03:37.000000000 +0200
+++ /var/tmp/diff_new_pack.56OktI/_new 2014-08-30 16:03:37.000000000 +0200
@@ -40,14 +40,28 @@
# svn di svn://svn.valgrind.org/vex/tags/VEX_3_5_0 svn://svn.valgrind.org/vex/branches/VEX_3_5_BRANCH > VEX_3_5_BRANCH.diff
Patch1: jit-register-unregister.diff
Patch2: armv6-support.diff
-Patch3: valgrind-3.9.0-merge.patches.from.Paul.McKenney.patch
-Patch4: valgrind-3.9.0-ppc64le-abiv2.patch
+Patch3: r13767.diff
+Patch4: r13770.diff
Patch5: glibc-2.19.patch
Patch6: r2798.diff
Patch7: aarch64-support.diff
Patch8: aarch64-VEX-support.diff
Patch9: VEX-r2858.diff
Patch10: valgrind-r13948.diff
+# PPC64 LE support
+Patch11: r14184.diff
+Patch12: r14238.diff
+Patch13: r14239.diff
+Patch14: r14240.diff
+Patch15: r14246.diff
+Patch20: VEX-r2803.diff
+Patch21: VEX-r2808.diff
+Patch22: VEX-r2816.diff
+Patch23: VEX-r2904.diff
+Patch24: VEX-r2910.diff
+Patch25: VEX-r2914.diff
+Patch26: VEX-r2915.diff
+Patch27: VEX-r2916.diff
# during building the major version of glibc is built into the suppression file
%define glibc_main_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f1)
%define glibc_major_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f2)
@@ -142,23 +156,44 @@
%prep
%setup -q -n %{name}-%{version}
-cd VEX
%ifarch aarch64
+cd VEX
%patch8
+cd ..
%else
%patch9
+%ifarch ppc64le
+# PPC64LE
+%patch20
+%patch21
+%patch22
+%patch23
+%patch24
+%patch25
+%patch26
+%patch27
+%endif
%endif
-cd ..
%patch1
%ifarch aarch64
%patch7
%else
%patch2
-%patch3 -p1
-%patch4 -p1
+%patch3
+%ifarch ppc64le
+%patch4
+%endif
%patch5 -p1
%patch6
%patch10
+%ifarch ppc64le
+# PPC64LE
+%patch11
+%patch12
+%patch13
+%patch14
+%patch15
+%endif
%endif
%build
++++++ VEX-r2803.diff ++++++
++++ 21176 lines (skipped)
++++++ VEX-r2808.diff ++++++
--- VEX/priv/guest_ppc_toIR.c (Revision 2807)
+++ VEX/priv/guest_ppc_toIR.c (Revision 2808)
@@ -5233,6 +5233,7 @@ static Bool dis_int_ldst_mult ( UInt the
Int simm16 = extend_s_16to32(uimm16);
IRType ty = mode64 ? Ity_I64 : Ity_I32;
+ IROp mkAdd = mode64 ? Iop_Add64 : Iop_Add32;
IRTemp EA = newTemp(ty);
UInt r = 0;
UInt ea_off = 0;
@@ -5248,7 +5249,7 @@ static Bool dis_int_ldst_mult ( UInt the
}
DIP("lmw r%u,%d(r%u)\n", rD_addr, simm16, rA_addr);
for (r = rD_addr; r <= 31; r++) {
- irx_addr = binop(Iop_Add32, mkexpr(EA), mkU32(ea_off));
+ irx_addr = binop(mkAdd, mkexpr(EA), mode64 ? mkU64(ea_off) : mkU32(ea_off));
putIReg( r, mkWidenFrom32(ty, loadBE(Ity_I32, irx_addr ),
False) );
ea_off += 4;
@@ -5258,7 +5259,7 @@ static Bool dis_int_ldst_mult ( UInt the
case 0x2F: // stmw (Store Multiple Word, PPC32 p527)
DIP("stmw r%u,%d(r%u)\n", rS_addr, simm16, rA_addr);
for (r = rS_addr; r <= 31; r++) {
- irx_addr = binop(Iop_Add32, mkexpr(EA), mkU32(ea_off));
+ irx_addr = binop(mkAdd, mkexpr(EA), mode64 ? mkU64(ea_off) : mkU32(ea_off));
storeBE( irx_addr, mkNarrowTo32(ty, getIReg(r)) );
ea_off += 4;
}
++++++ VEX-r2816.diff ++++++
--- VEX/priv/guest_ppc_toIR.c (Revision 2815)
+++ VEX/priv/guest_ppc_toIR.c (Revision 2816)
@@ -78,9 +78,9 @@
concerned) but have meaning for supporting Valgrind. A special
instruction is flagged by a 16-byte preamble:
- 32-bit mode: 54001800 54006800 5400E800 54009800
- (rlwinm 0,0,3,0,0; rlwinm 0,0,13,0,0;
- rlwinm 0,0,29,0,0; rlwinm 0,0,19,0,0)
+ 32-bit mode: 5400183E 5400683E 5400E83E 5400983E
+ (rlwinm 0,0,3,0,31; rlwinm 0,0,13,0,31;
+ rlwinm 0,0,29,0,31; rlwinm 0,0,19,0,31)
64-bit mode: 78001800 78006800 7800E802 78009802
(rotldi 0,0,3; rotldi 0,0,13;
@@ -18523,20 +18523,20 @@ DisResult disInstr_PPC_WRK (
UChar* code = (UChar*)(guest_code + delta);
/* Spot the 16-byte preamble:
32-bit mode:
- 54001800 rlwinm 0,0,3,0,0
- 54006800 rlwinm 0,0,13,0,0
- 5400E800 rlwinm 0,0,29,0,0
- 54009800 rlwinm 0,0,19,0,0
+ 5400183E rlwinm 0,0,3,0,31
+ 5400683E rlwinm 0,0,13,0,31
+ 5400E83E rlwinm 0,0,29,0,31
+ 5400983E rlwinm 0,0,19,0,31
64-bit mode:
78001800 rotldi 0,0,3
78006800 rotldi 0,0,13
7800E802 rotldi 0,0,61
78009802 rotldi 0,0,51
*/
- UInt word1 = mode64 ? 0x78001800 : 0x54001800;
- UInt word2 = mode64 ? 0x78006800 : 0x54006800;
- UInt word3 = mode64 ? 0x7800E802 : 0x5400E800;
- UInt word4 = mode64 ? 0x78009802 : 0x54009800;
+ UInt word1 = mode64 ? 0x78001800 : 0x5400183E;
+ UInt word2 = mode64 ? 0x78006800 : 0x5400683E;
+ UInt word3 = mode64 ? 0x7800E802 : 0x5400E83E;
+ UInt word4 = mode64 ? 0x78009802 : 0x5400983E;
if (getUIntBigendianly(code+ 0) == word1 &&
getUIntBigendianly(code+ 4) == word2 &&
getUIntBigendianly(code+ 8) == word3 &&
++++++ VEX-r2858.diff ++++++
--- /var/tmp/diff_new_pack.56OktI/_old 2014-08-30 16:03:37.000000000 +0200
+++ /var/tmp/diff_new_pack.56OktI/_new 2014-08-30 16:03:37.000000000 +0200
@@ -8,11 +8,11 @@
for CALL (E8,FF/2), RET (C2,C3), JMP (EB,E9,FF/4) and Jcc (70-7F,0F 80-8F).
All new MPX instructions are currently NOPs and the bnd prefix is ignored.
------------------------------------------------------------------------
-Index: priv/guest_amd64_toIR.c
+Index: VEX/priv/guest_amd64_toIR.c
===================================================================
---- priv/guest_amd64_toIR.c (revision 2857)
-+++ priv/guest_amd64_toIR.c (revision 2858)
-@@ -767,10 +767,10 @@ static Bool have66orF2orF3 ( Prefix pfx
+--- VEX/priv/guest_amd64_toIR.c.orig
++++ VEX/priv/guest_amd64_toIR.c
+@@ -771,10 +771,10 @@ static Bool have66orF2orF3 ( Prefix pfx
return toBool( ! haveNo66noF2noF3(pfx) );
}
@@ -26,7 +26,7 @@
}
/* Clear all the segment-override bits in a prefix. */
-@@ -4266,8 +4266,12 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
+@@ -4270,8 +4270,12 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
modrm = getUChar(delta);
if (epartIsReg(modrm)) {
@@ -41,7 +41,7 @@
assign(t1, getIRegE(sz,pfx,modrm));
switch (gregLO3ofRM(modrm)) {
case 0: /* INC */
-@@ -4287,6 +4291,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
+@@ -4291,6 +4295,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
case 2: /* call Ev */
/* Ignore any sz value and operate as if sz==8. */
if (!(sz == 4 || sz == 8)) goto unhandledR;
@@ -49,7 +49,7 @@
sz = 8;
t3 = newTemp(Ity_I64);
assign(t3, getIRegE(sz,pfx,modrm));
-@@ -4302,6 +4307,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
+@@ -4306,6 +4311,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
case 4: /* jmp Ev */
/* Ignore any sz value and operate as if sz==8. */
if (!(sz == 4 || sz == 8)) goto unhandledR;
@@ -57,7 +57,7 @@
sz = 8;
t3 = newTemp(Ity_I64);
assign(t3, getIRegE(sz,pfx,modrm));
-@@ -4334,11 +4340,14 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
+@@ -4338,11 +4344,14 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
showSz ? nameISize(sz) : ' ',
nameIRegE(sz, pfx, modrm));
} else {
@@ -73,7 +73,7 @@
}
if (!validF2orF3) goto unhandledM;
/* */
-@@ -4375,6 +4384,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
+@@ -4379,6 +4388,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
case 2: /* call Ev */
/* Ignore any sz value and operate as if sz==8. */
if (!(sz == 4 || sz == 8)) goto unhandledM;
@@ -81,7 +81,7 @@
sz = 8;
t3 = newTemp(Ity_I64);
assign(t3, loadLE(Ity_I64,mkexpr(addr)));
-@@ -4390,6 +4400,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
+@@ -4394,6 +4404,7 @@ ULong dis_Grp5 ( VexAbiInfo* vbi,
case 4: /* JMP Ev */
/* Ignore any sz value and operate as if sz==8. */
if (!(sz == 4 || sz == 8)) goto unhandledM;
@@ -89,7 +89,7 @@
sz = 8;
t3 = newTemp(Ity_I64);
assign(t3, loadLE(Ity_I64,mkexpr(addr)));
-@@ -19716,7 +19727,8 @@ Long dis_ESC_NONE (
+@@ -19550,7 +19561,8 @@ Long dis_ESC_NONE (
case 0x7F: { /* JGb/JNLEb (jump greater) */
Long jmpDelta;
const HChar* comment = "";
@@ -99,7 +99,7 @@
jmpDelta = getSDisp8(delta);
vassert(-128 <= jmpDelta && jmpDelta < 128);
d64 = (guest_RIP_bbstart+delta+1) + jmpDelta;
-@@ -20369,7 +20381,8 @@ Long dis_ESC_NONE (
+@@ -20203,7 +20215,8 @@ Long dis_ESC_NONE (
}
case 0xC2: /* RET imm16 */
@@ -109,7 +109,7 @@
d64 = getUDisp16(delta);
delta += 2;
dis_ret(dres, vbi, d64);
-@@ -20377,8 +20390,9 @@ Long dis_ESC_NONE (
+@@ -20211,8 +20224,9 @@ Long dis_ESC_NONE (
return delta;
case 0xC3: /* RET */
@@ -120,7 +120,7 @@
dis_ret(dres, vbi, 0);
DIP(haveF3(pfx) ? "rep ; ret\n" : "ret\n");
return delta;
-@@ -20782,7 +20796,8 @@ Long dis_ESC_NONE (
+@@ -20606,7 +20620,8 @@ Long dis_ESC_NONE (
}
case 0xE8: /* CALL J4 */
@@ -130,7 +130,7 @@
d64 = getSDisp32(delta); delta += 4;
d64 += (guest_RIP_bbstart+delta);
/* (guest_RIP_bbstart+delta) == return-to addr, d64 == call-to addr */
-@@ -20805,9 +20820,10 @@ Long dis_ESC_NONE (
+@@ -20629,9 +20644,10 @@ Long dis_ESC_NONE (
return delta;
case 0xE9: /* Jv (jump, 16/32 offset) */
@@ -142,7 +142,7 @@
d64 = (guest_RIP_bbstart+delta+sz) + getSDisp(sz,delta);
delta += sz;
if (resteerOkFn(callback_opaque,d64)) {
-@@ -20821,9 +20837,10 @@ Long dis_ESC_NONE (
+@@ -20645,9 +20661,10 @@ Long dis_ESC_NONE (
return delta;
case 0xEB: /* Jb (jump, byte offset) */
@@ -154,7 +154,7 @@
d64 = (guest_RIP_bbstart+delta+1) + getSDisp8(delta);
delta++;
if (resteerOkFn(callback_opaque,d64)) {
-@@ -21241,7 +21258,8 @@ Long dis_ESC_0F (
+@@ -21065,7 +21082,8 @@ Long dis_ESC_0F (
case 0x8F: { /* JGb/JNLEb (jump greater) */
Long jmpDelta;
const HChar* comment = "";
@@ -164,7 +164,7 @@
jmpDelta = getSDisp32(delta);
d64 = (guest_RIP_bbstart+delta+4) + jmpDelta;
delta += 4;
-@@ -21332,6 +21350,66 @@ Long dis_ESC_0F (
+@@ -21156,6 +21174,66 @@ Long dis_ESC_0F (
}
return delta;
++++++ VEX-r2904.diff ++++++
Index: VEX/priv/host_ppc_isel.c
===================================================================
--- VEX/priv/host_ppc_isel.c.orig
+++ VEX/priv/host_ppc_isel.c
@@ -704,12 +704,6 @@ void doHelperCall ( /*OUT*/UInt* stack
UInt nVECRETs = 0;
UInt nBBPTRs = 0;
- /* Do we need to force use of an odd-even reg pair for 64-bit args?
- JRS 31-07-2013: is this still relevant, now that we are not
- generating code for 32-bit AIX ? */
- Bool regalign_int64s
- = (!mode64) && env->vbi->host_ppc32_regalign_int64_args;
-
/* Marshal args for a call and do the call.
This function only deals with a tiny set of possibilities, which
@@ -867,7 +861,7 @@ void doHelperCall ( /*OUT*/UInt* stack
iselWordExpr_R(env, arg) ));
} else { // Ity_I64 in 32-bit mode
HReg rHi, rLo;
- if (regalign_int64s && (argreg%2) == 1)
+ if ((argreg%2) == 1)
// ppc32 ELF abi spec for passing LONG_LONG
argreg++; // XXX: odd argreg => even rN
vassert(argreg < PPC_N_REGPARMS-1);
@@ -943,7 +937,7 @@ void doHelperCall ( /*OUT*/UInt* stack
tmpregs[argreg] = iselWordExpr_R(env, arg);
} else { // Ity_I64 in 32-bit mode
HReg rHi, rLo;
- if (regalign_int64s && (argreg%2) == 1)
+ if ((argreg%2) == 1)
// ppc32 ELF abi spec for passing LONG_LONG
argreg++; // XXX: odd argreg => even rN
vassert(argreg < PPC_N_REGPARMS-1);
Index: VEX/priv/guest_ppc_toIR.c
===================================================================
--- VEX/priv/guest_ppc_toIR.c.orig
+++ VEX/priv/guest_ppc_toIR.c
@@ -6060,9 +6060,7 @@ static Bool dis_syslink ( UInt theInstr,
/* It's important that all ArchRegs carry their up-to-date value
at this point. So we declare an end-of-block here, which
forces any TempRegs caching ArchRegs to be flushed. */
- putGST( PPC_GST_CIA, abiinfo->guest_ppc_sc_continues_at_LR
- ? getGST( PPC_GST_LR )
- : mkSzImm( ty, nextInsnAddr() ));
+ putGST( PPC_GST_CIA, mkSzImm( ty, nextInsnAddr() ));
dres->whatNext = Dis_StopHere;
dres->jk_StopHere = Ijk_Sys_syscall;
Index: VEX/priv/main_main.c
===================================================================
--- VEX/priv/main_main.c.orig
+++ VEX/priv/main_main.c
@@ -1242,9 +1242,7 @@ void LibVEX_default_VexAbiInfo ( /*OUT*/
vbi->guest_amd64_assume_gs_is_0x60 = False;
vbi->guest_ppc_zap_RZ_at_blr = False;
vbi->guest_ppc_zap_RZ_at_bl = NULL;
- vbi->guest_ppc_sc_continues_at_LR = False;
vbi->host_ppc_calls_use_fndescrs = False;
- vbi->host_ppc32_regalign_int64_args = False;
}
Index: VEX/pub/libvex.h
===================================================================
--- VEX/pub/libvex.h.orig
+++ VEX/pub/libvex.h
@@ -291,8 +291,6 @@ void LibVEX_default_VexArchInfo ( /*OUT*
guest_stack_redzone_size
guest is ppc32-linux ==> 0
guest is ppc64-linux ==> 288
- guest is ppc32-aix5 ==> 220
- guest is ppc64-aix5 ==> unknown
guest is amd64-linux ==> 128
guest is other ==> inapplicable
@@ -309,32 +307,16 @@ void LibVEX_default_VexArchInfo ( /*OUT*
guest_ppc_zap_RZ_at_blr
guest is ppc64-linux ==> True
guest is ppc32-linux ==> False
- guest is ppc64-aix5 ==> unknown
- guest is ppc32-aix5 ==> False
guest is other ==> inapplicable
guest_ppc_zap_RZ_at_bl
guest is ppc64-linux ==> const True
guest is ppc32-linux ==> const False
- guest is ppc64-aix5 ==> unknown
- guest is ppc32-aix5 ==> True except for calls to
- millicode, $SAVEFn, $RESTFn
- guest is other ==> inapplicable
-
- guest_ppc_sc_continues_at_LR:
- guest is ppc32-aix5 or ppc64-aix5 ==> True
- guest is ppc32-linux or ppc64-linux ==> False
guest is other ==> inapplicable
host_ppc_calls_use_fndescrs:
host is ppc32-linux ==> False
host is ppc64-linux ==> True
- host is ppc32-aix5 or ppc64-aix5 ==> True
- host is other ==> inapplicable
-
- host_ppc32_regalign_int64_args:
- host is ppc32-linux ==> True
- host is ppc32-aix5 ==> False
host is other ==> inapplicable
*/
@@ -364,20 +346,10 @@ typedef
is assumed equivalent to a fn which always returns False. */
Bool (*guest_ppc_zap_RZ_at_bl)(Addr64);
- /* PPC32/PPC64 GUESTS only: where does the kernel resume after
- 'sc'? False => Linux style, at the next insn. True => AIX
- style, at the address stated in the link register. */
- Bool guest_ppc_sc_continues_at_LR;
-
/* PPC32/PPC64 HOSTS only: does '&f' give us a pointer to a
function descriptor on the host, or to the function code
itself? True => descriptor, False => code. */
Bool host_ppc_calls_use_fndescrs;
-
- /* PPC32 HOSTS only: when generating code to pass a 64-bit value
- (actual parameter) in a pair of regs, should we skip an arg
- reg if it is even-numbered? True => yes, False => no. */
- Bool host_ppc32_regalign_int64_args;
}
VexAbiInfo;
++++++ VEX-r2910.diff ++++++
++++ 2010 lines (skipped)
++++++ VEX-r2914.diff ++++++
++++ 7306 lines (skipped)
++++++ VEX-r2915.diff ++++++
Index: VEX/priv/guest_ppc_toIR.c
===================================================================
--- VEX/priv/guest_ppc_toIR.c.orig
+++ VEX/priv/guest_ppc_toIR.c
@@ -20134,6 +20134,7 @@ DisResult disInstr_PPC ( IRSB* ir
dres.whatNext = Dis_StopHere;
dres.jk_StopHere = Ijk_NoDecode;
dres.len = 0;
+ dis.continueAt = 0;
return dres;
}
++++++ VEX-r2916.diff ++++++
Index: VEX/priv/guest_ppc_toIR.c
===================================================================
--- VEX/priv/guest_ppc_toIR.c.orig
+++ VEX/priv/guest_ppc_toIR.c
@@ -20134,7 +20134,7 @@ DisResult disInstr_PPC ( IRSB* ir
dres.whatNext = Dis_StopHere;
dres.jk_StopHere = Ijk_NoDecode;
dres.len = 0;
- dis.continueAt = 0;
+ dres.continueAt = 0;
return dres;
}
++++++ r13767.diff ++++++
------------------------------------------------------------------------
r13767 | dejanj | 2013-12-27 10:06:55 +0100 (Fr, 27. Dez 2013) | 4 Zeilen
mips32: Adding mips32/Android support to Valgrind.
Necessary changes to Valgrind to support mips32 on Android.
------------------------------------------------------------------------
Index: coregrind/vg_preloaded.c
===================================================================
--- coregrind/vg_preloaded.c.orig
+++ coregrind/vg_preloaded.c
@@ -57,7 +57,8 @@ void VG_NOTIFY_ON_LOAD(freeres)( void );
void VG_NOTIFY_ON_LOAD(freeres)( void )
{
# if !defined(__UCLIBC__) \
- && !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+ && !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
extern void __libc_freeres(void);
__libc_freeres();
# endif
Index: coregrind/m_options.c
===================================================================
--- coregrind/m_options.c.orig
+++ coregrind/m_options.c
@@ -47,7 +47,8 @@ VexControl VG_(clo_vex_control);
Bool VG_(clo_error_limit) = True;
Int VG_(clo_error_exitcode) = 0;
-#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
VgVgdb VG_(clo_vgdb) = Vg_VgdbNo; // currently disabled on Android
#else
VgVgdb VG_(clo_vgdb) = Vg_VgdbYes;
Index: coregrind/vgdb.c
===================================================================
--- coregrind/vgdb.c.orig
+++ coregrind/vgdb.c
@@ -1643,7 +1643,8 @@ void received_signal (int signum)
sigpipe++;
} else if (signum == SIGALRM) {
sigalrm++;
-#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
/* Android has no pthread_cancel. As it also does not have
PTRACE_INVOKER, there is no need for cleanup action.
So, we just do nothing. */
Index: coregrind/m_replacemalloc/vg_replace_malloc.c
===================================================================
--- coregrind/m_replacemalloc/vg_replace_malloc.c.orig
+++ coregrind/m_replacemalloc/vg_replace_malloc.c
@@ -116,7 +116,7 @@
__attribute__ ((__noreturn__))
static inline void my_exit ( int x )
{
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_mips32_linux_android)
__asm__ __volatile__(".word 0xFFFFFFFF");
while (1) {}
# elif defined(VGPV_x86_linux_android)
@@ -131,7 +131,8 @@ static inline void my_exit ( int x )
/* Same problem with getpagesize. */
static inline int my_getpagesize ( void )
{
-# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
return 4096; /* kludge - link failure on Android, for some reason */
# else
extern int getpagesize (void);
@@ -939,7 +940,8 @@ static inline void trigger_memcheck_erro
MALLOC_USABLE_SIZE(SO_SYN_MALLOC, malloc_usable_size);
MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_size);
MALLOC_USABLE_SIZE(SO_SYN_MALLOC, malloc_size);
-# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, dlmalloc_usable_size);
MALLOC_USABLE_SIZE(SO_SYN_MALLOC, dlmalloc_usable_size);
# endif
Index: coregrind/m_coredump/coredump-elf.c
===================================================================
--- coregrind/m_coredump/coredump-elf.c.orig
+++ coregrind/m_coredump/coredump-elf.c
@@ -136,7 +136,8 @@ static void fill_phdr(ESZ(Phdr) *phdr, c
phdr->p_align = VKI_PAGE_SIZE;
}
-#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
/* Android's libc doesn't provide a definition for this. Hence: */
typedef
struct {
@@ -159,7 +160,8 @@ static UInt note_size(const struct note
+ VG_ROUNDUP(n->note.n_descsz, 4);
}
-#if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+#if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
static void add_note(struct note **list, const HChar *name, UInt type,
const void *data, UInt datasz)
{
@@ -605,7 +607,8 @@ void make_elf_coredump(ThreadId tid, con
continue;
# if defined(VGP_x86_linux)
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
{
vki_elf_fpxregset_t xfpu;
fill_xfpu(&VG_(threads)[i], &xfpu);
@@ -615,18 +618,21 @@ void make_elf_coredump(ThreadId tid, con
# endif
fill_fpu(&VG_(threads)[i], &fpu);
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
add_note(¬elist, "CORE", NT_FPREGSET, &fpu, sizeof(fpu));
# endif
fill_prstatus(&VG_(threads)[i], &prstatus, si);
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
add_note(¬elist, "CORE", NT_PRSTATUS, &prstatus, sizeof(prstatus));
# endif
}
fill_prpsinfo(&VG_(threads)[tid], &prpsinfo);
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
add_note(¬elist, "CORE", NT_PRPSINFO, &prpsinfo, sizeof(prpsinfo));
# endif
Index: coregrind/m_ume/main.c
===================================================================
--- coregrind/m_ume/main.c.orig
+++ coregrind/m_ume/main.c
@@ -199,7 +199,8 @@ static Bool is_binary_file(const HChar*
// will refuse to (eg. scripts lacking a "#!" prefix).
static Int do_exec_shell_followup(Int ret, const HChar* exe_name, ExeInfo* info)
{
-# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
const HChar* default_interp_name = "/system/bin/sh";
# else
const HChar* default_interp_name = "/bin/sh";
Index: coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- coregrind/m_syswrap/syswrap-linux.c.orig
+++ coregrind/m_syswrap/syswrap-linux.c
@@ -6764,7 +6764,8 @@ PRE(sys_ioctl)
/* These just take an int by value */
break;
-# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
/* ashmem */
case VKI_ASHMEM_GET_SIZE:
case VKI_ASHMEM_SET_SIZE:
@@ -6957,7 +6958,8 @@ POST(sys_ioctl)
/* --- BEGIN special IOCTL handlers for specific Android hardware --- */
-# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
# if defined(ANDROID_HARDWARE_nexus_s)
@@ -7875,7 +7877,8 @@ POST(sys_ioctl)
}
break;
-# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
/* ashmem */
case VKI_ASHMEM_GET_SIZE:
case VKI_ASHMEM_SET_SIZE:
Index: coregrind/m_syswrap/syswrap-main.c
===================================================================
--- coregrind/m_syswrap/syswrap-main.c.orig
+++ coregrind/m_syswrap/syswrap-main.c
@@ -467,7 +467,15 @@ void getSyscallArgsFromGuestState ( /*OU
#elif defined(VGP_mips32_linux)
VexGuestMIPS32State* gst = (VexGuestMIPS32State*)gst_vanilla;
canonical->sysno = gst->guest_r2; // v0
- if (canonical->sysno != __NR_syscall) {
+ if (canonical->sysno == __NR_exit) {
+ canonical->arg1 = gst->guest_r4; // a0
+ canonical->arg2 = 0;
+ canonical->arg3 = 0;
+ canonical->arg4 = 0;
+ canonical->arg5 = 0;
+ canonical->arg6 = 0;
+ canonical->arg8 = 0;
+ } else if (canonical->sysno != __NR_syscall) {
canonical->arg1 = gst->guest_r4; // a0
canonical->arg2 = gst->guest_r5; // a1
canonical->arg3 = gst->guest_r6; // a2
Index: coregrind/m_initimg/initimg-linux.c
===================================================================
--- coregrind/m_initimg/initimg-linux.c.orig
+++ coregrind/m_initimg/initimg-linux.c
@@ -640,7 +640,9 @@ Addr setup_client_stack( void* init_sp,
case AT_GID:
case AT_EGID:
case AT_CLKTCK:
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+# if !defined(VGPV_arm_linux_android) \
+ && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
case AT_FPUCW: /* missing on android */
# endif
/* All these are pointerless, so we don't need to do
@@ -670,7 +672,8 @@ Addr setup_client_stack( void* init_sp,
So, keep the AT_BASE on android for now.
??? Need to dig in depth about AT_BASE/GDB interaction */
# if !defined(VGPV_arm_linux_android) \
- && !defined(VGPV_x86_linux_android)
+ && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
auxv->a_type = AT_IGNORE;
# endif
auxv->u.a_val = info->interp_base;
Index: coregrind/m_debuginfo/readstabs.c
===================================================================
--- coregrind/m_debuginfo/readstabs.c.orig
+++ coregrind/m_debuginfo/readstabs.c
@@ -36,7 +36,8 @@
/* "on Linux (except android), or on Darwin" */
#if (defined(VGO_linux) && \
- !(defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)) \
+ !(defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)) \
|| defined(VGO_darwin))
#include "pub_core_basics.h"
Index: coregrind/launcher-linux.c
===================================================================
--- coregrind/launcher-linux.c.orig
+++ coregrind/launcher-linux.c
@@ -222,7 +222,9 @@ static const char *select_platform(const
platform = "mips64-linux";
}
} else if (header[EI_DATA] == ELFDATA2MSB) {
-# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+# if !defined(VGPV_arm_linux_android) \
+ && !defined(VGPV_x86_linux_android) \
+ && !defined(VGPV_mips32_linux_android)
if (ehdr->e_machine == EM_PPC64 &&
(ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
Index: include/vki/vki-linux.h
===================================================================
--- include/vki/vki-linux.h.orig
+++ include/vki/vki-linux.h
@@ -2865,7 +2865,8 @@ struct vki_getcpu_cache {
// From kernel/common/include/linux/ashmem.h
//----------------------------------------------------------------------
-#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+ || defined(VGPV_mips32_linux_android)
#define VKI_ASHMEM_NAME_LEN 256
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -957,9 +957,9 @@ DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT
# Normally the PLAT = (ARCH, OS) characterisation of the platform is enough.
# But there are times where we need a bit more control. The motivating
# and currently only case is Android: this is almost identical to
-# {x86,arm}-linux, but not quite. So this introduces the concept of platform
-# variant tags, which get passed in the compile as -DVGPV_<arch>_<os>_<variant>
-# along with the main -DVGP_<arch>_<os> definition.
+# {x86,arm,mips}-linux, but not quite. So this introduces the concept of
+# platform variant tags, which get passed in the compile as
+# -DVGPV_<arch>_<os>_<variant> along with the main -DVGP_<arch>_<os> definition.
#
# In almost all cases, the <variant> bit is "vanilla". But for Android
# it is "android" instead.
Index: README.android
===================================================================
--- README.android.orig
+++ README.android
@@ -13,6 +13,12 @@ ARM:
x86:
Android 4.0.3 running on android x86 emulator.
+mips32:
+ Android 4.1.2 running on android mips emulator.
+ Android 4.2.2 running on android mips emulator.
+ Android 4.3 running on android mips emulator.
+ Android 4.0.4 running on BROADCOM bcm7425
+
On android-arm, GDBserver might insert breaks at wrong addresses.
Feedback on this welcome.
@@ -70,6 +76,10 @@ export AR=$NDKROOT/toolchains/x86-4.4.3/
export LD=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-ld
export CC=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-gcc
+# For MIPS32
+export AR=$NDKROOT/toolchains/mipsel-linux-android-4.8/prebuilt/linux-x86_64/bin/mipsel-linux-android-ar
+export LD=$NDKROOT/toolchains/mipsel-linux-android-4.8/prebuilt/linux-x86_64/bin/mipsel-linux-android-ld
+export CC=$NDKROOT/toolchains/mipsel-linux-android-4.8/prebuilt/linux-x86_64/bin/mipsel-linux-android-gcc
# Do configuration stuff. Don't mess with the --prefix in the
# configure command below, even if you think it's wrong.
@@ -97,6 +107,13 @@ CPPFLAGS="--sysroot=$NDKROOT/platforms/a
--host=i686-android-linux --target=i686-android-linux \
--with-tmpdir=/sdcard
+# for MIPS32
+CPPFLAGS="--sysroot=$NDKROOT/platforms/android-18/arch-mips -DANDROID_HARDWARE_$HWKIND" \
+ CFLAGS="--sysroot=$NDKROOT/platforms/android-18/arch-mips" \
+ ./configure --prefix=/data/local/Inst \
+ --host=mipsel-linux-android --target=mipsel-linux-android \
+ --with-tmpdir=/sdcard
+
# At the end of the configure run, a few lines of details
# are printed. Make sure that you see these two lines:
#
@@ -108,6 +125,10 @@ CPPFLAGS="--sysroot=$NDKROOT/platforms/a
# Platform variant: android
# Primary -DVGPV string: -DVGPV_x86_linux_android=1
#
+# For mips32:
+# Platform variant: android
+# Primary -DVGPV string: -DVGPV_mips32_linux_android=1
+#
# If you see anything else at this point, something is wrong, and
# either the build will fail, or will succeed but you'll get something
# which won't work.
++++++ r13770.diff ++++++
++++ 6551 lines (skipped)
++++++ r14184.diff ++++++
------------------------------------------------------------------------
r14184 | sewardj | 2014-07-24 14:45:24 +0200 (Do, 24. Jul 2014) | 8 Zeilen
Track vex r2910 (infrastructural improvements in representation of
endianness in VEX).
In short: in m_machine.c, VG_(machine_get_hwcaps), get the endianness
of the host, and pass it through to all places (in VEX) where it is
required.
------------------------------------------------------------------------
Index: coregrind/m_transtab.c
===================================================================
--- coregrind/m_transtab.c.orig
+++ coregrind/m_transtab.c
@@ -747,8 +747,11 @@ void VG_(tt_tc_do_chaining) ( void* from
Bool to_fastEP )
{
/* Get the CPU info established at startup. */
- VexArch vex_arch = VexArch_INVALID;
- VG_(machine_get_VexArchInfo)( &vex_arch, NULL );
+ VexArch arch_host = VexArch_INVALID;
+ VexArchInfo archinfo_host;
+ VG_(bzero_inline)(&archinfo_host, sizeof(archinfo_host));
+ VG_(machine_get_VexArchInfo)( &arch_host, &archinfo_host );
+ VexEndness endness_host = archinfo_host.endness;
// host_code is where we're patching to. So it needs to
// take into account, whether we're jumping to the slow
@@ -757,7 +760,8 @@ void VG_(tt_tc_do_chaining) ( void* from
// the slow (tcptr) entry point.
TTEntry* to_tte = index_tte(to_sNo, to_tteNo);
void* host_code = ((UChar*)to_tte->tcptr)
- + (to_fastEP ? LibVEX_evCheckSzB(vex_arch) : 0);
+ + (to_fastEP ? LibVEX_evCheckSzB(arch_host,
+ endness_host) : 0);
// stay sane -- the patch point (dst) is in this sector's code cache
vg_assert( (UChar*)host_code >= (UChar*)sectors[to_sNo].tc );
@@ -789,7 +793,7 @@ void VG_(tt_tc_do_chaining) ( void* from
since it is host-dependent. */
VexInvalRange vir
= LibVEX_Chain(
- vex_arch,
+ arch_host, endness_host,
from__patch_addr,
VG_(fnptr_to_fnentry)(
to_fastEP ? &VG_(disp_cp_chain_me_to_fastEP)
@@ -833,7 +837,7 @@ void VG_(tt_tc_do_chaining) ( void* from
addresses of the destination block (that is, the block that owns
this InEdge). */
__attribute__((noinline))
-static void unchain_one ( VexArch vex_arch,
+static void unchain_one ( VexArch arch_host, VexEndness endness_host,
InEdge* ie,
void* to_fastEPaddr, void* to_slowEPaddr )
{
@@ -858,7 +862,7 @@ static void unchain_one ( VexArch vex_ar
// place_to_jump_to_EXPECTED really is the current dst, and
// asserts if it isn't.
VexInvalRange vir
- = LibVEX_UnChain( vex_arch, place_to_patch,
+ = LibVEX_UnChain( arch_host, endness_host, place_to_patch,
place_to_jump_to_EXPECTED, disp_cp_chain_me );
VG_(invalidate_icache)( (void*)vir.start, vir.len );
}
@@ -868,13 +872,14 @@ static void unchain_one ( VexArch vex_ar
succs of its associated blocks accordingly. This includes undoing
any chained jumps to this block. */
static
-void unchain_in_preparation_for_deletion ( VexArch vex_arch,
+void unchain_in_preparation_for_deletion ( VexArch arch_host,
+ VexEndness endness_host,
UInt here_sNo, UInt here_tteNo )
{
if (DEBUG_TRANSTAB)
VG_(printf)("QQQ unchain_in_prep %u.%u...\n", here_sNo, here_tteNo);
UWord i, j, n, m;
- Int evCheckSzB = LibVEX_evCheckSzB(vex_arch);
+ Int evCheckSzB = LibVEX_evCheckSzB(arch_host, endness_host);
TTEntry* here_tte = index_tte(here_sNo, here_tteNo);
if (DEBUG_TRANSTAB)
VG_(printf)("... QQQ tt.entry 0x%llu tt.tcptr 0x%p\n",
@@ -888,7 +893,7 @@ void unchain_in_preparation_for_deletion
// Undo the chaining.
UChar* here_slow_EP = (UChar*)here_tte->tcptr;
UChar* here_fast_EP = here_slow_EP + evCheckSzB;
- unchain_one(vex_arch, ie, here_fast_EP, here_slow_EP);
+ unchain_one(arch_host, endness_host, ie, here_fast_EP, here_slow_EP);
// Find the corresponding entry in the "from" node's out_edges,
// and remove it.
TTEntry* from_tte = index_tte(ie->from_sNo, ie->from_tteNo);
@@ -1427,8 +1432,11 @@ static void initialiseSector ( Int sno )
vg_assert(sec->tc_next != NULL);
n_dump_count += sec->tt_n_inuse;
- VexArch vex_arch = VexArch_INVALID;
- VG_(machine_get_VexArchInfo)( &vex_arch, NULL );
+ VexArch arch_host = VexArch_INVALID;
+ VexArchInfo archinfo_host;
+ VG_(bzero_inline)(&archinfo_host, sizeof(archinfo_host));
+ VG_(machine_get_VexArchInfo)( &arch_host, &archinfo_host );
+ VexEndness endness_host = archinfo_host.endness;
/* Visit each just-about-to-be-abandoned translation. */
if (DEBUG_TRANSTAB) VG_(printf)("QQQ unlink-entire-sector: %d START\n",
@@ -1444,7 +1452,8 @@ static void initialiseSector ( Int sno )
sec->tt[i].entry,
sec->tt[i].vge );
}
- unchain_in_preparation_for_deletion(vex_arch, sno, i);
+ unchain_in_preparation_for_deletion(arch_host,
+ endness_host, sno, i);
} else {
vg_assert(sec->tt[i].n_tte2ec == 0);
}
@@ -1508,8 +1517,7 @@ void VG_(add_to_transtab)( VexGuestExten
UInt code_len,
Bool is_self_checking,
Int offs_profInc,
- UInt n_guest_instrs,
- VexArch arch_host )
+ UInt n_guest_instrs )
{
Int tcAvailQ, reqdQ, y, i;
ULong *tcptr, *tcptr2;
@@ -1627,8 +1635,13 @@ void VG_(add_to_transtab)( VexGuestExten
/* Patch in the profile counter location, if necessary. */
if (offs_profInc != -1) {
vg_assert(offs_profInc >= 0 && offs_profInc < code_len);
+ VexArch arch_host = VexArch_INVALID;
+ VexArchInfo archinfo_host;
+ VG_(bzero_inline)(&archinfo_host, sizeof(archinfo_host));
+ VG_(machine_get_VexArchInfo)( &arch_host, &archinfo_host );
+ VexEndness endness_host = archinfo_host.endness;
VexInvalRange vir
- = LibVEX_PatchProfInc( arch_host,
+ = LibVEX_PatchProfInc( arch_host, endness_host,
dstP + offs_profInc,
§ors[y].tt[i].count );
VG_(invalidate_icache)( (void*)vir.start, vir.len );
@@ -1775,7 +1788,7 @@ Bool overlaps ( Addr64 start, ULong rang
/* Delete a tt entry, and update all the eclass data accordingly. */
static void delete_tte ( /*MOD*/Sector* sec, UInt secNo, Int tteno,
- VexArch vex_arch )
+ VexArch arch_host, VexEndness endness_host )
{
Int i, ec_num, ec_idx;
TTEntry* tte;
@@ -1789,7 +1802,7 @@ static void delete_tte ( /*MOD*/Sector*
vg_assert(tte->n_tte2ec >= 1 && tte->n_tte2ec <= 3);
/* Unchain .. */
- unchain_in_preparation_for_deletion(vex_arch, secNo, tteno);
+ unchain_in_preparation_for_deletion(arch_host, endness_host, secNo, tteno);
/* Deal with the ec-to-tte links first. */
for (i = 0; i < tte->n_tte2ec; i++) {
@@ -1829,7 +1842,8 @@ static
Bool delete_translations_in_sector_eclass ( /*MOD*/Sector* sec, UInt secNo,
Addr64 guest_start, ULong range,
Int ec,
- VexArch vex_arch )
+ VexArch arch_host,
+ VexEndness endness_host )
{
Int i;
UShort tteno;
@@ -1853,7 +1867,7 @@ Bool delete_translations_in_sector_eclas
if (overlaps( guest_start, range, &tte->vge )) {
anyDeld = True;
- delete_tte( sec, secNo, (Int)tteno, vex_arch );
+ delete_tte( sec, secNo, (Int)tteno, arch_host, endness_host );
}
}
@@ -1868,7 +1882,8 @@ Bool delete_translations_in_sector_eclas
static
Bool delete_translations_in_sector ( /*MOD*/Sector* sec, UInt secNo,
Addr64 guest_start, ULong range,
- VexArch vex_arch )
+ VexArch arch_host,
+ VexEndness endness_host )
{
Int i;
Bool anyDeld = False;
@@ -1877,7 +1892,7 @@ Bool delete_translations_in_sector ( /*M
if (sec->tt[i].status == InUse
&& overlaps( guest_start, range, &sec->tt[i].vge )) {
anyDeld = True;
- delete_tte( sec, secNo, i, vex_arch );
+ delete_tte( sec, secNo, i, arch_host, endness_host );
}
}
@@ -1907,8 +1922,11 @@ void VG_(discard_translations) ( Addr64
if (range == 0)
return;
- VexArch vex_arch = VexArch_INVALID;
- VG_(machine_get_VexArchInfo)( &vex_arch, NULL );
+ VexArch arch_host = VexArch_INVALID;
+ VexArchInfo archinfo_host;
+ VG_(bzero_inline)(&archinfo_host, sizeof(archinfo_host));
+ VG_(machine_get_VexArchInfo)( &arch_host, &archinfo_host );
+ VexEndness endness_host = archinfo_host.endness;
/* There are two different ways to do this.
@@ -1950,11 +1968,11 @@ void VG_(discard_translations) ( Addr64
continue;
anyDeleted |= delete_translations_in_sector_eclass(
sec, sno, guest_start, range, ec,
- vex_arch
+ arch_host, endness_host
);
anyDeleted |= delete_translations_in_sector_eclass(
sec, sno, guest_start, range, ECLASS_MISC,
- vex_arch
+ arch_host, endness_host
);
}
@@ -1970,7 +1988,9 @@ void VG_(discard_translations) ( Addr64
if (sec->tc == NULL)
continue;
anyDeleted |= delete_translations_in_sector(
- sec, sno, guest_start, range, vex_arch );
+ sec, sno, guest_start, range,
+ arch_host, endness_host
+ );
}
}
Index: coregrind/m_main.c
===================================================================
--- coregrind/m_main.c.orig
+++ coregrind/m_main.c
@@ -1391,9 +1391,10 @@ static void print_preamble ( Bool loggin
VG_(machine_get_VexArchInfo)( &vex_arch, &vex_archinfo );
VG_(message)(
Vg_DebugMsg,
- "Arch and hwcaps: %s, %s\n",
- LibVEX_ppVexArch ( vex_arch ),
- LibVEX_ppVexHwCaps ( vex_arch, vex_archinfo.hwcaps )
+ "Arch and hwcaps: %s, %s, %s\n",
+ LibVEX_ppVexArch ( vex_arch ),
+ LibVEX_ppVexEndness ( vex_archinfo.endness ),
+ LibVEX_ppVexHwCaps ( vex_arch, vex_archinfo.hwcaps )
);
VG_(message)(
Vg_DebugMsg,
Index: coregrind/pub_core_transtab.h
===================================================================
--- coregrind/pub_core_transtab.h.orig
+++ coregrind/pub_core_transtab.h
@@ -83,8 +83,7 @@ void VG_(add_to_transtab)( VexGuestExten
UInt code_len,
Bool is_self_checking,
Int offs_profInc,
- UInt n_guest_instrs,
- VexArch arch_host );
+ UInt n_guest_instrs );
extern
void VG_(tt_tc_do_chaining) ( void* from__patch_addr,
Index: coregrind/m_machine.c
===================================================================
--- coregrind/m_machine.c.orig
+++ coregrind/m_machine.c
@@ -739,6 +739,7 @@ Bool VG_(machine_get_hwcaps)( void )
have_mmxext = True;
va = VexArchX86;
+ vai.endness = VexEndnessLE;
if (have_sse2 && have_sse1 && have_mmxext) {
vai.hwcaps = VEX_HWCAPS_X86_MMXEXT;
vai.hwcaps |= VEX_HWCAPS_X86_SSE1;
@@ -857,14 +858,15 @@ Bool VG_(machine_get_hwcaps)( void )
have_avx2 = (ebx & (1<<5)) != 0; /* True => have AVX2 */
}
- va = VexArchAMD64;
- vai.hwcaps = (have_sse3 ? VEX_HWCAPS_AMD64_SSE3 : 0)
- | (have_cx16 ? VEX_HWCAPS_AMD64_CX16 : 0)
- | (have_lzcnt ? VEX_HWCAPS_AMD64_LZCNT : 0)
- | (have_avx ? VEX_HWCAPS_AMD64_AVX : 0)
- | (have_bmi ? VEX_HWCAPS_AMD64_BMI : 0)
- | (have_avx2 ? VEX_HWCAPS_AMD64_AVX2 : 0)
- | (have_rdtscp ? VEX_HWCAPS_AMD64_RDTSCP : 0);
+ va = VexArchAMD64;
+ vai.endness = VexEndnessLE;
+ vai.hwcaps = (have_sse3 ? VEX_HWCAPS_AMD64_SSE3 : 0)
+ | (have_cx16 ? VEX_HWCAPS_AMD64_CX16 : 0)
+ | (have_lzcnt ? VEX_HWCAPS_AMD64_LZCNT : 0)
+ | (have_avx ? VEX_HWCAPS_AMD64_AVX : 0)
+ | (have_bmi ? VEX_HWCAPS_AMD64_BMI : 0)
+ | (have_avx2 ? VEX_HWCAPS_AMD64_AVX2 : 0)
+ | (have_rdtscp ? VEX_HWCAPS_AMD64_RDTSCP : 0);
VG_(machine_get_cache_info)(&vai);
@@ -1013,6 +1015,7 @@ Bool VG_(machine_get_hwcaps)( void )
VG_(machine_ppc32_has_VMX) = have_V ? 1 : 0;
va = VexArchPPC32;
+ vai.endness = VexEndnessBE;
vai.hwcaps = 0;
if (have_F) vai.hwcaps |= VEX_HWCAPS_PPC32_F;
@@ -1151,6 +1154,9 @@ Bool VG_(machine_get_hwcaps)( void )
VG_(machine_ppc64_has_VMX) = have_V ? 1 : 0;
va = VexArchPPC64;
+ // CARLL fixme: when the time comes, copy .endness setting code
+ // from the VGA_mips32 case
+ vai.endness = VexEndnessBE;
vai.hwcaps = 0;
if (have_V) vai.hwcaps |= VEX_HWCAPS_PPC64_V;
@@ -1243,6 +1249,7 @@ Bool VG_(machine_get_hwcaps)( void )
r = VG_(sigprocmask)(VKI_SIG_SETMASK, &saved_set, NULL);
vg_assert(r == 0);
va = VexArchS390X;
+ vai.endness = VexEndnessBE;
vai.hwcaps = model;
if (have_STFLE) vai.hwcaps |= VEX_HWCAPS_S390X_STFLE;
@@ -1404,6 +1411,7 @@ Bool VG_(machine_get_hwcaps)( void )
VG_(machine_arm_archlevel) = archlevel;
va = VexArchARM;
+ vai.endness = VexEndnessLE;
vai.hwcaps = VEX_ARM_ARCHLEVEL(archlevel);
if (have_VFP3) vai.hwcaps |= VEX_HWCAPS_ARM_VFP3;
@@ -1419,6 +1427,7 @@ Bool VG_(machine_get_hwcaps)( void )
#elif defined(VGA_arm64)
{
va = VexArchARM64;
+ vai.endness = VexEndnessLE;
/* So far there are no variants. */
vai.hwcaps = 0;
@@ -1437,6 +1446,14 @@ Bool VG_(machine_get_hwcaps)( void )
vai.hwcaps = model;
+# if defined(VKI_LITTLE_ENDIAN)
+ vai.endness = VexEndnessLE;
+# elif defined(VKI_BIG_ENDIAN)
+ vai.endness = VexEndnessBE;
+# else
+ vai.endness = VexEndness_INVALID;
+# endif
+
/* Same instruction set detection algorithm as for ppc32/arm... */
vki_sigset_t saved_set, tmp_set;
vki_sigaction_fromK_t saved_sigill_act;
@@ -1506,11 +1523,19 @@ Bool VG_(machine_get_hwcaps)( void )
{
va = VexArchMIPS64;
UInt model = VG_(get_machine_model)();
- if (model== -1)
+ if (model == -1)
return False;
vai.hwcaps = model;
+# if defined(VKI_LITTLE_ENDIAN)
+ vai.endness = VexEndnessLE;
+# elif defined(VKI_BIG_ENDIAN)
+ vai.endness = VexEndnessBE;
+# else
+ vai.endness = VexEndness_INVALID;
+# endif
+
VG_(machine_get_cache_info)(&vai);
return True;
Index: coregrind/m_translate.c
===================================================================
--- coregrind/m_translate.c.orig
+++ coregrind/m_translate.c
@@ -1641,8 +1641,7 @@ Bool VG_(translate) ( ThreadId tid,
tmpbuf_used,
tres.n_sc_extents > 0,
tres.offs_profInc,
- tres.n_guest_instrs,
- vex_arch );
+ tres.n_guest_instrs );
} else {
vg_assert(tres.offs_profInc == -1); /* -1 == unset */
VG_(add_to_unredir_transtab)( &vge,
++++++ r14238.diff ++++++
++++ 2098 lines (skipped)
++++++ r14239.diff ++++++
++++ 4283 lines (skipped)
++++++ r14240.diff ++++++
++++ 25958 lines (skipped)
++++++ r14246.diff ++++++
------------------------------------------------------------------------
r14246 | carll | 2014-08-09 00:29:10 +0200 (Sa, 09. Aug 2014) | 10 Zeilen
This commit is for Bugzilla 334834.
A performance regression was found due to the
-02 -m64 flags not being included when compiling
the VEX PPC64 code. This commit fixes the Makefile
to pass the needed flags when compiling VEX PPC64
code.
------------------------------------------------------------------------
Index: Makefile.all.am
===================================================================
--- Makefile.all.am (Revision 14245)
+++ Makefile.all.am (Revision 14246)
@@ -163,9 +163,13 @@ AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
-AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
-AM_CFLAGS_PPC64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_PPC64_LINUX = @FLAG_M64@ -g
+AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
+AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
+
+AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
+AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
++++++ valgrind-r13948.diff ++++++
--- /var/tmp/diff_new_pack.56OktI/_old 2014-08-30 16:03:38.000000000 +0200
+++ /var/tmp/diff_new_pack.56OktI/_new 2014-08-30 16:03:38.000000000 +0200
@@ -3,12 +3,10 @@
Add test for MPX instructions and bnd prefix. Bug #333666.
------------------------------------------------------------------------
-Index: none/tests/amd64/mpx.stderr.exp
-===================================================================
Index: none/tests/amd64/mpx.c
===================================================================
---- none/tests/amd64/mpx.c (revision 0)
-+++ none/tests/amd64/mpx.c (revision 13948)
+--- /dev/null
++++ none/tests/amd64/mpx.c
@@ -0,0 +1,38 @@
+int
+main (int argc, char **argv)
@@ -48,20 +46,18 @@
+
+ return 0;
+}
-Index: none/tests/amd64/mpx.stdout.exp
-===================================================================
Index: none/tests/amd64/mpx.vgtest
===================================================================
---- none/tests/amd64/mpx.vgtest (revision 0)
-+++ none/tests/amd64/mpx.vgtest (revision 13948)
+--- /dev/null
++++ none/tests/amd64/mpx.vgtest
@@ -0,0 +1,3 @@
+prog: mpx
+prereq: test -x mpx
+vgopts: -q
Index: none/tests/amd64/Makefile.am
===================================================================
---- none/tests/amd64/Makefile.am (revision 13947)
-+++ none/tests/amd64/Makefile.am (revision 13948)
+--- none/tests/amd64/Makefile.am.orig
++++ none/tests/amd64/Makefile.am
@@ -56,6 +56,7 @@ EXTRA_DIST = \
loopnel.stderr.exp loopnel.stdout.exp loopnel.vgtest \
lzcnt64.stderr.exp lzcnt64.stdout.exp lzcnt64.vgtest \
@@ -70,7 +66,7 @@
nan80and64.stderr.exp nan80and64.stdout.exp nan80and64.vgtest \
nibz_bennee_mmap.stderr.exp nibz_bennee_mmap.stdout.exp \
nibz_bennee_mmap.vgtest \
-@@ -133,6 +134,10 @@ endif
+@@ -131,6 +132,10 @@ endif
if BUILD_MOVBE_TESTS
check_PROGRAMS += movbe
endif
@@ -83,9 +79,9 @@
if ! VGCONF_OS_IS_DARWIN
Index: configure.ac
===================================================================
---- configure.ac (revision 13947)
-+++ configure.ac (revision 13948)
-@@ -2322,6 +2322,27 @@ AC_MSG_RESULT([no])
+--- configure.ac.orig
++++ configure.ac
+@@ -2242,6 +2242,27 @@ AC_MSG_RESULT([no])
AM_CONDITIONAL(BUILD_FMA_TESTS, test x$ac_have_as_fma = xyes)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package os-prober for openSUSE:Factory checked in at 2014-08-30 16:03:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-prober (Old)
and /work/SRC/openSUSE:Factory/.os-prober.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-prober"
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-prober/os-prober.changes 2014-06-26 08:00:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.os-prober.new/os-prober.changes 2014-08-30 16:03:31.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Aug 19 11:15:57 UTC 2014 - mchang(a)suse.com
+
+- requires util-linux-systemd (bnc#892337)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-prober.spec ++++++
--- /var/tmp/diff_new_pack.qechuJ/_old 2014-08-30 16:03:33.000000000 +0200
+++ /var/tmp/diff_new_pack.qechuJ/_new 2014-08-30 16:03:33.000000000 +0200
@@ -65,6 +65,10 @@
Recommends: lvm2
Requires: udev
Requires: util-linux
+%if 0%{?suse_version} >= 1315
+# For logger utility
+Requires: util-linux-systemd
+%endif
%description
This package detects other OSes available on a system and outputs the results
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xf86-video-freedreno for openSUSE:Factory checked in at 2014-08-29 17:43:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-freedreno (Old)
and /work/SRC/openSUSE:Factory/.xf86-video-freedreno.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-freedreno"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-freedreno/xf86-video-freedreno.changes 2014-06-18 07:52:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-video-freedreno.new/xf86-video-freedreno.changes 2014-08-29 17:43:15.000000000 +0200
@@ -1,0 +2,9 @@
+Sat Aug 23 12:52:43 UTC 2014 - afaerber(a)suse.de
+
+- Updated to v1.2.0:
+* support for server managed fd's (ie. running xserver as non-root)
+* platform-probe and autoconfig support, so no .conf file needed
+ with xserver 1.16+
+* bump libdrm requirement, and misc fixes
+
+-------------------------------------------------------------------
Old:
----
xf86-video-freedreno-1.1.0.tar.bz2
New:
----
xf86-video-freedreno-1.2.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-video-freedreno.spec ++++++
--- /var/tmp/diff_new_pack.2OCnqe/_old 2014-08-29 17:43:18.000000000 +0200
+++ /var/tmp/diff_new_pack.2OCnqe/_new 2014-08-29 17:43:18.000000000 +0200
@@ -20,7 +20,7 @@
Summary: X.Org X server -- freedreno display driver
License: MIT and BSD-3-Clause
Group: System/X11/Servers/XF86_4
-Version: 1.1.0
+Version: 1.2.0
Release: 0.0
ExclusiveArch: %arm
Url: https://github.com/freedreno/xf86-video-freedreno
@@ -60,6 +60,7 @@
%dir %{_libdir}/xorg/modules/drivers
%{_libdir}/xorg/modules/drivers/*.so
%{_libdir}/xorg/modules/drivers/*.la
-%doc /usr/share/man/man4/freedreno.4.gz
+%doc %{_mandir}/man4/freedreno.4.gz
+/usr/share/X11/xorg.conf.d/42-freedreno.conf
%changelog
++++++ xf86-video-freedreno-1.1.0.tar.bz2 -> xf86-video-freedreno-1.2.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/Makefile.am new/xf86-video-freedreno-1.2.0/Makefile.am
--- old/xf86-video-freedreno-1.1.0/Makefile.am 2014-03-05 14:32:05.000000000 +0100
+++ new/xf86-video-freedreno-1.2.0/Makefile.am 2014-07-14 19:52:33.000000000 +0200
@@ -19,4 +19,4 @@
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
AUTOMAKE_OPTIONS = foreign
-SUBDIRS = src man
+SUBDIRS = src man conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/Makefile.in new/xf86-video-freedreno-1.2.0/Makefile.in
--- old/xf86-video-freedreno-1.1.0/Makefile.in 2014-05-06 15:10:50.000000000 +0200
+++ new/xf86-video-freedreno-1.2.0/Makefile.in 2014-07-14 19:58:13.000000000 +0200
@@ -327,6 +327,7 @@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
+configdir = @configdir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
@@ -362,7 +363,7 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign
-SUBDIRS = src man
+SUBDIRS = src man conf
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/NEWS new/xf86-video-freedreno-1.2.0/NEWS
--- old/xf86-video-freedreno-1.1.0/NEWS 2014-05-06 15:08:58.000000000 +0200
+++ new/xf86-video-freedreno-1.2.0/NEWS 2014-07-14 19:57:11.000000000 +0200
@@ -1,3 +1,13 @@
+Release 1.2.0 (2014-07-14)
+==========================
+
+ * support for server managed fd's (ie. running xserver as non-root)
+
+ * platform-probe and autoconfig support, so no .conf file needed
+ with xserver 1.16+
+
+ * bump libdrm requirement, and misc fixes
+
Release 1.1.0 (2014-05-06)
==========================
Overdue for another release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/conf/42-freedreno.conf new/xf86-video-freedreno-1.2.0/conf/42-freedreno.conf
--- old/xf86-video-freedreno-1.1.0/conf/42-freedreno.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-video-freedreno-1.2.0/conf/42-freedreno.conf 2014-07-14 19:52:33.000000000 +0200
@@ -0,0 +1,5 @@
+Section "OutputClass"
+ Identifier "Video driver for Qualcomm processors"
+ MatchDriver "msm"
+ Driver "freedreno"
+EndSection
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/conf/Makefile.am new/xf86-video-freedreno-1.2.0/conf/Makefile.am
--- old/xf86-video-freedreno-1.1.0/conf/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-video-freedreno-1.2.0/conf/Makefile.am 2014-07-14 19:52:33.000000000 +0200
@@ -0,0 +1,23 @@
+# Copyright 2005 Adam Jackson.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# on the rights to use, copy, modify, merge, publish, distribute, sub
+# license, and/or sell copies of the Software, and to permit persons to whom
+# the Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+if HAS_XORG_CONF_DIR
+dist_config_DATA = 42-freedreno.conf
+endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/conf/Makefile.in new/xf86-video-freedreno-1.2.0/conf/Makefile.in
--- old/xf86-video-freedreno-1.1.0/conf/Makefile.in 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-video-freedreno-1.2.0/conf/Makefile.in 2014-07-14 19:58:13.000000000 +0200
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright 2005 Adam Jackson.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# on the rights to use, copy, modify, merge, publish, distribute, sub
+# license, and/or sell copies of the Software, and to permit persons to whom
+# the Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = conf
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(am__dist_config_DATA_DIST)
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__dist_config_DATA_DIST = 42-freedreno.conf
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(configdir)"
+DATA = $(dist_config_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
+ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APP_MAN_DIR = @APP_MAN_DIR@
+APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASE_CFLAGS = @BASE_CFLAGS@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHANGELOG_CMD = @CHANGELOG_CMD@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWARNFLAGS = @CWARNFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
+DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
+DRIVER_NAME = @DRIVER_NAME@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FILE_MAN_DIR = @FILE_MAN_DIR@
+FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_CMD = @INSTALL_CMD@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
+LIBUDEV_LIBS = @LIBUDEV_LIBS@
+LIB_MAN_DIR = @LIB_MAN_DIR@
+LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MAN_SUBSTS = @MAN_SUBSTS@
+MISC_MAN_DIR = @MISC_MAN_DIR@
+MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRICT_CFLAGS = @STRICT_CFLAGS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XATRACKER_CFLAGS = @XATRACKER_CFLAGS@
+XATRACKER_LIBS = @XATRACKER_LIBS@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
+XORG_CFLAGS = @XORG_CFLAGS@
+XORG_LIBS = @XORG_LIBS@
+XORG_MAN_PAGE = @XORG_MAN_PAGE@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+configdir = @configdir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+moduledir = @moduledir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@HAS_XORG_CONF_DIR_TRUE@dist_config_DATA = 42-freedreno.conf
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign conf/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign conf/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dist_configDATA: $(dist_config_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_config_DATA)'; test -n "$(configdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(configdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(configdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(configdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(configdir)" || exit $$?; \
+ done
+
+uninstall-dist_configDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_config_DATA)'; test -n "$(configdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(configdir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(configdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_configDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_configDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-dist_configDATA install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-dist_configDATA
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/configure new/xf86-video-freedreno-1.2.0/configure
--- old/xf86-video-freedreno-1.1.0/configure 2014-05-06 15:10:50.000000000 +0200
+++ new/xf86-video-freedreno-1.2.0/configure 2014-07-14 19:58:14.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xf86-video-freedreno 1.1.0.
+# Generated by GNU Autoconf 2.69 for xf86-video-freedreno 1.2.0.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-video-freedreno'
PACKAGE_TARNAME='xf86-video-freedreno'
-PACKAGE_VERSION='1.1.0'
-PACKAGE_STRING='xf86-video-freedreno 1.1.0'
+PACKAGE_VERSION='1.2.0'
+PACKAGE_STRING='xf86-video-freedreno 1.2.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi'
PACKAGE_URL=''
@@ -638,6 +638,9 @@
LIBOBJS
DRIVER_NAME
moduledir
+HAS_XORG_CONF_DIR_FALSE
+HAS_XORG_CONF_DIR_TRUE
+configdir
LIBUDEV_FALSE
LIBUDEV_TRUE
LIBUDEV_LIBS
@@ -810,6 +813,7 @@
with_sysroot
enable_libtool_lock
with_xorg_module_dir
+with_xorg_conf_dir
'
ac_precious_vars='build_alias
host_alias
@@ -1373,7 +1377,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-video-freedreno 1.1.0 to adapt to many kinds of systems.
+\`configure' configures xf86-video-freedreno 1.2.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1444,7 +1448,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-freedreno 1.1.0:";;
+ short | recursive ) echo "Configuration of xf86-video-freedreno 1.2.0:";;
esac
cat <<\_ACEOF
@@ -1484,6 +1488,9 @@
--with-xorg-module-dir=DIR
Default xorg module directory
[[default=$libdir/xorg/modules]]
+ --with-xorg-conf-dir=DIR
+ Default xorg.conf.d directory [[default=from
+ $PKG_CONFIG xorg-server]]
Some influential environment variables:
CC C compiler command
@@ -1580,7 +1587,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-freedreno configure 1.1.0
+xf86-video-freedreno configure 1.2.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1904,7 +1911,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-freedreno $as_me 1.1.0, which was
+It was created by xf86-video-freedreno $as_me 1.2.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2772,7 +2779,7 @@
# Define the identity of the package.
PACKAGE='xf86-video-freedreno'
- VERSION='1.1.0'
+ VERSION='1.2.0'
cat >>confdefs.h <<_ACEOF
@@ -18652,12 +18659,12 @@
pkg_cv_XORG_CFLAGS="$XORG_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm libdrm_freedreno xorg-server xproto libudev \$REQUIRED_MODULES\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev \$REQUIRED_MODULES\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_XORG_CFLAGS=`$PKG_CONFIG --cflags "libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>/dev/null`
+ pkg_cv_XORG_CFLAGS=`$PKG_CONFIG --cflags "libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -18669,12 +18676,12 @@
pkg_cv_XORG_LIBS="$XORG_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm libdrm_freedreno xorg-server xproto libudev \$REQUIRED_MODULES\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev \$REQUIRED_MODULES\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_XORG_LIBS=`$PKG_CONFIG --libs "libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>/dev/null`
+ pkg_cv_XORG_LIBS=`$PKG_CONFIG --libs "libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -18695,14 +18702,14 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- XORG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>&1`
+ XORG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>&1`
else
- XORG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>&1`
+ XORG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$XORG_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES) were not met:
+ as_fn_error $? "Package requirements (libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES) were not met:
$XORG_PKG_ERRORS
@@ -18986,6 +18993,42 @@
+
+# Define a configure option for an alternate X Server configuration directory
+sysconfigdir=`$PKG_CONFIG --variable=sysconfigdir xorg-server`
+
+# Check whether --with-xorg-conf-dir was given.
+if test "${with_xorg_conf_dir+set}" = set; then :
+ withval=$with_xorg_conf_dir; configdir="$withval"
+else
+ configdir="$sysconfigdir"
+fi
+
+
+
+# Older xserver is unhappy to encounter the new OutputClass
+# sections, so avoid installing them if built for older
+# server:
+if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.15.99.904\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.15.99.904") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ :
+else
+ sysconfigdir=""
+fi
+
+ if test "x$sysconfigdir" != "x"; then
+ HAS_XORG_CONF_DIR_TRUE=
+ HAS_XORG_CONF_DIR_FALSE='#'
+else
+ HAS_XORG_CONF_DIR_TRUE='#'
+ HAS_XORG_CONF_DIR_FALSE=
+fi
+
+
# Checks for header files.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
@@ -19135,7 +19178,7 @@
-ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile"
+ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile conf/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -19293,6 +19336,10 @@
as_fn_error $? "conditional \"LIBUDEV\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${HAS_XORG_CONF_DIR_TRUE}" && test -z "${HAS_XORG_CONF_DIR_FALSE}"; then
+ as_fn_error $? "conditional \"HAS_XORG_CONF_DIR\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
@@ -19690,7 +19737,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-freedreno $as_me 1.1.0, which was
+This file was extended by xf86-video-freedreno $as_me 1.2.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19756,7 +19803,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xf86-video-freedreno config.status 1.1.0
+xf86-video-freedreno config.status 1.2.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -20168,6 +20215,7 @@
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
+ "conf/Makefile") CONFIG_FILES="$CONFIG_FILES conf/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/configure.ac new/xf86-video-freedreno-1.2.0/configure.ac
--- old/xf86-video-freedreno-1.1.0/configure.ac 2014-05-06 15:09:30.000000000 +0200
+++ new/xf86-video-freedreno-1.2.0/configure.ac 2014-07-14 19:57:19.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-freedreno],
- [1.1.0],
+ [1.2.0],
[https://bugs.freedesktop.org/enter_bug.cgi]
[xf86-video-freedreno])
@@ -60,7 +60,7 @@
#XORG_DRIVER_CHECK_EXT(XV, videoproto)
# Checks for pkg-config packages
-PKG_CHECK_MODULES(XORG, [libdrm libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XORG, [libdrm >= 2.4.54 libdrm_freedreno xorg-server xproto libudev $REQUIRED_MODULES])
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
@@ -80,6 +80,23 @@
AC_SUBST([LIBUDEV_CFLAGS])
AC_SUBST([LIBUDEV_LIBS])
+
+# Define a configure option for an alternate X Server configuration directory
+sysconfigdir=`$PKG_CONFIG --variable=sysconfigdir xorg-server`
+AC_ARG_WITH(xorg-conf-dir,
+ AC_HELP_STRING([--with-xorg-conf-dir=DIR],
+ [Default xorg.conf.d directory [[default=from $PKG_CONFIG xorg-server]]]),
+ [configdir="$withval"],
+ [configdir="$sysconfigdir"])
+AC_SUBST(configdir)
+
+# Older xserver is unhappy to encounter the new OutputClass
+# sections, so avoid installing them if built for older
+# server:
+PKG_CHECK_EXISTS([xorg-server >= 1.15.99.904], [], [sysconfigdir=""])
+
+AM_CONDITIONAL(HAS_XORG_CONF_DIR, [test "x$sysconfigdir" != "x"])
+
# Checks for header files.
AC_HEADER_STDC
@@ -98,4 +115,5 @@
Makefile
src/Makefile
man/Makefile
+ conf/Makefile
])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/man/Makefile.in new/xf86-video-freedreno-1.2.0/man/Makefile.in
--- old/xf86-video-freedreno-1.1.0/man/Makefile.in 2014-05-06 15:10:50.000000000 +0200
+++ new/xf86-video-freedreno-1.2.0/man/Makefile.in 2014-07-14 19:58:13.000000000 +0200
@@ -277,6 +277,7 @@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
+configdir = @configdir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/src/Makefile.in new/xf86-video-freedreno-1.2.0/src/Makefile.in
--- old/xf86-video-freedreno-1.1.0/src/Makefile.in 2014-05-06 15:10:50.000000000 +0200
+++ new/xf86-video-freedreno-1.2.0/src/Makefile.in 2014-07-14 19:58:14.000000000 +0200
@@ -320,6 +320,7 @@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
+configdir = @configdir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-freedreno-1.1.0/src/msm-driver.c new/xf86-video-freedreno-1.2.0/src/msm-driver.c
--- old/xf86-video-freedreno-1.1.0/src/msm-driver.c 2014-05-05 01:55:33.000000000 +0200
+++ new/xf86-video-freedreno-1.2.0/src/msm-driver.c 2014-07-08 15:47:07.000000000 +0200
@@ -129,6 +129,17 @@
dri_drm_get_perms,
};
+static void
+free_msm(MSMPtr pMsm)
+{
+ if (pMsm->drmFD)
+#ifdef XF86_PDEV_SERVER_FD
+ if (!(pMsm->pEnt->location.type == BUS_PLATFORM &&
+ (pMsm->pEnt->location.id.plat->flags & XF86_PDEV_SERVER_FD)))
+#endif
+ drmClose(pMsm->drmFD);
+ free(pMsm);
+}
static Bool
MSMInitDRM(ScrnInfoPtr pScrn)
@@ -212,7 +223,7 @@
pScrn->progClock = TRUE;
pScrn->chipset = MSM_DRIVER_NAME;
- INFO_MSG("MSM/Qualcomm processor (video memory: %dkB)", pScrn->videoRam / 1024);
+ INFO_MSG("MSM/Qualcomm processor");
if (!MSMInitDRM(pScrn)) {
ERROR_MSG("Unable to open DRM");
@@ -236,7 +247,7 @@
pMsm->options = malloc(sizeof(MSMOptions));
if (pMsm->options == NULL) {
- free(pMsm);
+ free_msm(pMsm);
return FALSE;
}
@@ -279,18 +290,18 @@
xf86SetDpi(pScrn, 0, 0);
if (!xf86SetWeight(pScrn, defaultWeight, defaultWeight)) {
- free(pMsm);
+ free_msm(pMsm);
return FALSE;
}
/* Initialize default visual */
if (!xf86SetDefaultVisual(pScrn, -1)) {
- free(pMsm);
+ free_msm(pMsm);
return FALSE;
}
if (!xf86SetGamma(pScrn, zeros)) {
- free(pMsm);
+ free_msm(pMsm);
return FALSE;
}
@@ -545,6 +556,14 @@
}
}
+static void
+MSMFreeScreen(FREE_SCREEN_ARGS_DECL)
+{
+ SCRN_INFO_PTR(arg);
+ MSMPtr pMsm = MSMPTR(pScrn);
+ free_msm(pMsm);
+}
+
/* ------------------------------------------------------------ */
/* Following is the standard driver setup that probes for the */
/* hardware and sets up the structures. */
@@ -657,12 +676,113 @@
pScrn->SwitchMode = MSMSwitchMode;
pScrn->EnterVT = MSMEnterVT;
pScrn->LeaveVT = MSMLeaveVT;
+ pScrn->FreeScreen = MSMFreeScreen;
}
free(sections);
return foundScreen;
}
+static Bool
+MSMDriverFunc(ScrnInfoPtr scrn, xorgDriverFuncOp op, void *data)
+{
+ xorgHWFlags *flag;
+
+ switch (op) {
+ case GET_REQUIRED_HW_INTERFACES:
+ flag = (CARD32 *)data;
+ (*flag) = 0;
+ return TRUE;
+#ifdef XF86_PDEV_SERVER_FD
+ case SUPPORTS_SERVER_FDS:
+ return TRUE;
+#endif
+ default:
+ return FALSE;
+ }
+}
+
+#ifdef XSERVER_PLATFORM_BUS
+static Bool probe_hw(struct xf86_platform_device *dev)
+{
+ int fd;
+
+ /* NOTE: for kgsl we still need config file to find fbdev device,
+ * so it will always be probed through the old MSMProbe path. So
+ * only look for drm/msm here:
+ */
+
+#if XF86_PDEV_SERVER_FD
+ if (dev && (dev->flags & XF86_PDEV_SERVER_FD)) {
+ drmVersionPtr version;
+
+ fd = xf86_get_platform_device_int_attrib(dev, ODEV_ATTRIB_FD, -1);
+ if (fd == -1)
+ return FALSE;
+
+ version = drmGetVersion(fd);
+ /* make sure we have the right device: */
+ if (version && (strcmp(version->name, "msm") == 0)) {
+ drmFreeVersion(version);
+ return TRUE;
+ }
+
+ drmFreeVersion(version);
+ return FALSE;
+ }
+#endif
+
+ fd = drmOpen("msm", NULL);
+ if (fd != -1) {
+ close(fd);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static Bool
+MSMPlatformProbe(DriverPtr driver,
+ int entity_num, int flags, struct xf86_platform_device *dev,
+ intptr_t match_data)
+{
+ ScrnInfoPtr pScrn = NULL;
+ int scr_flags = 0;
+
+ /* Note: at least for now there is no point in gpu screens.. and
+ * allowing them exposes a bug in older xservers that would result
+ * in the device probed as a gpu screen rather than regular screen
+ * resulting in "No screens found".
+ *
+ * If later there is actually reason to support GPU screens, track
+ * down the first xorg ABI # that contains the fix, and make this
+ * conditional on that or later ABI versions. Otherwise you will
+ * break things for people with older xservers.
+ *
+ if (flags & PLATFORM_PROBE_GPU_SCREEN)
+ scr_flags = XF86_ALLOCATE_GPU_SCREEN;
+ */
+
+ if (probe_hw(dev)) {
+ pScrn = xf86AllocateScreen(driver, scr_flags);
+ xf86AddEntityToScreen(pScrn, entity_num);
+
+ pScrn->driverVersion = MSM_VERSION_CURRENT;
+ pScrn->driverName = MSM_NAME;
+ pScrn->name = MSM_NAME;
+ pScrn->Probe = MSMProbe;
+ pScrn->PreInit = MSMPreInit;
+ pScrn->ScreenInit = MSMScreenInit;
+ pScrn->SwitchMode = MSMSwitchMode;
+ pScrn->EnterVT = MSMEnterVT;
+ pScrn->LeaveVT = MSMLeaveVT;
+ pScrn->FreeScreen = MSMFreeScreen;
+ }
+
+ return pScrn != NULL;
+}
+#endif
+
_X_EXPORT DriverRec freedrenoDriver = {
MSM_VERSION_CURRENT,
MSM_DRIVER_NAME,
@@ -671,7 +791,12 @@
MSMAvailableOptions,
NULL,
0,
- NULL
+ MSMDriverFunc,
+ NULL,
+ NULL, /* pci_probe */
+#ifdef XSERVER_PLATFORM_BUS
+ MSMPlatformProbe,
+#endif
};
MODULESETUPPROTO(freedrenoSetup);
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package x-loader-omap3beagle for openSUSE:Factory checked in at 2014-08-29 17:43:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/x-loader-omap3beagle (Old)
and /work/SRC/openSUSE:Factory/.x-loader-omap3beagle.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "x-loader-omap3beagle"
Changes:
--------
--- /work/SRC/openSUSE:Factory/x-loader-omap3beagle/x-loader-omap3beagle.changes 2012-12-07 14:53:03.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.x-loader-omap3beagle.new/x-loader-omap3beagle.changes 2014-08-29 17:43:14.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Jul 31 14:02:58 UTC 2014 - dimstar(a)opensuse.org
+
+- Rename rpmlintrc to %{name}-rpmlintrc.
+ Follow the packaging guidelines.
+
+-------------------------------------------------------------------
Old:
----
rpmlintrc
New:
----
x-loader-omap3beagle-rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ x-loader-omap3beagle.spec ++++++
--- /var/tmp/diff_new_pack.iHn75r/_old 2014-08-29 17:43:15.000000000 +0200
+++ /var/tmp/diff_new_pack.iHn75r/_new 2014-08-29 17:43:15.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package x-loader-omap3beagle
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Texas Instruments Inc by Nishanth Menon
# Copyright (c) 2007-2010 by Silvan Calarco <silvan.calarco(a)mambasoft.it>
# Texas Instruments Inc
@@ -20,19 +20,18 @@
#
-
Name: x-loader-omap3beagle
Version: 20111109
Release: 0.0
Summary: The x-loader firmware for the omap3530beagle arm platform
+License: GPL-2.0
Group: System/Boot
Url: http://gitorious.org/x-loader/x-loader
Source: x-loader-%{version}.tar.bz2
-Source300: rpmlintrc
+Source300: x-loader-omap3beagle-rpmlintrc
Patch0: 0000-no-Werror.patch
Patch1: x-loader-omap3-return.patch
Patch2: 0001-add-ext2-support.patch
-License: GPL-2.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %arm
++++++ x-loader-omap3beagle-rpmlintrc ++++++
# This line is mandatory to access the configuration functions
from Config import *
addFilter("no-return-in-nonvoid-function")
addFilter("no-rpm-opt-flags")
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package systemd for openSUSE:Factory checked in at 2014-08-29 17:43:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2014-08-27 16:53:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2014-08-29 17:43:05.000000000 +0200
@@ -1,0 +2,28 @@
+Thu Aug 28 10:07:10 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches
+ 0001-login-fix-memory-leak-on-DropController.patch
+ 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch
+ 0003-sd-journal-properly-convert-object-size-on-big-endia.patch
+ 0004-sd-journal-verify-that-object-start-with-the-field-n.patch
+- Add upstream patch
+ 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
+ to avoid that hwdb ID's for unrecognised USB device are taken
+ from the USB hub.
+
+-------------------------------------------------------------------
+Wed Aug 27 16:01:17 UTC 2014 - werner(a)suse.de
+
+- Add upstream patches
+ 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch
+ 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch
+ 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch
+
+-------------------------------------------------------------------
+Wed Aug 27 12:52:09 UTC 2014 - werner(a)suse.de
+
+- Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to
+ use RNDADDENTROPY ioctl to load random-seed and to increase
+ entropy count as well (bnc#892096)
+
+-------------------------------------------------------------------
systemd.changes: same change
New:
----
0001-login-fix-memory-leak-on-DropController.patch
0001-systemctl-Correct-error-message-printed-when-bus_pro.patch
0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch
0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch
0003-keymap-Adjust-for-more-Samsung-900X4-series.patch
0003-sd-journal-properly-convert-object-size-on-big-endia.patch
0004-sd-journal-verify-that-object-start-with-the-field-n.patch
1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
use-rndaddentropy-ioctl-to-load-random-seed.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.q0sB47/_old 2014-08-29 17:43:12.000000000 +0200
+++ /var/tmp/diff_new_pack.q0sB47/_new 2014-08-29 17:43:12.000000000 +0200
@@ -798,6 +798,22 @@
Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch
# PATCH-FIX-UPSTREAM added at 2014/08/25
Patch385: 0008-hwdb-update.patch
+# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096)
+Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/27
+Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/27
+Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/27
+Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch390: 0001-login-fix-memory-leak-on-DropController.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch
# UDEV PATCHES
# ============
@@ -931,6 +947,8 @@
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch
Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch
+# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
+Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@@ -1475,6 +1493,14 @@
%patch383 -p0
%patch384 -p0
%patch385 -p0
+%patch386 -p1
+%patch387 -p0
+%patch388 -p0
+%patch389 -p0
+%patch390 -p0
+%patch391 -p0
+%patch392 -p0
+%patch393 -p0
# udev patches
%patch1001 -p1
@@ -1561,6 +1587,7 @@
%patch1061 -p0
%patch1062 -p1
%patch1063 -p0
+%patch1064 -p0
# remove patch backups
find -name '*.orig' -exec rm -f '{}' \+
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.q0sB47/_old 2014-08-29 17:43:12.000000000 +0200
+++ /var/tmp/diff_new_pack.q0sB47/_new 2014-08-29 17:43:12.000000000 +0200
@@ -793,6 +793,22 @@
Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch
# PATCH-FIX-UPSTREAM added at 2014/08/25
Patch385: 0008-hwdb-update.patch
+# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096)
+Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/27
+Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/27
+Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/27
+Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch390: 0001-login-fix-memory-leak-on-DropController.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch
+# PATCH-FIX-UPSTREAM added at 2014/08/28
+Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch
# UDEV PATCHES
# ============
@@ -926,6 +942,8 @@
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch
Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch
+# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
+Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@@ -1470,6 +1488,14 @@
%patch383 -p0
%patch384 -p0
%patch385 -p0
+%patch386 -p1
+%patch387 -p0
+%patch388 -p0
+%patch389 -p0
+%patch390 -p0
+%patch391 -p0
+%patch392 -p0
+%patch393 -p0
# udev patches
%patch1001 -p1
@@ -1556,6 +1582,7 @@
%patch1061 -p0
%patch1062 -p1
%patch1063 -p0
+%patch1064 -p0
# remove patch backups
find -name '*.orig' -exec rm -f '{}' \+
++++++ 0001-login-fix-memory-leak-on-DropController.patch ++++++
>From 60240797a4ce464ec7a0537ccbec4c83f599251c Mon Sep 17 00:00:00 2001
From: David Herrmann <dh.herrmann(a)gmail.com>
Date: Fri, 22 Aug 2014 14:57:11 +0200
Subject: [PATCH] login: fix memory-leak on DropController()
Our bus-name watch helpers only remove a bus-name if it's not a
controller, anymore. If we call manager_drop_busname() before
unregistering the controller, the busname will not be dropped. Therefore,
first drop the controller, then drop the bus-name.
---
src/login/logind-session.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git src/login/logind-session.c src/login/logind-session.c
index 136bbce..0c6e425 100644
--- src/login/logind-session.c
+++ src/login/logind-session.c
@@ -1061,11 +1061,13 @@ bool session_is_controller(Session *s, const char *sender) {
static void session_swap_controller(Session *s, char *name) {
SessionDevice *sd;
+ char *c;
if (s->controller) {
- manager_drop_busname(s->manager, s->controller);
- free(s->controller);
+ c = s->controller;
s->controller = NULL;
+ manager_drop_busname(s->manager, c);
+ free(c);
/* Drop all devices as they're now unused. Do that after the
* controller is released to avoid sending out useles
--
1.7.9.2
++++++ 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch ++++++
>From 498cfc230af8f83675be2e92057956f1792969e4 Mon Sep 17 00:00:00 2001
From: Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
Date: Sat, 23 Aug 2014 21:11:44 +0200
Subject: [PATCH] systemctl: Correct error message printed when
bus_process_wait fails
Actually use the variable containing the return code of bus_process_wait when
printing the error message as a result of it failing.
---
src/systemctl/systemctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c
index d9b8bee..6534819 100644
--- src/systemctl/systemctl.c
+++ src/systemctl/systemctl.c
@@ -2382,7 +2382,7 @@ static int wait_for_jobs(sd_bus *bus, Set *s) {
while (!set_isempty(s)) {
q = bus_process_wait(bus);
if (q < 0) {
- log_error("Failed to wait for response: %s", strerror(-r));
+ log_error("Failed to wait for response: %s", strerror(-q));
return q;
}
--
1.7.9.2
++++++ 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch ++++++
>From 66f311206e908a5b6f21e66fad73e1e5ea3e31d6 Mon Sep 17 00:00:00 2001
From: Ivan Shapovalov <intelfx100(a)gmail.com>
Date: Wed, 27 Aug 2014 00:17:43 +0400
Subject: [PATCH] units: order systemd-fsck@.service after
local-fs-pre.target.
With this change, it becomes possible to order a unit to activate before any
modifications to the file systems. This is especially useful for supporting
resume from hibernation.
---
units/systemd-fsck@.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git units/systemd-fsck@.service.in units/systemd-fsck@.service.in
index c12efa8..d2cda6a 100644
--- units/systemd-fsck@.service.in
+++ units/systemd-fsck@.service.in
@@ -10,7 +10,7 @@ Description=File System Check on %f
Documentation=man:systemd-fsck@.service(8)
DefaultDependencies=no
BindsTo=%i.device
-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service
+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service local-fs-pre.target
Before=shutdown.target
[Service]
--
1.7.9.2
++++++ 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch ++++++
Based on 8a7c93d858c342744adf481565d8bb03b9713dcf Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Wed, 27 Aug 2014 21:42:20 +0200
Subject: [PATCH] util: fix minimal race where we might miss SIGTERMs when
forking off an agent
Before forking, block all signals, and unblock them afterwards. This way
the child will have them blocked, and we won't lose them.
---
src/shared/util.c | 39 ++++++++++++++++++++++++++++++++++-----
1 file changed, 34 insertions(+), 5 deletions(-)
--- src/shared/util.c
+++ src/shared/util.c 2014-08-28 10:32:06.442693437 +0000
@@ -894,6 +894,18 @@ int reset_all_signal_handlers(void) {
return 0;
}
+static int reset_signal_mask(void) {
+ sigset_t ss;
+
+ if (sigemptyset(&ss) < 0)
+ return -errno;
+
+ if (sigprocmask(SIG_SETMASK, &ss, NULL) < 0)
+ return -errno;
+
+ return 0;
+}
+
char *strstrip(char *s) {
char *e;
@@ -5119,9 +5131,9 @@ int fd_inc_rcvbuf(int fd, size_t n) {
}
int fork_agent(pid_t *pid, const int except[], unsigned n_except, const char *path, ...) {
- pid_t parent_pid, agent_pid;
- int fd;
bool stdout_is_tty, stderr_is_tty;
+ pid_t parent_pid, agent_pid;
+ sigset_t ss, saved_ss;
unsigned n, i;
va_list ap;
char **l;
@@ -5129,16 +5141,25 @@ int fork_agent(pid_t *pid, const int exc
assert(pid);
assert(path);
- parent_pid = getpid();
-
/* Spawns a temporary TTY agent, making sure it goes away when
* we go away */
+ parent_pid = getpid();
+
+ /* First we temporarily block all signals, so that the new
+ * child has them blocked initially. This way, we can be sure
+ * that SIGTERMs are not lost we might send to the agent. */
+ assert_se(sigfillset(&ss) >= 0);
+ assert_se(sigprocmask(SIG_SETMASK, &ss, &saved_ss) >= 0);
+
agent_pid = fork();
- if (agent_pid < 0)
+ if (agent_pid < 0) {
+ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0);
return -errno;
+ }
if (agent_pid != 0) {
+ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0);
*pid = agent_pid;
return 0;
}
@@ -5149,6 +5170,12 @@ int fork_agent(pid_t *pid, const int exc
if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0)
_exit(EXIT_FAILURE);
+ /* Make sure we actually can kill the agent, if we need to, in
+ * case somebody invoked us from a shell script that trapped
+ * SIGTERM or so... */
+ reset_all_signal_handlers();
+ reset_signal_mask();
+
/* Check whether our parent died before we were able
* to set the death signal */
if (getppid() != parent_pid)
@@ -5161,6 +5188,8 @@ int fork_agent(pid_t *pid, const int exc
stderr_is_tty = isatty(STDERR_FILENO);
if (!stdout_is_tty || !stderr_is_tty) {
+ int fd;
+
/* Detach from stdout/stderr. and reopen
* /dev/tty for them. This is important to
* ensure that when systemctl is started via
++++++ 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch ++++++
>From e512e8a255ef29d5a8eb605f8849202ea3d3e4cb Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt(a)ubuntu.com>
Date: Wed, 27 Aug 2014 08:41:10 +0200
Subject: [PATCH] keymap: Adjust for more Samsung 900X4 series
Reportedly also applies to NP900X4B, so relax the match to apply to all models
of this series.
https://launchpad.net/bugs/902332
---
hwdb/60-keyboard.hwdb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb
index ef0ebc5..0ffcb83 100644
--- hwdb/60-keyboard.hwdb
+++ hwdb/60-keyboard.hwdb
@@ -939,7 +939,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr*
# Series 7 / 9
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr*
-keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr*
+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_a0=!mute # Fn+F6 mute
--
1.7.9.2
++++++ 0003-sd-journal-properly-convert-object-size-on-big-endia.patch ++++++
>From 57cd09acf2c63a414aa2131c00a2b3f600eb0133 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek(a)in.waw.pl>
Date: Sat, 23 Aug 2014 22:35:03 -0400
Subject: [PATCH] sd-journal: properly convert object->size on big endian
mmap code crashes when attempting to map an object of zero size.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758392
https://bugs.freedesktop.org/show_bug.cgi?id=82894
---
src/journal/journal-file.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git src/journal/journal-file.h src/journal/journal-file.h
index 3d41682..da2ef3b 100644
--- src/journal/journal-file.h
+++ src/journal/journal-file.h
@@ -214,14 +214,15 @@ static unsigned type_to_context(int type) {
static inline int journal_file_object_keep(JournalFile *f, Object *o, uint64_t offset) {
unsigned context = type_to_context(o->object.type);
+ uint64_t s = le64toh(o->object.size);
return mmap_cache_get(f->mmap, f->fd, f->prot, context, true,
- offset, o->object.size, &f->last_stat, NULL);
+ offset, s, &f->last_stat, NULL);
}
static inline int journal_file_object_release(JournalFile *f, Object *o, uint64_t offset) {
unsigned context = type_to_context(o->object.type);
+ uint64_t s = le64toh(o->object.size);
- return mmap_cache_release(f->mmap, f->fd, f->prot, context,
- offset, o->object.size);
+ return mmap_cache_release(f->mmap, f->fd, f->prot, context, offset, s);
}
--
1.7.9.2
++++++ 0004-sd-journal-verify-that-object-start-with-the-field-n.patch ++++++
Based on 0f99f74a14ef193c1ebde687c5cc76e1d67b85ef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek(a)in.waw.pl>
Date: Tue, 26 Aug 2014 23:54:31 -0400
Subject: [PATCH] sd-journal: verify that object start with the field name
If the journal is corrupted, we might return an object that does
not start with the expected field name and/or is shorter than it
should.
---
src/journal/sd-journal.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git src/journal/sd-journal.c src/journal/sd-journal.c
index 80ff8fe..693707c 100644
--- src/journal/sd-journal.c
+++ src/journal/sd-journal.c
@@ -2571,6 +2571,21 @@ _public_ int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_
if (r < 0)
return r;
+ /* Check if we have at least the field name and "=". */
+ if (ol <= k) {
+ log_debug("%s:offset " OFSfmt ": object has size %zu, expected at least %zu",
+ j->unique_file->path, j->unique_offset,
+ ol, k + 1);
+ return -EBADMSG;
+ }
+
+ if (memcmp(odata, j->unique_field, k) || ((const char*) odata)[k] != '=') {
+ log_debug("%s:offset " OFSfmt ": object does not start with \"%s=\"",
+ j->unique_file->path, j->unique_offset,
+ j->unique_field);
+ return -EBADMSG;
+ }
+
/* OK, now let's see if we already returned this data
* object by checking if it exists in the earlier
* traversed files. */
--
1.7.9.2
++++++ 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch ++++++
>From 77cf759ea05bea476cdcb8d0dcd04c4e6fb3b2ff Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay(a)vrfy.org>
Date: Tue, 26 Aug 2014 18:27:36 +0200
Subject: [PATCH] udev: hwdb - do not look at "usb_device" parents
Based on a patch from Simon McVittie <simon.mcvittie(a)collabora.co.uk>.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758050
---
src/udev/udev-builtin-hwdb.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git src/udev/udev-builtin-hwdb.c src/udev/udev-builtin-hwdb.c
index cac97e7..695a31a 100644
--- src/udev/udev-builtin-hwdb.c
+++ src/udev/udev-builtin-hwdb.c
@@ -88,9 +88,10 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device
const char *filter, bool test) {
struct udev_device *d;
char s[16];
- int n = 0;
+ bool last = false;
+ int r = 0;
- for (d = srcdev; d; d = udev_device_get_parent(d)) {
+ for (d = srcdev; d && !last; d = udev_device_get_parent(d)) {
const char *dsubsys;
const char *modalias = NULL;
@@ -104,19 +105,24 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device
modalias = udev_device_get_property_value(d, "MODALIAS");
- /* the usb_device does not have a modalias, compose one */
- if (!modalias && streq(dsubsys, "usb"))
- modalias = modalias_usb(d, s, sizeof(s));
+ if (streq(dsubsys, "usb") && streq_ptr(udev_device_get_devtype(d), "usb_device")) {
+ /* if the usb_device does not have a modalias, compose one */
+ if (!modalias)
+ modalias = modalias_usb(d, s, sizeof(s));
+
+ /* avoid looking at any parent device, they are usually just a USB hub */
+ last = true;
+ }
if (!modalias)
continue;
- n = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test);
- if (n > 0)
+ r = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test);
+ if (r > 0)
break;
}
- return n;
+ return r;
}
static int builtin_hwdb(struct udev_device *dev, int argc, char *argv[], bool test) {
--
1.7.9.2
++++++ use-rndaddentropy-ioctl-to-load-random-seed.patch ++++++
Simply writing /var/lib/systemd/random-seed back to /dev/(u)random does not
increase the entropy bit count. Therefore use the RNDADDENTROPY ioctl to
write back the bytes and increase the entropy bit counter.
Related to bnc#892096
---
systemd-210/src/random-seed/random-seed.c | 66 +++++++++++++++++++++++++++---
1 file changed, 61 insertions(+), 5 deletions(-)
--- systemd-210/src/random-seed/random-seed.c
+++ systemd-210/src/random-seed/random-seed.c 2014-08-27 11:58:59.022526580 +0000
@@ -22,7 +22,9 @@
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
+#include <linux/random.h>
#include <string.h>
+#include <sys/ioctl.h>
#include <sys/stat.h>
#include "log.h"
@@ -32,8 +34,9 @@
#define POOL_SIZE_MIN 512
int main(int argc, char *argv[]) {
- _cleanup_close_ int seed_fd = -1, random_fd = -1;
+ _cleanup_close_ int seed_fd = -1, random_fd = -1, entropy_fd = -1;
_cleanup_free_ void* buf = NULL;
+ size_t entropy_count = 0;
size_t buf_size = 0;
ssize_t k;
int r;
@@ -82,6 +85,23 @@ int main(int argc, char *argv[]) {
if (streq(argv[1], "load")) {
+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600);
+ if (entropy_fd < 0) {
+ entropy_count = 0;
+ if (errno != ENOENT) {
+ log_error("Failed to open " RANDOM_SEED "/entropy_count: %m");
+ r = -errno;
+ goto finish;
+ }
+ } else {
+ r = read(entropy_fd, &entropy_count, sizeof(entropy_count));
+ if (r < 0) {
+ log_error("Failed to read entropy count file: %m");
+ r = -errno;
+ goto finish;
+ }
+ }
+
seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600);
if (seed_fd < 0) {
seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY);
@@ -113,16 +133,37 @@ int main(int argc, char *argv[]) {
} else {
lseek(seed_fd, 0, SEEK_SET);
- k = loop_write(random_fd, buf, (size_t) k, false);
- if (k <= 0) {
- log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write");
+ if (entropy_count && (size_t) k == buf_size) {
+ struct rand_pool_info entropy = {
+ .entropy_count = entropy_count,
+ .buf_size = buf_size,
+ };
+ entropy.buf[0] = ((__u32*)buf)[0];
+ r = ioctl(random_fd, RNDADDENTROPY, &entropy);
+ if (r < 0) {
+ log_error("Failed to write seed to /dev/urandom: %m");
+ r = -errno;
+ }
+ } else {
+ k = loop_write(random_fd, buf, (size_t) k, false);
+ if (k <= 0) {
+ log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write");
- r = k == 0 ? -EIO : (int) k;
+ r = k == 0 ? -EIO : (int) k;
+ }
}
}
} else if (streq(argv[1], "save")) {
+ /* Read available entropy count, if possible */
+ f = fopen("/proc/sys/kernel/random/entropy_avail", "re");
+ if (f) {
+ if (fscanf(f, "%zu", &entropy_count) < 0)
+ entropy_count = 0;
+ fclose(f);
+ }
+
seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600);
if (seed_fd < 0) {
log_error("Failed to open " RANDOM_SEED ": %m");
@@ -137,6 +178,21 @@ int main(int argc, char *argv[]) {
goto finish;
}
+ if (entropy_count) {
+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600);
+ if (seed_fd < 0) {
+ log_error("Failed to open " RANDOM_SEED_DIR "entropy_count: %m");
+ r = -errno;
+ goto finish;
+ }
+ r = write(entropy_fd, &entropy_count, sizeof(entropy_count));
+ if (r < 0) {
+ log_error("Failed to write entropy count file: %m");
+ r = -errno;
+ goto finish;
+ }
+ }
+
} else {
log_error("Unknown verb %s.", argv[1]);
r = -EINVAL;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-update for openSUSE:Factory checked in at 2014-08-29 17:42:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-update (Old)
and /work/SRC/openSUSE:Factory/.yast2-update.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-update"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-update/yast2-update.changes 2014-07-30 07:34:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-update.new/yast2-update.changes 2014-08-29 17:43:02.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Aug 28 09:11:15 UTC 2014 - lslezak(a)suse.cz
+
+- override the target distribution also in Autoyast autoupgrade
+ mode (bnc#892474)
+- 3.1.22
+
+-------------------------------------------------------------------
Old:
----
yast2-update-3.1.21.tar.bz2
New:
----
yast2-update-3.1.22.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-update.spec ++++++
--- /var/tmp/diff_new_pack.NsQA2F/_old 2014-08-29 17:43:04.000000000 +0200
+++ /var/tmp/diff_new_pack.NsQA2F/_new 2014-08-29 17:43:04.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-update
-Version: 3.1.21
+Version: 3.1.22
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-update-3.1.21.tar.bz2 -> yast2-update-3.1.22.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.21/package/yast2-update.changes new/yast2-update-3.1.22/package/yast2-update.changes
--- old/yast2-update-3.1.21/package/yast2-update.changes 2014-07-29 10:23:44.000000000 +0200
+++ new/yast2-update-3.1.22/package/yast2-update.changes 2014-08-28 11:23:08.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Thu Aug 28 09:11:15 UTC 2014 - lslezak(a)suse.cz
+
+- override the target distribution also in Autoyast autoupgrade
+ mode (bnc#892474)
+- 3.1.22
+
+-------------------------------------------------------------------
Mon Jul 28 14:12:31 UTC 2014 - lslezak(a)suse.cz
- backup /var/lib/rpm at update to prevent from accidental
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.21/package/yast2-update.spec new/yast2-update-3.1.22/package/yast2-update.spec
--- old/yast2-update-3.1.21/package/yast2-update.spec 2014-07-29 10:23:44.000000000 +0200
+++ new/yast2-update-3.1.22/package/yast2-update.spec 2014-08-28 11:23:08.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-update
-Version: 3.1.21
+Version: 3.1.22
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-update-3.1.21/src/clients/inst_update_partition_auto.rb new/yast2-update-3.1.22/src/clients/inst_update_partition_auto.rb
--- old/yast2-update-3.1.21/src/clients/inst_update_partition_auto.rb 2014-07-29 10:23:44.000000000 +0200
+++ new/yast2-update-3.1.22/src/clients/inst_update_partition_auto.rb 2014-08-28 11:23:08.000000000 +0200
@@ -84,7 +84,8 @@
_("A possibly incomplete installation has been detected.")
)
UmountMountedPartition()
- elsif !(Pkg.TargetInitialize(Installation.destdir) && Pkg.TargetLoad)
+ elsif !(Pkg.TargetInitializeOptions(Installation.destdir,
+ "target_distro" => target_distribution) && Pkg.TargetLoad)
Report.Error("Initializing the target system failed")
UmountMountedPartition()
Pkg.TargetFinish
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
29 Aug '14
Hello community,
here is the log from the commit of package yast2-installation-control for openSUSE:Factory checked in at 2014-08-29 17:42:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-installation-control (Old)
and /work/SRC/openSUSE:Factory/.yast2-installation-control.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation-control"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-installation-control/yast2-installation-control.changes 2014-06-25 21:19:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-installation-control.new/yast2-installation-control.changes 2014-08-29 17:42:59.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Aug 28 09:45:07 CEST 2014 - locilka(a)suse.com
+
+- Element 'packages' in 'one_supported_desktop' has been made
+ optional as it's not required by the handling code (bnc#864298)
+- 3.1.10
+
+-------------------------------------------------------------------
Old:
----
yast2-installation-control-3.1.9.tar.bz2
New:
----
yast2-installation-control-3.1.10.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-installation-control.spec ++++++
--- /var/tmp/diff_new_pack.x74FKz/_old 2014-08-29 17:43:01.000000000 +0200
+++ /var/tmp/diff_new_pack.x74FKz/_new 2014-08-29 17:43:01.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-installation-control
-Version: 3.1.9
+Version: 3.1.10
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-installation-control-3.1.9.tar.bz2 -> yast2-installation-control-3.1.10.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-control-3.1.9/control/control.rnc new/yast2-installation-control-3.1.10/control/control.rnc
--- old/yast2-installation-control-3.1.9/control/control.rnc 2014-06-24 16:12:24.000000000 +0200
+++ new/yast2-installation-control-3.1.10/control/control.rnc 2014-08-28 09:52:06.000000000 +0200
@@ -331,7 +331,7 @@
element label_id { text }? &
element logon { text } &
element cursor { text } &
- element packages { text } &
+ element packages { text }? &
element order { INTEGER }? &
element patterns { text } &
element icon { text }? &
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-control-3.1.9/control/control.rng new/yast2-installation-control-3.1.10/control/control.rng
--- old/yast2-installation-control-3.1.9/control/control.rng 2014-06-24 16:12:24.000000000 +0200
+++ new/yast2-installation-control-3.1.10/control/control.rng 2014-08-28 09:52:06.000000000 +0200
@@ -668,9 +668,11 @@
<element name="cursor">
<text/>
</element>
- <element name="packages">
- <text/>
- </element>
+ <optional>
+ <element name="packages">
+ <text/>
+ </element>
+ </optional>
<optional>
<element name="order">
<ref name="INTEGER"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-control-3.1.9/package/yast2-installation-control.changes new/yast2-installation-control-3.1.10/package/yast2-installation-control.changes
--- old/yast2-installation-control-3.1.9/package/yast2-installation-control.changes 2014-06-24 16:12:24.000000000 +0200
+++ new/yast2-installation-control-3.1.10/package/yast2-installation-control.changes 2014-08-28 09:52:06.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Thu Aug 28 09:45:07 CEST 2014 - locilka(a)suse.com
+
+- Element 'packages' in 'one_supported_desktop' has been made
+ optional as it's not required by the handling code (bnc#864298)
+- 3.1.10
+
+-------------------------------------------------------------------
Tue Jun 24 13:30:02 UTC 2014 - jreidinger(a)suse.com
- add elemenent to set default for os_probing per product
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-control-3.1.9/package/yast2-installation-control.spec new/yast2-installation-control-3.1.10/package/yast2-installation-control.spec
--- old/yast2-installation-control-3.1.9/package/yast2-installation-control.spec 2014-06-24 16:12:24.000000000 +0200
+++ new/yast2-installation-control-3.1.10/package/yast2-installation-control.spec 2014-08-28 09:52:06.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-installation-control
-Version: 3.1.9
+Version: 3.1.10
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package swig for openSUSE:Factory checked in at 2014-08-29 17:42:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/swig (Old)
and /work/SRC/openSUSE:Factory/.swig.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "swig"
Changes:
--------
--- /work/SRC/openSUSE:Factory/swig/swig.changes 2014-06-19 13:20:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.swig.new/swig.changes 2014-08-29 17:42:56.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Aug 25 14:17:29 CEST 2014 - mls(a)suse.de
+
+- support nested classes in ruby [bnc#892480]
+ new patch: nested_classes.diff
+
+-------------------------------------------------------------------
New:
----
nested_classes.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ swig.spec ++++++
--- /var/tmp/diff_new_pack.UUFuHd/_old 2014-08-29 17:42:59.000000000 +0200
+++ /var/tmp/diff_new_pack.UUFuHd/_new 2014-08-29 17:42:59.000000000 +0200
@@ -25,6 +25,7 @@
Url: http://www.swig.org/
Source: http://sourceforge.net/projects/swig/files/swig/%{name}-%{version}/%{name}-…
Source1: %{name}.rpmlintrc
+Patch: nested_classes.diff
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: boost-devel
@@ -119,6 +120,7 @@
%prep
%setup -q
+%patch
%build
%configure --disable-ccache
++++++ nested_classes.diff ++++++
--- ./Source/CParse/parser.c.orig 2014-08-26 12:24:53.381788068 +0000
+++ ./Source/CParse/parser.c 2014-08-26 12:36:45.700287073 +0000
@@ -1065,7 +1065,7 @@ static Node *nested_forward_declaration(
}
}
- if (!GetFlag(currentOuterClass, "nested")) {
+ if (!currentOuterClass || !GetFlag(currentOuterClass, "nested")) {
if (nn && Equal(nodeType(nn), "classforward")) {
Node *n = nn;
SWIG_WARN_NODE_BEGIN(n);
@@ -7562,6 +7562,8 @@ yyreduce:
} else if (nscope_inner) {
/* this is tricky */
/* we add the declaration in the original namespace */
+ if (Strcmp(nodeType(nscope_inner), "class") == 0 && cparse_cplusplus && ignore_nested_classes && !GetFlag((yyval.node), "feature:flatnested"))
+ (yyval.node) = nested_forward_declaration((yyvsp[(1) - (9)].id), (yyvsp[(2) - (9)].id), (yyvsp[(3) - (9)].str), Copy((yyvsp[(3) - (9)].str)), (yyvsp[(9) - (9)].node));
appendChild(nscope_inner, (yyval.node));
Swig_symbol_setscope(Getattr(nscope_inner, "symtab"));
Delete(Namespaceprefix);
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0