Bug#611249: gcc-4.4: Fix PR44606 concerning powerpcspe architecture
Package: src:gcc-4.4 Version: 4.4.5-9 Severity: normal Tags: patch Hi, the attached .debdiff fixes PR44606 [1], a register-allocation bug that (seldomly) miscompiles floating point code in the unofficial powerpcspe port [2]. This is a backport of commit 168347 from GCC svn [3]. The patch modifies debian/rules.patch to only apply the patch on powerpcspe, so there should be no side-effects on other architectures. I verified the patch to compile and be effective on a powerpcspe sid installation running on a P2020RDB development board. I guess the same patch should go into gcc-4.3 as well, going to post a corresponding bug report in the next days. cheers, David [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44606 [2] http://wiki.debian.org/PowerPCSPEPort [3] http://gcc.gnu.org/viewcvs?view=revision&revision=168347 -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pr44606.debdiff Description: Binary data pgpGWkf8xdfB9.pgp Description: PGP signature
[patch] Make tbb build on PowerPC/SPE
Hi, just saw that the tbb package is marked as 'not for us' on powerpcspe: http://buildd.debian-ports.org/status/package.php?p=tbb I have been building tbb myself from source for PPCSPE using the attached 2-line patch. It seems to work, at first glance, but I didn't run very serious test-cases. cheers, David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 Index: /3rdparty/trunk/tbb_oss/include/tbb/tbb_machine.h === --- /3rdparty/trunk/tbb_oss/include/tbb/tbb_machine.h (revision 5710) +++ /3rdparty/trunk/tbb_oss/include/tbb/tbb_machine.h (revision 9262) @@ -63,6 +63,8 @@ #include "machine/linux_ia64.h" #elif __arm__ #include "machine/linux_arm.h" +#elif __PPC__ +#include "machine/mac_ppc.h" #endif #elif __APPLE__ pgpfBQorCTykA.pgp Description: PGP signature
Re: Build of powerpcspe port
> "Wachholz," == Wachholz, Ruediger > writes: > We're evaluating to build an embedded system on powerpc e500v2 > (=powerpcspe) architecture. We made some tests using binary powerpcspe > sid from debian-ports (http://wiki.debian.org/PowerPCSPEPort) and > would like to proceed. Actually our major concern is that the actual > powerpcspe port is based on sid/unstable which is no good base for a > commercial product. > For this reason we want to try to build the a powerpcspe port from > source based on a stable debian release (e.g. squeeze) and i'm looking > for some hints to get started. Can someone please give me some hints > on how to (cross)build the debian packages? I'm pretty sure that there > exists a simple debian command which will work for most of the > packages. > We could assume that a properly configured cross-compiler is > available, e.g. we use "make ARCH=powerpc > CROSS_COMPILE=/opt/codesourcery/bin/powerpc-linux-gnu-" to build the > kernel. Otherwise any hints on dealing with cross compiling are also > welcome. I don't think that a full debian base-system can be easily build using cross-compilation. As far as I understand, the usual way to port debian is to setup a build system and then proceed natively building all packages. I don't think that you will be successful building squeeze from scratch for powerpcspe. Some packages need patches to properly build on powerpcspe (i think that even includes libc6). Those packages are not even in 'unstable' but in 'unreleased'. By the way I'm going to use debian-powerpcspe for an embedded system, too. Already set up a pretty usable build systems on a p2020rdb, based on debian-ports sid+unreleased. Luckily we have quite some time until this has to be stable, so having to use unstable is no show-stopper for now. Also debian-unstable might as well be more complete and stable than other options. Hopefully, now that squeeze is released, powerpcspe related patches can migrate into sid, and hopefully we'll finally see debian 'testing' build for powerpcspe (that would already qualify as 'stable' for me). The main people currently working for debian-powerpc are (afaik): Sebastian Andrzej Siewior , "Moffett, Kyle D" I usually CC them when posting about powerpcspe-specific issues. Maybe they can shed some light on how things are stabilizing, and where help is needed (i'd be able to spend a few days per month on ppcspe). You know, the best way to make it more stable is to use it, report problems, and contribute patches :) cheers, David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpAqzKNTmORI.pgp Description: PGP signature
Re: Build of powerpcspe port
> "Moffett," == Moffett, Kyle D writes: [..] >> I don't think that you will be successful building squeeze from >> scratch for powerpcspe. Some packages need patches to properly build >> on powerpcspe (i think that even includes libc6). Those packages are >> not even in 'unstable' but in 'unreleased'. > This is also correct. Now that "wheezy" is opened up we plan to > submit patches from "unreleased" and get them merged into "unstable" > (and from there to "wheezy/testing"), but there are too many packages > that will probably never be fixed in "squeeze". > For example, the GCC sources currently in squeeze have a rather severe > floating point register bug on PowerPC e500v2. >> By the way I'm going to use debian-powerpcspe for an embedded system, >> too. Already set up a pretty usable build systems on a p2020rdb, >> based on debian-ports sid+unreleased. > I'm glad to know there's others who care about Debian on e500 out > there :-D. >> I usually CC them when posting about powerpcspe-specific issues. >> Maybe they can shed some light on how things are stabilizing, and >> where help is needed (i'd be able to spend a few days per month on >> ppcspe). >> >> You know, the best way to make it more stable is to use it, report >> problems, and contribute patches :) > I'm working on the port intermittently right now; my big task at the > moment is getting our kernel and U-Boot patches upstream, then I need > to roll "official" Debian kernel images. > Once that is done I need to see how many other patches I can get > upstreamed from "unreleased", then try to make an "official" > Debian-Installer release. > Let me know if you have anything in particular you'd like to work on, > I'll give what advice I can! Currently the most severe limitation of powerpcspe is that we have to use 'unstable'. But I don't see that any of the debian-ports architectures carries 'testing', so maybe we won't have 'testing'/'stable' unless everything is integrated into mainline debian? Is there anything I could help with in that regard? Other than that I'm currently trying to get live-boot working on ppcspe. live-build is broken since it relies on debootstrap, which won't work with sid+unreleased packages. Using multistrap for now. I also have a sharp eye on gcc, making sure it's fully functional. Is there anything I can do to help the gcc patches move into wheezy? cheers, David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpjV8aoFqDmS.pgp Description: PGP signature
Re: AW: Build of powerpcspe port
> "Wachholz," == Wachholz, Ruediger > writes: > Hi David, Kyle, > thanks a lot for your explanations so far. For the moment i expect my > part to contribute to use the existing port and report problems. We'll > see whether i'm able to to some more. > For the moment i'd like to make use of your offer for more advice in > asking some follow up questions below: >>> >> We're evaluating to build an embedded system on powerpc e500v2 >> >>> (=powerpcspe) architecture. We made some tests using binary >>> powerpcspe >> sid from debian-ports >>> (http://wiki.debian.org/PowerPCSPEPort) and >> would like to >>> proceed. Actually our major concern is that the actual >> powerpcspe >>> port is based on sid/unstable which is no good base for a >> >>> commercial product. >>> > >>> >> For this reason we want to try to build the a powerpcspe port >>> from >> source based on a stable debian release (e.g. squeeze) and >>> i'm looking >> for some hints to get started. Can someone please >>> give me some hints >> on how to (cross)build the debian packages? >>> I'm pretty sure that there >> exists a simple debian command which >>> will work for most of the >> packages. >>> > >>> >> We could assume that a properly configured cross-compiler is >> >>> available, e.g. we use "make ARCH=powerpc >> >>> CROSS_COMPILE=/opt/codesourcery/bin/powerpc-linux-gnu-" to build the >>> >> kernel. Otherwise any hints on dealing with cross compiling are >>> also >> welcome. >>> > >>> > I don't think that a full debian base-system can be easily build >>> using > cross-compilation. As far as I understand, the usual way to >>> port debian > is to setup a build system and then proceed natively >>> building all > packages. >>> >>> Exactly right. Debian packages (at least right now) do not reliably >>> build from a cross-compile environment, most of them *MUST* be built >>> on a native system. The "Emdebian" project does cross compiling for >>> some limited subset of packages on a few architectures, and even >>> then they have thousands of patches to make it work at all. >>> >>> Furthermore, you can't reasonably crossbuild *any* Debian packages >>> with anything other than an "official" Debian-built cross-compiler. > Just for better understanding: could you please outline some technical > reasons why - Debian packages do not reliably build from a > cross-compile environment Many complex software packages make assumptions that are incompatible with cross-compilation. such as: programs compiled in the build process can be executed during the build process. Autoconf makes it even worse, since many autoconf feature detection macros use that assumption and fail during cross-compilatio. Most people don't test for cross-compilation, so never see such problems (although often they are easy to fix). > - crossbuild of Debian packages requires the "official" Debian-built > cross-compiler? No, it needs an official cross-compiling version of dpkg-buildpackage. Also, naturally it then also needs a whole bunch of target system libraries installed at some 'sysroot' directory. Management of sysroots for cross compilation again needs special debian cross-development tools (apt-cross, xapt, dpkg-cross, whatever). This is currently actively developed and redesigned, and i wouldn't consider it stable. If you can do without cross-compilation, you should do without cross-compilation to avoid problems. >>> >>> > By the way I'm going to use debian-powerpcspe for an embedded >>> system, > too. Already set up a pretty usable build systems on a >>> p2020rdb, based > on debian-ports sid+unreleased. > I'm using the p2020rdb as well. But actually i'm not successful to > setup a native build system using the debootstrap archive > http://download.breakpoint.cc/debian/powerpcspe-debootstrap-root.tar.bz2 > together with sources.list "deb http://ftp.de.debian.org/debian-ports/ > sid main". Even following your hint adding "deb > http://ftp.de.debian.org/debian-ports/ unreleased main" installation > of gcc fails as follows: [..] Please post your contents of /etc/apt/sources.list and /etc/apt/sources.list.d/*. I have the following lines in sources.list: deb http://ftp.de.debian.org/debian-ports sid main deb http://ftp.de.debian.org/debian-ports unreleased main and make sure you type 'apt-get update'. does it help? > Installation of gcc from "deb http://ftp.de.debian.org/debian-ports/ > unreleased main" has been working at about december 2010 i think. > Could you please help me to overcome above problems to setup a native > gcc? Maybe the mirror was during an update that moved files from 'unreleased' to sid (or vice versa) during your installation attempt? Just wildly guessing. Does it work currently? > I started using the kernel sources delivered by freescale: some > linux-2.6.32 together with about 50 patches. Some colleagues will have > to write drivers for our hardware, for me it would be easiest to stay > with 2.6.32. What kernel sources are
Re: Source repositories for powerpcspe port
> Wachholz, Ruediger wrote: >> > So where can i access the source repositories used to build the powerpcspe > port? > apt-get source $package It's a little bit more difficult than that, unfortunately :(. The source-packages in http://ftp.de.debian.org/debian may have different versions from the binary packages in http://ftp.de.debian.org/debian-ports We're using the 'debparanoia' mirroring tool to get a powerpcspe mirror with full set of corresponding source packages (omitting any binary packages for which we can't find the source): https://sourceforge.net/projects/debparanoia/develop This script uses snapshot.debian.org as fallback and a number of other heuristics to find the sources. Not sure whether the created mirrors are 100% apt compatible, but at least they work with 'multistrap'. For more information have a look at the accompanying readme file. cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpboUe6zKCFq.pgp Description: PGP signature
Re: Source repositories for powerpcspe port
>>>>> "Sebastian" == Sebastian Andrzej Siewior writes: > David Kuehling wrote: >> with full set of corresponding source packages (omitting any binary >> packages for which we can't find the source): > There should not be any. If there are, please drop me list because > they have to be removed. Just ran the script, it currently complains about: [I] Removing packages missing sources: 1) gcc-4.3-base/4.3.4-10+powerpcspe1 2) imhangul-status-applet/0.3-10 3) libzrtpcpp-1.4-0/1.4.6-1+b101 However, as not all software categories are mirrored with my config, there may be more. May also just be a bug in the mirroring script, or a problem with th snapshot.debian.org database (I already caught one of these, too :) cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpEStY6tgvrg.pgp Description: PGP signature
Re: Source repositories for powerpcspe port
> David Kuehling wrote: >>>>>>> "Sebastian" == Sebastian Andrzej Siewior >>>>>>> writes: >>> >>>>> David Kuehling wrote: >>>> with full set of corresponding source packages (omitting any binary >>>> packages for which we can't find the source): >> >>> There should not be any. If there are, please drop me list because >>> they have to be removed. >> >> Just ran the script, it currently complains about: >> >> [I] Removing packages missing sources: 1) >> gcc-4.3-base/4.3.4-10+powerpcspe1 2) imhangul-status-applet/0.3-10 3) >> libzrtpcpp-1.4-0/1.4.6-1+b101 >> >> However, as not all software categories are mirrored with my config, >> there may be more. May also just be a bug in the mirroring script, >> or a problem with th snapshot.debian.org database (I already caught >> one of these, too :) > I would think so. 2) and 3) are built by buildds so no source was > changed by "us" so it should be same as for the main archive. I found > source for 3) at [0]. +b101 is a binNMU so source the same as in > 1.4.6, it is just built another time. > 1) was uploaded either by Kyle or myself. Let me check on that. > [0] http://snapshot.debian.org/package/libzrtpcpp/1.4.0-1/ Nope, [0] is not the correct source. Note that the source is reported missing for package 'libzrtpcpp-1.4-0/1.4.6-1+b101', which in debparanoia's notation means 'libzrtpcpp-1.4-0' is the package name and '1.4.6-1+b101' is the debian package version. (yeah package name misrepresents version, but that's another problem). This is the snapshot entry for 1.4.6-1: http://snapshot.debian.org/package/libzrtpcpp/1.4.6-1/ and there it lists no files under 'source files'. Maybe the 1.4.6-1 version was so short-lived that snapshot did not pick up the source package? (it only snapshots every 6 hours !?). Did I overlook something? Yeah the short-lived package problem seems like a plausible theory, given that snapshot lists a source for the subsequent version 1.4.6-1.1: http://snapshot.debian.org/package/libzrtpcpp/1.4.6-1.1/ Seems like debian itself has some homework to do wrt GPL compliance. cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpll5PncKzIz.pgp Description: PGP signature
Re: AW: Source repositories for powerpcspe port
>> We're using the 'debparanoia' mirroring tool to get a powerpcspe >> mirror with full set of corresponding source packages (omitting any >> binary packages for which we can't find the source): >> >> https://sourceforge.net/projects/debparanoia/develop >> >> This script uses snapshot.debian.org as fallback and a number of >> other heuristics to find the sources. >> > Do i require some login to access debparanoia at sourceforge.net? > When searching for any files or download i only find "This project has > no files." If possible please provide me access to your mirroring > script. Just check out the code via SVN as explained on the site I linked to. David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpbY4JOLAYoT.pgp Description: PGP signature
Re: AW: AW: Source repositories for powerpcspe port
>> David Kuehling wrote: >> >> We're using the 'debparanoia' mirroring tool to get a powerpcspe >> >> mirror with full set of corresponding source packages (omitting any >> >> binary packages for which we can't find the source): >> >> >> >> https://sourceforge.net/projects/debparanoia/develop >> >> >> >> This script uses snapshot.debian.org as fallback and a number of >> >> other heuristics to find the sources. >> >> >> >> > Do i require some login to access debparanoia at sourceforge.net? >> > When searching for any files or download i only find "This project has >> > no files." If possible please provide me access to your mirroring >> > script. >> >> Just check out the code via SVN as explained on the site I linked to. >> >> David > OK, finding my eyes openend up i could download debparanoia > from http://debparanoia.svn.sourceforge.net/viewvc/debparanoia/trunk/ via WEB > directly. > > Unfortunately it fails with "*E* Listing of package-files failed" > after mirroring about 7GB of archive files - debmirror gave me about > 34GB. The example config file applies a package filter to not mirror every package of debian. change pkgfilter to return 0 at the top to not filter out any packages. > On another call to debmirror (target directory containing my old > powerpcspe archive) i got some more error messages complaining about > running out of open files; maybe it's a memory issue? I used a > (somewhat old) x86 debian squeeze machine. Ok, this starts to get a little off-topic to the debian-ppc list. Maybe we should move this discussion over to the debparanoia-discuss at sourceforge? Creation of the list was just queued, it will take 6-24 hours until it is available (and until this link starts to work): https://lists.sourceforge.net/mailman/listinfo/debparanoia-discuss I might be able to help you if I can see a full log of your debparanoia invokation (i.e.: debparanoia ... 2>&1 | tee logfile ) Please post the log (gzipped) to the list and/or file it with the sourceforge bug tracker: https://sourceforge.net/tracker/?group_id=555611&atid=2254499 Never saw this problem with debparanoia on Ubuntu 10.04 nor 10.10. Also note how the SF page says debparanoia "alpha" :) cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpYDPT4TcXax.pgp Description: PGP signature
Some 'required' packages broken for powerpcspe port
Hi, just found out that with the current state of the powerpcspe port [1] I cannot multistrap even a rudimentary debian system. A few months ago multistrap worked without problems. There seem to be two culprits: 1. Nowadays some required packages depend on the metapackage 'multiarch-support' (e.g. 'libselinux1'). However 'multiarch-support' is only provided by newer eglibc packages, not by the eglibc package currently found in the powerpcspe archive (in suite 'unreleased') 2. Some packages depend on metapackage perlapi-5.10.1 (e.g. libtext-iconv-perl). But only perlapi-5.12.3 is provided by package 'perl-base'. The mistake is in the dependencies of packages like 'libtext-iconv-perl'. Looking here: http://packages.debian.org/sid/libtext-iconv-perl I see that although all architectures have a package libtext-iconv-perl:1.7-2, the perlapi-* packages they depend on differ. On arch 'powerpcspe' the dependency is on perlapi-5.10.1, while for 'powerpc' it's perlapi-5.12.3. Maybe the dependency is automatically determined at built-time and a simple rebuild is going to fix it? cheers, David [1] http://wiki.debian.org/PowerPCSPEPort -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpxNduspDNph.pgp Description: PGP signature
Re: Some 'required' packages broken for powerpcspe port
> "Kyle" == Kyle Moffett writes: [..] >> 1. Nowadays some required packages depend on the metapackage >> 'multiarch-support' (e.g. 'libselinux1'). However >> 'multiarch-support' is only provided by newer eglibc packages, not by >> the eglibc package currently found in the powerpcspe archive (in >> suite 'unreleased') > That shouldn't be terribly hard to fix. Really what needs to happen > is for someone with an existing sbuild chroot to figure out which > patches for those core dependencies are still missing from > upstream/Debian and get them merged. > It's on my To-Do list as soon as I finish porting to this X86 > hardware. Currently I have 1-2 days/week for work related to powerpcspe. I could either use snapshot.debian.org to find the latest working state and stick to that, or try to forward-port your eglibc patches to the latest 'sid' version, maybe filing a few bug-reports for inclusion of the patches on the way. Don't want to interfere with your TODO list (nor with Sebastian's), so feel free to tell me to keep my hands off libc :) >> 2. Some packages depend on metapackage perlapi-5.10.1 >> (e.g. libtext-iconv-perl). But only perlapi-5.12.3 is provided by >> package 'perl-base'. The mistake is in the dependencies of packages >> like 'libtext-iconv-perl'. Looking here: >> >> http://packages.debian.org/sid/libtext-iconv-perl >> >> I see that although all architectures have a package >> libtext-iconv-perl:1.7-2, the perlapi-* packages they depend on >> differ. On arch 'powerpcspe' the dependency is on perlapi-5.10.1, >> while for 'powerpc' it's perlapi-5.12.3. Maybe the dependency is >> automatically determined at built-time and a simple rebuild is going >> to fix it? > Yeah, that's a classic Debian package archive "transition". The > version of the Perl API that a given binary Perl module depends on is > based on what version of Perl was installed when the package was > built. > Since our buildds have not really been actively maintained, we have > not been keeping track of those transitions and proactively upgrading > the packages like Perl to the newer versions. So that means the problem is as good as fixed? Thanks again for your quick reply. Your and Sebastian's work on powerpcspe is much appreciated. cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgp82RBbt0YX7.pgp Description: PGP signature
Re: Some 'required' packages broken for powerpcspe port
>>>>> "Kyle" == Kyle Moffett writes: > On Jul 01, 2011, at 16:17, David Kuehling wrote: >> "Kyle" == Kyle Moffett writes: >>>> 1. Nowadays some required packages depend on the metapackage >>>> 'multiarch-support' (e.g. 'libselinux1'). However >>>> 'multiarch-support' is only provided by newer eglibc packages, not >>>> by the eglibc package currently found in the powerpcspe archive (in >>>> suite 'unreleased') >>> [..] > I would try to forward-port the eglibc patches from the "unreleased" > repo to the latest sid version and file new bugs (or update existing > ones and pester the maintainers). Looks like this part is rather trivial. You still have 2 short patches, both of which have not gone to eglibc upstream nor into debian sid (as far as I can see, eglibc.org is currently down). I'll file bug reports and send you the fixed source package, once it's tested. [..] >>>> 2. Some packages depend on metapackage perlapi-5.10.1 >>>> (e.g. libtext-iconv-perl). But only perlapi-5.12.3 is provided by >>>> package 'perl-base'. [..] >>> >>> Yeah, that's a classic Debian package archive "transition". The >>> version of the Perl API that a given binary Perl module depends on >>> is based on what version of Perl was installed when the package was >>> built. >>> >>> Since our buildds have not really been actively maintained, we have >>> not been keeping track of those transitions and proactively >>> upgrading the packages like Perl to the newer versions. >> >> So that means the problem is as good as fixed? > I wouldn't say it's "fixed". What needs to happen is the buildds (the > only one of which is running right now is Sebastian's) need to get > upgraded with the new Perl, then all of the affected packages need to > be binNMUed by somebody with access to wanna-build on > debian-ports.org. > Each of the currently in-progress transitions has a status page here: > http://release.debian.org/transitions/ > http://www.debian-ports.org/~iwamatsu/transition/ > If you're interested in working on it, you can probably ask the > debian-ports.org admins (probably Aurelien Jarno, CCed) to give you > wanna-build access so you can schedule those binNMUs yourself. > Ideally you would just set up a buildd yourself and that way you could > also keep an eye on the binNMUs that you are scheduling. > Keep in mind that the wanna-build software is still a little raw from > a UI perspective and not very well documented at all. Ok this goes a little beyond my experience with Debian development. Will take some time to figure out. I'll start with setting up a buildd, a little redundancy can't hurt. cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpSiZYXSupib.pgp Description: PGP signature
Re: Some 'required' packages broken for powerpcspe port
> "Kyle" == Kyle Moffett writes: >> Looks like this part is rather trivial. You still have 2 short >> patches, both of which have not gone to eglibc upstream nor into >> debian sid (as far as I can see, eglibc.org is currently down). >> >> I'll file bug reports and send you the fixed source package, once >> it's tested. > I'm having no problems getting to eglibc.org right now, is it still > down for you? (I see it at 38.113.113.104, with no IPv6) Seems to be back now. > One thing that's worth mentioning, if the GNU ld patches that > Sebastian proposed got fully merged then any patches solely fixing > "lwsync" issues are no longer really relevant. Specifically, GNU ld > now autoconverts "lwsync" into the appropriate "msync" instruction > when assembling code in e500 mode. I don't find any lwsync code in the eglibc patches. Only a #ifdef to replace eieio with mbar on powerpcspe. Are these mnemonics nowadays auto-replaced, too? You're sure that the conversion is done by 'ld', not by 'as'? BTW had to throw in another patch that fixes an issue with the 's_fma.c'. >> Ok this goes a little beyond my experience with Debian development. >> Will take some time to figure out. I'll start with setting up a >> buildd, a little redundancy can't hurt. > Awesome, good luck! With the broken state of the archives this will take some time. May have to downgrade my system or hand-install packages. Not even 'schroot' currently installs due to dependency problems :/ cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 pgpKXSWccZwfa.pgp Description: PGP signature
Re: Some 'required' packages broken for powerpcspe port
>>>>> "Sebastian" == Sebastian Andrzej Siewior writes: > David Kuehling wrote: >>> One thing that's worth mentioning, if the GNU ld patches that >>> Sebastian proposed got fully merged then any patches solely fixing >>> "lwsync" issues are no longer really relevant. Specifically, GNU ld >>> now autoconverts "lwsync" into the appropriate "msync" instruction >>> when assembling code in e500 mode. > I dropped it since it was done by as already. >> I don't find any lwsync code in the eglibc patches. Only a #ifdef to >> replace eieio with mbar on powerpcspe. Are these mnemonics nowadays >> auto-replaced, too? You're sure that the conversion is done by 'ld', >> not by 'as'? > Yes, this is also fixed by as. Ok, so I'll drop *-replace-eieio-with-mbar-on-__SPE__.patch . > The only thing that is left should be an ifdef on SOFT_FLOAT or > something that used around fpr opcodes. This has to stay. Yes that's correct. Only left is some patch to fix register save/restore for trampolines. >> BTW had to throw in another patch that fixes an issue with the >> 's_fma.c'. > This could be new. It is new. Attached it. In case you find something wrong with it, there are some hours left before everything is rebuilt&testet and I start posting this upstream. BTW are there any special test-cases you use for testing your changes? So far I can only imagine to put this in a chroot and see whether it "works". >>>> Ok this goes a little beyond my experience with Debian development. >>>> Will take some time to figure out. I'll start with setting up a >>>> buildd, a little redundancy can't hurt. >> >>> Awesome, good luck! >> >> With the broken state of the archives this will take some time. May >> have to downgrade my system or hand-install packages. Not even >> 'schroot' currently installs due to dependency problems :/ > I could upload my chroot by end of the week. Is this helpful? I'm already tinkering with multistrapping a chroot from snapshot.debian.org (currently trying May 9 2011). If I'm lucky this will soon work. So now I have a double-chroot? One to install sbuild, and a nested one that is used by sbuild? :) cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 Override s_fma[f] assembly routines with C-code when compiling for powerpcspe. Signed-off-by: David Kuehling Index: eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c === --- /dev/null 1970-01-01 00:00:00.0 + +++ eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c 2011-07-04 15:53:26.0 +0200 @@ -0,0 +1 @@ +#include Index: eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c === --- /dev/null 1970-01-01 00:00:00.0 + +++ eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c 2011-07-04 15:53:12.0 +0200 @@ -0,0 +1 @@ +#include pgpPikQFUKbEP.pgp Description: PGP signature
[PATCH] make eglibc-2.13-8 work on arch powerpcspe
The attached debdiff makes sid's eglibc (2.13-8) work on architecture powerpcspe. We have a few new test-case errors, that are not listed in debian/testsuite-checking/expected-results-powerpc-linux-gnu-libc : bug-nextafter.out, Error 18 bug-nexttoward.out, Error 18 test-double.out, Error 1 test-fenv.out, Error 1 test-float.out, Error 1 test-idouble.out, Error 1 test-ifloat.out, Error 1 test-misc.out, Error 1 tst-setcontext-fpscr.o, Error 1 these complain about various details of the FPU, especially exception and overflow handling, rounding, slight deviations on results. I cannot find anything that looks like a real "bad" error, though. tst-setcontext-fpscr contains some assembly code and won't even compile in e500 mode. cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 diff -u eglibc-2.13/debian/changelog eglibc-2.13/debian/changelog --- eglibc-2.13/debian/changelog +++ eglibc-2.13/debian/changelog @@ -1,3 +1,12 @@ +eglibc (2.13-8+powerpcspe1) unstable; urgency=low + + * forward-port powerpcspe-specific changes form 2.11.1-2+powerpcspe1 + * dropped 0002-replace-eieio-with-mbar-on-__SPE__.patch since that +should nowadays be handled by GNU 'as' + * added local-no-fma.patch to fix new compile problem on powerpcspe + + -- David Kuehling Wed, 06 Jul 2011 11:35:07 +0200 + eglibc (2.13-8) unstable; urgency=low [ Samuel Thibault ] diff -u eglibc-2.13/debian/patches/series eglibc-2.13/debian/patches/series --- eglibc-2.13/debian/patches/series +++ eglibc-2.13/debian/patches/series @@ -168,6 +168,9 @@ powerpc/local-libgcc_eh-ld.so.diff +powerpcspe/local-Powerpc-trampline-consider-__NO_FPRS__.patch +powerpcspe/local-no-fma.patch + s390/submitted-nexttowardf.diff s390/cvs-iconv-z9-109.diff only in patch2: unchanged: --- eglibc-2.13.orig/debian/patches/powerpcspe/local-Powerpc-trampline-consider-__NO_FPRS__.patch +++ eglibc-2.13/debian/patches/powerpcspe/local-Powerpc-trampline-consider-__NO_FPRS__.patch @@ -0,0 +1,51 @@ +From 5f2110f9ce203c42aadc3968ddc487a8c9cc6c83 Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior +Date: Sat, 15 May 2010 21:51:49 +0200 +Subject: [PATCH] Powerpc/trampline: consider __NO_FPRS__ + +don't save/restore FPRs on FPR less systems + +Signed-off-by: Sebastian Andrzej Siewior +--- + sysdeps/powerpc/powerpc32/dl-trampoline.S |4 + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/sysdeps/powerpc/powerpc32/dl-trampoline.S b/sysdeps/powerpc/powerpc32/dl-trampoline.S +index 6a158c3..bd815c7 100644 +--- a/sysdeps/powerpc/powerpc32/dl-trampoline.S b/sysdeps/powerpc/powerpc32/dl-trampoline.S +@@ -137,6 +137,7 @@ _dl_prof_resolve: + stw r9,40(r1) + stw r10,44(r1) + stw r0,8(r1) ++#ifndef __NO_FPRS__ + # Save the floating point registers + stfd fp1,48(r1) + stfd fp2,56(r1) +@@ -146,6 +147,7 @@ _dl_prof_resolve: + stfd fp6,88(r1) + stfd fp7,96(r1) + stfd fp8,104(r1) ++#endif + # XXX TODO: store vmx registers + # Load the extra parameters. + addi r6,r1,16 +@@ -169,6 +171,7 @@ _dl_prof_resolve: + lwz r4,20(r1) + lwz r3,16(r1) + lwz r0,12(r1) ++#ifndef __NO_FPRS__ + # Load the floating point registers. + lfd fp1,48(r1) + lfd fp2,56(r1) +@@ -178,6 +181,7 @@ _dl_prof_resolve: + lfd fp6,88(r1) + lfd fp7,96(r1) + lfd fp8,104(r1) ++#endif + # ...unwind the stack frame, and jump to the PLT entry we updated. + addi r1,r1,320 + bctr +-- +1.5.6.5 + only in patch2: unchanged: --- eglibc-2.13.orig/debian/patches/powerpcspe/local-no-fma.patch +++ eglibc-2.13/debian/patches/powerpcspe/local-no-fma.patch @@ -0,0 +1,16 @@ +Override s_fma[f] assembly routines with C-code when compiling for powerpcspe. + +Signed-off-by: David Kuehling + +Index: eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c +=== +--- /dev/null 1970-01-01 00:00:00.0 + eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c 2011-07-04 15:53:26.0 +0200 +@@ -0,0 +1 @@ ++#include +Index: eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c +=== +--- /dev/null 1970-01-01 00:00:00.0 + eglibc-2.13/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c 2011-07-04 15:53:12.0 +0200 +@@ -0,0 +1 @@ ++#include pgpBzzs7scmIj.pgp Description: PGP signature
Re: Some 'required' packages broken for powerpcspe port
> "Sebastian" == Sebastian Andrzej Siewior writes: >>> I could upload my chroot by end of the week. Is this helpful? >> >> I'm already tinkering with multistrapping a chroot from >> snapshot.debian.org (currently trying May 9 2011). If I'm lucky this >> will soon work. So now I have a double-chroot? One to install >> sbuild, and a nested one that is used by sbuild? :) > Okay then. Looks like the May 9 snapshot has some depenency problems. Had to go back to April to yield a config that multistraps with a full toolchain and sbuild. In case anybody is interested, I attach the multistrap.conf (note that I didn't do any in-depth testing yet). David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 multistrap.conf Description: Binary data pgp5l254rrnUu.pgp Description: PGP signature
[patch] make xenomai userspace tools compile on arch powerpcspe
The attached patch against xenomai 2.5.6-2 from debian sid fixes compilation for architecture powerpcspe. It just adds a few #ifdef __NO_FPRS__ around assembler code that messes with powerpc fpu registers. This code is only used for test-cases (switchtest.c) anyways, so doesn't have any effects on run-time behaviour. Unless nobody objects, I'm going to file a bug-reports with the BTS and upstream in a few days. cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40 diff -Nru xenomai-2.5.6/debian/changelog xenomai-2.5.6/debian/changelog --- xenomai-2.5.6/debian/changelog 2011-05-05 21:09:55.0 +0200 +++ xenomai-2.5.6/debian/changelog 2011-07-11 15:38:28.0 +0200 @@ -1,3 +1,9 @@ +xenomai (2.5.6-2+powerpcspe1) unstable; urgency=low + + * fixes for powerpcspe + + -- David Kuehling Mon, 11 Jul 2011 15:35:46 +0200 + xenomai (2.5.6-2) unstable; urgency=low * Removed usage of dh-kpatches in the build process (and from Build-Depends) diff -Nru xenomai-2.5.6/debian/control xenomai-2.5.6/debian/control --- xenomai-2.5.6/debian/control 2011-05-05 21:09:55.0 +0200 +++ xenomai-2.5.6/debian/control 2011-07-11 16:42:31.0 +0200 @@ -8,7 +8,7 @@ Package: xenomai-runtime Section: devel -Architecture: amd64 arm armeb armel i386 powerpc +Architecture: amd64 arm armeb armel i386 powerpc powerpcspe Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: linux-patch-xenomai, xenomai-doc Replaces: xenomai @@ -47,7 +47,7 @@ Package: libxenomai1 Section: libs -Architecture: amd64 arm armeb armel i386 powerpc +Architecture: amd64 arm armeb armel i386 powerpc powerpcspe Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: linux-patch-xenomai, xenomai-doc Replaces: xenomai @@ -64,7 +64,7 @@ Package: libxenomai-dev Section: libdevel -Architecture: amd64 arm armeb armel i386 powerpc +Architecture: amd64 arm armeb armel i386 powerpc powerpcspe Depends: libxenomai1 (= ${binary:Version}), ${misc:Depends} Suggests: linux-patch-xenomai, xenomai-doc Replaces: xenomai diff -Nru xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch --- xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch 1970-01-01 01:00:00.0 +0100 +++ xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch 2011-07-11 15:47:36.0 +0200 @@ -0,0 +1,37 @@ +Index: xenomai-2.5.6/include/asm-powerpc/fptest.h +=== +--- xenomai-2.5.6.orig/include/asm-powerpc/fptest.h 2011-07-11 15:43:50.0 +0200 xenomai-2.5.6/include/asm-powerpc/fptest.h 2011-07-11 15:47:28.0 +0200 +@@ -37,6 +37,7 @@ + + static inline void fp_regs_set(unsigned val) + { ++#ifndef __NO_FPRS__ + uint64_t fpval = val; + __asm__ __volatile__("lfd 0, %0\n" + " fmr 1, 0\n" +@@ -70,6 +71,7 @@ + " fmr 29, 0\n" + " fmr 30, 0\n" + " fmr 31, 0\n"::"m"(fpval)); ++#endif + } + + #define FPTEST_REGVAL(n) { \ +@@ -81,6 +83,8 @@ + static inline unsigned fp_regs_check(unsigned val) + { + unsigned i, result = val; ++ ++#ifndef __NO_FPRS__ + uint32_t e[32]; + + FPTEST_REGVAL(0); +@@ -121,6 +125,7 @@ + printk("r%d: %u != %u\n", i, e[i], val); + result = e[i]; + } ++#endif + + return result; + } diff -Nru xenomai-2.5.6/debian/patches/series xenomai-2.5.6/debian/patches/series --- xenomai-2.5.6/debian/patches/series 2011-05-05 21:09:55.0 +0200 +++ xenomai-2.5.6/debian/patches/series 2011-07-11 15:40:57.0 +0200 @@ -1,2 +1,3 @@ 01_support_debian_kernel_2.6.32.patch 02_dh-kpatches-removal.patch +03_fix-powerpcspe-no-fprs.patch pgp3axjNfyUo3.pgp Description: PGP signature