Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
On 2014-04-11 04:45, Wookey wrote: Package: pkg-kde-tools Version: 0.15.13 Severity: important Tags: patch User: debian-...@lists.debian.org Usertag: arm64 SymbolsHelper needs to know about the new 64-bit architecture arm64 in order for any package that uses the (subst) Symbols file functionality to be buildable. This patch fixes that. Please follow my instructions in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656380#21 This will give us a better idea on the various type manglings on arm64. Thanks, -- Pino Toscano -- To UNSUBSCRIBE, email to debian-qt-kde-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/d83484df46f525f4d456044c1aba0...@pino.toscano.name
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
¡Hola Wookey! El 2014-04-11 a las 23:29 +0100, Wookey escribió: I read here: https://lists.debian.org/debian-68k/2013/11/msg00012.html that in QT5 qreal is a double on armhf, but on QT4 it's a float (and it's float on both for armel). Can this helper know which it is doing and DTRT? If not which should be the default? Lisandro's message seems to suggest the former (and the the armhf stuff would be taken care of with extra symbols lines, not (subst) lines). That's for qt5, right, we would need to deal with qt4 and qt5 differently. If someone can confirm which to use I'd like to have an upload with this patch in forthwith. I'm happy to do that as an MNU - complain if that's not OK. You are, of course, welcome to come aboard and upload the change a part of the team. -- A computer program does what you tell it to do, not what you want it to do. -- Greer's Law Saludos /\/\ /\ `/ -- To UNSUBSCRIBE, email to debian-qt-kde-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140412080735.ge32...@gnuservers.com.ar
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
On Saturday 12 April 2014 10:07:35 Maximiliano Curia wrote: ¡Hola Wookey! El 2014-04-11 a las 23:29 +0100, Wookey escribió: I read here: https://lists.debian.org/debian-68k/2013/11/msg00012.html that in QT5 qreal is a double on armhf, but on QT4 it's a float (and it's float on both for armel). Can this helper know which it is doing and DTRT? If not which should be the default? There is simply no need for the helper to know the right substitution because you should not have symbols from Qt4 and Qt5 in the same symbols file. The substitutions are rarely added by hand on symbols, they are simply detected by the helper when two different archs' build logs differ, as it's the case for Qt4. In Qt5 there will be no symbols mismatch between archs for qreal, so no substitution will be added and no further action is needed. Hope that helps. Lisandro. -- La mejor prueba de que la navegación en el tiempo no es posible, es el hecho de no haber sido invadidos por masas de turistas provenientes del futuro. Stephen Hawking Lisandro Damián Nicanor Pérez Meyer http://perezmeyer.com.ar/ http://perezmeyer.blogspot.com/ signature.asc Description: This is a digitally signed message part.
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
+++ Pino Toscano [2014-04-12 09:13 +0200]: On 2014-04-11 04:45, Wookey wrote: Package: pkg-kde-tools Version: 0.15.13 Severity: important Tags: patch User: debian-...@lists.debian.org Usertag: arm64 SymbolsHelper needs to know about the new 64-bit architecture arm64 in order for any package that uses the (subst) Symbols file functionality to be buildable. This patch fixes that. Please follow my instructions in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656380#21 This will give us a better idea on the various type manglings on arm64. OK. Done that: readelf -a manglingtest | grep _type 84: 0040076820 FUNCGLOBAL DEFAULT 13 _Z14f_int64_t_typel 85: 004007b820 FUNCGLOBAL DEFAULT 13 _Z12f_qreal_typed 90: 0040074020 FUNCGLOBAL DEFAULT 13 _Z13f_size_t_typem 95: 004007a420 FUNCGLOBAL DEFAULT 13 _Z15f_quintptr_typey 108: 0040079020 FUNCGLOBAL DEFAULT 13 _Z15f_qptrdiff_typex 109: 0040075420 FUNCGLOBAL DEFAULT 13 _Z14f_ssize_t_typel 111: 0040077c20 FUNCGLOBAL DEFAULT 13 _Z15f_uint64_t_typem Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ -- To UNSUBSCRIBE, email to debian-qt-kde-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140413020952.gl15...@stoneboat.aleph1.co.uk
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
+++ Lisandro Damián Nicanor Pérez Meyer [2014-04-12 10:41 -0300]: On Saturday 12 April 2014 10:07:35 Maximiliano Curia wrote: ¡Hola Wookey! El 2014-04-11 a las 23:29 +0100, Wookey escribió: I read here: https://lists.debian.org/debian-68k/2013/11/msg00012.html that in QT5 qreal is a double on armhf, but on QT4 it's a float (and it's float on both for armel). Can this helper know which it is doing and DTRT? If not which should be the default? There is simply no need for the helper to know the right substitution because you should not have symbols from Qt4 and Qt5 in the same symbols file. I don't understand this part. Yes, we are not mixing the QT versions, but won't the same pkg-kde-tools helper be used whichever library is in use so it need to hand outthe right answers depending which library is being linked. Or do I misunderstand how this this is used? The substitutions are rarely added by hand on symbols, they are simply detected by the helper when two different archs' build logs differ, as it's the case for Qt4. In Qt5 there will be no symbols mismatch between archs for qreal, so no substitution will be added and no further action is needed. I thought that armel and armhf were going to be different (from each other). Did that change so everything uses double? (even sh4?) Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ -- To UNSUBSCRIBE, email to debian-qt-kde-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140413021419.gm15...@stoneboat.aleph1.co.uk
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
On Sunday 13 April 2014 03:14:19 Wookey wrote: +++ Lisandro Damián Nicanor Pérez Meyer [2014-04-12 10:41 -0300]: On Saturday 12 April 2014 10:07:35 Maximiliano Curia wrote: ¡Hola Wookey! El 2014-04-11 a las 23:29 +0100, Wookey escribió: I read here: https://lists.debian.org/debian-68k/2013/11/msg00012.html that in QT5 qreal is a double on armhf, but on QT4 it's a float (and it's float on both for armel). Can this helper know which it is doing and DTRT? If not which should be the default? There is simply no need for the helper to know the right substitution because you should not have symbols from Qt4 and Qt5 in the same symbols file. I don't understand this part. Yes, we are not mixing the QT versions, but won't the same pkg-kde-tools helper be used whichever library is in use so it need to hand outthe right answers depending which library is being linked. Or do I misunderstand how this this is used? Yes, pkg-kde-tools helper will be used, but it will be put in action only: - If the symbols for at least two archs differ, which should not happen with qreal being double everywhere in Qt5 (it will work for other stuff, but there are no changes for anything else but qreal) - If there is a substitution in the symbols file, which should not happen for qreal with Qt5. Else it would be a bug. The substitutions are rarely added by hand on symbols, they are simply detected by the helper when two different archs' build logs differ, as it's the case for Qt4. In Qt5 there will be no symbols mismatch between archs for qreal, so no substitution will be added and no further action is needed. I thought that armel and armhf were going to be different (from each other). Did that change so everything uses double? (even sh4?) In Qt5 qreal == double on all archs. -- Cuando tenga duda, utilice la solución mas simple. Principio de William Occam, también llamado la navaja de Occam Lisandro Damián Nicanor Pérez Meyer http://perezmeyer.com.ar/ http://perezmeyer.blogspot.com/ signature.asc Description: This is a digitally signed message part.
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
In article 20140411024540.25679.92521.reportbug__44887.6658724204$1397184506$gmane$o...@stoneboat.aleph1.co.uk you wrote: This patch is very dim. I feel that one should be able to at least move this test into one place instead of having 6 instances to update. But I started messing with that and it simply made me forget to file at least this basic, working verison. diff -Nru pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm pkg-kde-tools-0.15.13+arm64/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm --- pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm 2014-02-23 12:09:30.0 + +++ pkg-kde-tools-0.15.13+arm64/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm 2014-04-06 01:42:19.0 + @@ -161,7 +161,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? m : j; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? m : j; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::ssize_t; @@ -294,7 +294,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /(arm|sh4)/) ? 'f' : 'd'; +return ($arch =~ /(arm|armel|armhf|sh4)/) ? 'f' : 'd'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst; Most of the changes in the patch change non anchored regexps to anchored ones to match the full arch name except the last one, that seems to be matching arm64, while it shouldn't, right? Happy hacking, -- The sooner you start to code, the longer the program will take. -- Roy Carlson Saludos /\/\ /\ `/ signature.asc Description: Digital signature
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
+++ Maximiliano Curia [2014-04-11 09:32 +0200]: In article 20140411024540.25679.92521.reportbug__44887.6658724204$1397184506$gmane$o...@stoneboat.aleph1.co.uk you wrote: -return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? m : j; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? m : j; -return ($arch =~ /(arm|sh4)/) ? 'f' : 'd'; +return ($arch =~ /(arm|armel|armhf|sh4)/) ? 'f' : 'd'; Most of the changes in the patch change non anchored regexps to anchored ones to match the full arch name except the last one, that seems to be matching arm64, while it shouldn't, right? Doh. Well spotted. Thank you. That was indeed the problem. Changing it to /^(arm|armel|armhf|sh4)$/) fixes the phonon build. But in fact that 'arm' is pointless as the 'arm' architecture is long-dead in debian. So /^(armel|armhf|sh4)$/) is a better regexp. However there is one more thing to consider: It's not clear to me whether that last regexp should be: /^(armel|armhf|sh4)$/) or /^(armel|sh4)$/) I read here: https://lists.debian.org/debian-68k/2013/11/msg00012.html that in QT5 qreal is a double on armhf, but on QT4 it's a float (and it's float on both for armel). Can this helper know which it is doing and DTRT? If not which should be the default? Lisandro's message seems to suggest the former (and the the armhf stuff would be taken care of with extra symbols lines, not (subst) lines). If someone can confirm which to use I'd like to have an upload with this patch in forthwith. I'm happy to do that as an MNU - complain if that's not OK. Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ diff -Nru pkg-kde-tools-0.15.13/debian/changelog pkg-kde-tools-0.15.13+arm64.1/debian/changelog --- pkg-kde-tools-0.15.13/debian/changelog 2014-02-23 12:09:30.0 + +++ pkg-kde-tools-0.15.13+arm64.1/debian/changelog 2014-04-11 19:22:51.0 + @@ -1,3 +1,17 @@ +pkg-kde-tools (0.15.13+arm64.1) unreleased; urgency=low + + * Non-maintainer upload. + * Fix last check pattern to only match whole arch names, like the rest + + -- Wookey woo...@wookware.org Fri, 11 Apr 2014 19:19:39 + + +pkg-kde-tools (0.15.13+arm64) unreleased; urgency=low + + * Non-maintainer upload. + * Add arm64 and ppc64el (and armel/armhf) support to SymbolsHelper substitutions + + -- Wookey woo...@wookware.org Sun, 06 Apr 2014 01:31:56 + + pkg-kde-tools (0.15.13) unstable; urgency=medium [ Maximiliano Curia ] diff -Nru pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm pkg-kde-tools-0.15.13+arm64.1/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm --- pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm 2014-02-23 12:09:30.0 + +++ pkg-kde-tools-0.15.13+arm64.1/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm 2014-04-11 22:21:56.0 + @@ -161,7 +161,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? m : j; +return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? m : j; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::ssize_t; @@ -180,7 +180,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'i'; +return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'i'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::int64_t; @@ -199,7 +199,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'x'; +return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'x'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::uint64_t; @@ -218,7 +218,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'm' : 'y'; +return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'm' : 'y'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::qptrdiff; @@ -237,7 +237,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'x' : 'i'; +return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'x' : 'i'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::quintptr; @@ -256,7 +256,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'y' : 'j'; +return ($arch =~ /^(amd64|ia64|alpha|s390x|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'y' : 'j'; } package
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
Package: pkg-kde-tools Version: 0.15.13 Severity: important Tags: patch User: debian-...@lists.debian.org Usertag: arm64 SymbolsHelper needs to know about the new 64-bit architecture arm64 in order for any package that uses the (subst) Symbols file functionality to be buildable. This patch fixes that. This patch is very dim. I feel that one should be able to at least move this test into one place instead of having 6 instances to update. But I started messing with that and it simply made me forget to file at least this basic, working verison. Would it not be possible to use dpkg-architecture DEB_HOST_ARCH_BITS to get a generic test? If it doesn't need to work in non-debian situations that seems like a good solution? -- System Information: Debian Release: 7.4 APT prefers stable APT policy: (990, 'stable') Architecture: i386 (i686) Kernel: Linux 3.2.0-kvm-i386-20110111 (SMP w/1 CPU core) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash diff -Nru pkg-kde-tools-0.15.13/debian/changelog pkg-kde-tools-0.15.13+arm64/debian/changelog --- pkg-kde-tools-0.15.13/debian/changelog 2014-02-23 12:09:30.0 + +++ pkg-kde-tools-0.15.13+arm64/debian/changelog 2014-04-06 01:44:56.0 + @@ -1,3 +1,10 @@ +pkg-kde-tools (0.15.13+arm64) unreleased; urgency=low + + * Non-maintainer upload. + * Add arm64 and ppc64el (and armel/armhf) support to SymbolsHelper substitutions + + -- Wookey woo...@wookware.org Sun, 06 Apr 2014 01:31:56 + + pkg-kde-tools (0.15.13) unstable; urgency=medium [ Maximiliano Curia ] diff -Nru pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm pkg-kde-tools-0.15.13+arm64/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm --- pkg-kde-tools-0.15.13/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm 2014-02-23 12:09:30.0 + +++ pkg-kde-tools-0.15.13+arm64/perllib/Debian/PkgKde/SymbolsHelper/Substs/TypeSubst.pm 2014-04-06 01:42:19.0 + @@ -161,7 +161,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? m : j; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? m : j; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::ssize_t; @@ -180,7 +180,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'i'; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'i'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::int64_t; @@ -199,7 +199,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'x'; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'x'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::uint64_t; @@ -218,7 +218,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'm' : 'y'; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'm' : 'y'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::qptrdiff; @@ -237,7 +237,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'x' : 'i'; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'x' : 'i'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::quintptr; @@ -256,7 +256,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'y' : 'j'; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'y' : 'j'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::intptr_t; @@ -275,7 +275,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /amd64|ia64|alpha|s390x|sparc64|ppc64|mips64|mips64el/) ? 'l' : 'i'; +return ($arch =~ /^(amd64|ia64|alpha|s390|sparc64|ppc64|ppc64el|mips64|mips64el|arm64)$/) ? 'l' : 'i'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst::qreal; @@ -294,7 +294,7 @@ sub _expand { my ($self, $arch) = @_; -return ($arch =~ /(arm|sh4)/) ? 'f' : 'd'; +return ($arch =~ /(arm|armel|armhf|sh4)/) ? 'f' : 'd'; } package Debian::PkgKde::SymbolsHelper::Substs::TypeSubst;
Bug#744173: pkg-kde-tools: add arm64 support to SymbolsHelper
On Friday 11 April 2014 03:45:40 Wookey wrote: Package: pkg-kde-tools Version: 0.15.13 Severity: important Tags: patch User: debian-...@lists.debian.org Usertag: arm64 SymbolsHelper needs to know about the new 64-bit architecture arm64 in order for any package that uses the (subst) Symbols file functionality to be buildable. This patch fixes that. Note: the original author of this code seems to not be around nowadays and my perl foo is → 0. This patch is very dim. I feel that one should be able to at least move this test into one place instead of having 6 instances to update. But I started messing with that and it simply made me forget to file at least this basic, working verison. you mean the substs? they are not even homogeneous across platforms :-/ Would it not be possible to use dpkg-architecture DEB_HOST_ARCH_BITS to get a generic test? If it doesn't need to work in non-debian situations that seems like a good solution? Sorry, I didn't understood this one (but maybe I need some sleep ;) ) By the way, I don't know if severity: important is the right one here, but let's just skip this for the moment and try to get stuff solved :) -- Antiguo proverbio de El Machi: Dado el apropiado grado de profundidad, la ineptitud es indistinguible del sabotaje Lisandro Damián Nicanor Pérez Meyer http://perezmeyer.com.ar/ http://perezmeyer.blogspot.com/ signature.asc Description: This is a digitally signed message part.