Re: [Buildd-tools-devel] Processed: Clone and reassign to libstdc++
On Mon, Mar 23, 2009 at 10:36:10AM +, Debian Bug Tracking System wrote: > Processing commands for cont...@bugs.debian.org: > > > clone 520713 -1 > Bug#520713: init script start hangs > Bug 520713 cloned as bug 520889. > > > reassign -1 libstdc++6 > Bug#520889: init script start hangs > Bug reassigned from package `schroot' to `libstdc++6'. > > > retitle -1 std::tr1::shared_ptr is broken on alpha unless code is compiled > > with -pthread > Bug#520889: init script start hangs > Changed Bug title to `std::tr1::shared_ptr is broken on alpha unless code is > compiled with -pthread' from `init script start hangs'. Hi Debian GCC people, I cloned and reassigned this to you because while I worked around this bug in schroot, I do feel that this is fundamentally an issue in libstdc++. It appears from the bug investigation that the std::tr1::shared_ptr type is using a pthread mutex for locking (which is using futexes on the kernel side). I'm surprised about this because I thought it would just be using atomic increment/decrement (unless this is an alpha-specific implementation detail), but this is not in itself a problem. What did surprise me is that - my program is single threaded; it does not directly use any pthread- related stuff, just types from the ISO C++ Standard, and its TR1 addendum. - I did therefore not expect there would be a requirement to compile with -pthread in order to get a functional program. - On all architectures I'm aware of other than alpha, the code works correctly. - On alpha it crashes with a failed libc/libstdc++ assertion during object construction (where I am creating a new type instance which is returned contained within a shared_ptr). The stack trace showed it failing in my object constructor called from my clone() method which returns a shared_ptr (the actual ctor is private), but the pthread failure subsequently points the blame at shared_ptr, since I'm not using any pthread stuff myself. - One of the traces attached to the bug report shows a failure inside a Boost header; it's possible that it's an interaction between the boost and libstdc++ headers, but I can't be sure of that. I have Cc'd weasel, who originally found this bug on alpha. I don't have any alpha hardware myself, so you would probably need to ask weasel or one of the alpha porters if you need any alpha- specific expertise. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Re: freeze exception for gcc-4.5 (i386, amd64 only)
On Mon, Aug 23, 2010 at 10:03:05AM +0200, Mike Hommey wrote: > On Mon, Aug 23, 2010 at 04:05:32AM +0200, Matthias Klose wrote: > > On 21.08.2010 14:56, Julien Cristau wrote: > > >On Fri, Aug 20, 2010 at 19:33:12 +0200, Arthur Loiret wrote: > > > > > >>Now, to be clear, what nice things would gcc-4.5 bring to our users? > > >>There is a complete list here [0], but those ones are, in my opinion, > > >>very nice: > > >> - The new link time optimiser. > > >> - Improved C++0x support. > > >> - Plugins support. > > >> > > >My understanding is that lto in 4.5 is not quite there yet. Not that > > >I've tried it or anything. > > > > I don't share your understanding. I tried it for some builds. > > Maybe it works on small things, but I heard it doesn't work very well > for stuff like mozilla. 4.6 is supposed to get better. I'm certainly concerned about issues such as #593876 where the stricter linking breaks existing code. I'm not sure about the rationale for this extra strictness, but it does cause unwanted breakage by breaking existing assumptions about indirect linking. Other than that, it's working fine for me. It would be nice to have in the release as an optional and non-default compiler for developers who need it. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
On Sun, Nov 14, 2010 at 01:51:49PM +0100, Kurt Roeckx wrote: > On Sun, Nov 07, 2010 at 04:19:10PM +0000, Roger Leigh wrote: > > On Fri, Oct 29, 2010 at 03:43:57PM +0200, Matthias Klose wrote: > > > For wheezy I'm planning to change the linking behaviour for DSOs (turning > > > on --as-needed and --no-copy-dt-needed-entries. The rationale is > > > summarized in http://wiki.debian.org/ToolChain/DSOLinking. I would like > > > to know about issues with these changes on some of the Debian ports, and > > > if we need to disable one of these changes on some port. > > > > While I understand the rationale for --no-copy-dt-needed-entries for > > preventing encapsulation violations via indirect linking, I don't agree > > with the use of --as-needed *at all*. If a library has been explicitly > > linked in, it shouldn't be removed. This is an issue for fixing in > > individual packages, not in the toolchain. > > > > I can understand on using it on a per-package basis, but not in the > > actual toolchain defaults. The compiler and linker *should not be > > second-guessing the user*. This can break perfectly legitimate code > > making use of ELF constructors and other features which won't be > > picked out just by looking at symbol usage. > > People have been claiming that constructors or init section are a > possible problem. I have yet to see an example where it breaks. It's not a very widely used feature. I'm sure it's trivial to make such a test case. Portable software tends not to make use of ELF- specific features like this, but that's not an excuse for breaking perfectly legitimate code. But whether or not there are real life examples, --as-needed is *fundamentally wrong*. It's deliberately *not doing what the user requested*, and to make that misfeature the system-wide default would be entirely inappropriate. If a package wishes to make use of such a feature after understanding the implications, then they are free to do so. But to make it the default--I don't think that's a technically sound decision. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
On Sun, Nov 14, 2010 at 01:19:08PM +0100, Julien Cristau wrote: > On Fri, Oct 29, 2010 at 15:43:57 +0200, Matthias Klose wrote: > > > For wheezy I'm planning to change the linking behaviour for DSOs > > (turning on --as-needed and --no-copy-dt-needed-entries. The > > rationale is summarized in > > http://wiki.debian.org/ToolChain/DSOLinking. I would like to know > > about issues with these changes on some of the Debian ports, and if > > we need to disable one of these changes on some port. > > > --no-add-needed sounds like it'll cause a *lot* of build failures for no > particular gain. I don't think it's a good idea. This change will definitely cause a lot of link failures; having some concrete numbers to determine how many would be quite useful here, e.g. from an archive-wide rebuild. Example failure case: #593876 libboost-filesystem-dev: Undeclared indirect dependency of boost_filesystem on boost_system causes link failure While --no-copy-dt-needed-entries does "fix" programs depending upon indirect linkage, this is something we've been relying on for over a decade and has worked quite well in practice. While strict correctness is nice to have, and I've already fixed my programs to work with strict linking, I'm not entirely sure why indirect linking is that bad in practice. Note that in the above Boost example, you get caught out just due to some inline functions in headers resulting an a completely unexpected additional dependency, so the need for linking is there, but would have otherwise been happily satisfied indirectly. Also, it means that the user of a library needs to be intimately aware of its internals which is not good. If the Boost filesystem library changes how it works but without changing its public interface, I could be screwed again in six months time. This is partly the fault of Boost for exposing its internals in its headers, but disallowing indirect linking make it worse. Overall, it could be for the best, but it will be painful initially. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
On Mon, Nov 15, 2010 at 11:02:57PM +0100, Matthias Klose wrote: > On 14.11.2010 16:06, Roger Leigh wrote: >>>> While I understand the rationale for --no-copy-dt-needed-entries for >>>> preventing encapsulation violations via indirect linking, I don't agree >>>> with the use of --as-needed *at all*. If a library has been explicitly >>>> linked in, it shouldn't be removed. This is an issue for fixing in >>>> individual packages, not in the toolchain. >>>> >>>> I can understand on using it on a per-package basis, but not in the >>>> actual toolchain defaults. The compiler and linker *should not be >>>> second-guessing the user*. This can break perfectly legitimate code >>>> making use of ELF constructors and other features which won't be >>>> picked out just by looking at symbol usage. >>> >>> People have been claiming that constructors or init section are a >>> possible problem. I have yet to see an example where it breaks. >> >> It's not a very widely used feature. I'm sure it's trivial to make >> such a test case. Portable software tends not to make use of ELF- >> specific features like this, but that's not an excuse for breaking >> perfectly legitimate code. >> >> But whether or not there are real life examples, --as-needed is >> *fundamentally wrong*. It's deliberately *not doing what the user >> requested*, and to make that misfeature the system-wide default >> would be entirely inappropriate. If a package wishes to make use >> of such a feature after understanding the implications, then they >> are free to do so. But to make it the default--I don't think that's >> a technically sound decision. > > maybe, and fix it in N - ~100 packages? Or fix the ~100 packages? The > point of injection is for discussion. I would prefer having this set in > dpkg-buildflags, and then disabled by these ~100 packages. Note that > this is probably the same like modifying the N - ~100 packages, as almost > no package respects dpkg-buildflags yet. What's the actual problem --as-needed is trying to solve? The answer is mainly unwanted libraries being linked in as a result of using pkg-config (and various other -config variants), though there are other, lesser, culprits. The pkg-config .pc files for gtk, gnome and other libraries add in many libraries, most of which aren't typically needed. The solution: fix the .pc files! Using --as-needed is merely papering over the actual root problem. It "fixes" the symptoms, but it's not addressing the actual cause. The number of packages providing broken .pc files is not large, and the number breaking due to relying on this brokenness is likely just as small. Other libraries being linked unnecessarily can be removed on a per-package basis. lintian is warning about this, so most developers should be aware of the problem. Damaging our toolchain to work around buggy build scripts is wrong; we should just fix the scripts! Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
On Tue, Nov 16, 2010 at 01:14:09AM +0100, Matthias Klose wrote: > On 14.11.2010 13:19, Julien Cristau wrote: >> On Fri, Oct 29, 2010 at 15:43:57 +0200, Matthias Klose wrote: >> >>> For wheezy I'm planning to change the linking behaviour for DSOs >>> (turning on --as-needed and --no-copy-dt-needed-entries. The >>> rationale is summarized in >>> http://wiki.debian.org/ToolChain/DSOLinking. I would like to know >>> about issues with these changes on some of the Debian ports, and if >>> we need to disable one of these changes on some port. >>> >> --no-add-needed sounds like it'll cause a *lot* of build failures for no >> particular gain. I don't think it's a good idea. > > I think it is. Besides fixing potential bugs, else you'll never be able > to use gold as the linker. See the already filed bug reports. This change is one I can agree with on technical grounds, though it will cause a great deal of pain in the short term. Have we got any estimates on exactly how much breakage will result before the change gets made? Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
On Tue, Nov 16, 2010 at 07:04:53PM +0100, Matthias Klose wrote: > On 16.11.2010 10:42, Roger Leigh wrote: >> On Tue, Nov 16, 2010 at 01:14:09AM +0100, Matthias Klose wrote: >>> On 14.11.2010 13:19, Julien Cristau wrote: >>>> On Fri, Oct 29, 2010 at 15:43:57 +0200, Matthias Klose wrote: >>>> >>>>> For wheezy I'm planning to change the linking behaviour for DSOs >>>>> (turning on --as-needed and --no-copy-dt-needed-entries. The >>>>> rationale is summarized in >>>>> http://wiki.debian.org/ToolChain/DSOLinking. I would like to know >>>>> about issues with these changes on some of the Debian ports, and if >>>>> we need to disable one of these changes on some port. >>>>> >>>> --no-add-needed sounds like it'll cause a *lot* of build failures for no >>>> particular gain. I don't think it's a good idea. >>> >>> I think it is. Besides fixing potential bugs, else you'll never be able >>> to use gold as the linker. See the already filed bug reports. >> >> This change is one I can agree with on technical grounds, though it >> will cause a great deal of pain in the short term. Have we got any >> estimates on exactly how much breakage will result before the change >> gets made? > > see http://wiki.debian.org/ToolChain/DSOLinking#Furtherinformation > referenced in the first email of this thread. I had a look at that, and we've got (summarised) 413 outstanding bugs 308 fixed/pending So there's still some way to go, but looking promising. I did notice that all those bugs were filed almost exactly a year ago. This won't have picked up issues with current packages, such as the Boost link failures I've encountered. Would it be possible to repeat the archive-wide rebuild with our current sources? Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: Bug in gcc for powerpc?
On Sat, Jul 28, 2012 at 04:45:35PM -0400, Felipe Sateler wrote: > Hi gcc and powerpc teams, > > Supercollider recently failed to build in powerpc[1] with some weird > errors about operand out of range. Googling around suggests working > around the problem by avoiding inlining. And in fact, SC builds after > avoiding inlining one function. However, it seems to me this is a bug > in gcc, since it shouldn't ouptut invalid assembler. I'm not quite > sure how to handle this sort of bug, however. Where should I file this > bug (that is, which package)? This bug seems to have happened a few > times already, so I'm not quite sure if this is supposed to be fixed > or not. Just as a data point, I've reproduced this identically on current unstable (powerpc). Have you tried using a different compiler version e.g. 4.7? I can do further investigation tomorrow if you would like. -- .''`. Roger Leigh : :' : Debian GNU/Linuxhttp://people.debian.org/~rleigh/ `. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools `-GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800 -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120729003423.gb25...@codelibre.net
Re: Bug in gcc for powerpc?
On Sat, Jul 28, 2012 at 08:43:16PM -0400, Felipe Sateler wrote: > On Sat, Jul 28, 2012 at 8:34 PM, Roger Leigh wrote: > > On Sat, Jul 28, 2012 at 04:45:35PM -0400, Felipe Sateler wrote: > >> Hi gcc and powerpc teams, > >> > >> Supercollider recently failed to build in powerpc[1] with some weird > >> errors about operand out of range. Googling around suggests working > >> around the problem by avoiding inlining. And in fact, SC builds after > >> avoiding inlining one function. However, it seems to me this is a bug > >> in gcc, since it shouldn't ouptut invalid assembler. I'm not quite > >> sure how to handle this sort of bug, however. Where should I file this > >> bug (that is, which package)? This bug seems to have happened a few > >> times already, so I'm not quite sure if this is supposed to be fixed > >> or not. > > > > Just as a data point, I've reproduced this identically on current > > unstable (powerpc). Have you tried using a different compiler > > version e.g. 4.7? I can do further investigation tomorrow if you > > would like. > > I am testing on partch, I don't have access to other ppc hardware. > Partch has gcc 4.4 and 4.6, it fails with both, with the same error > but in different places (4.4 has lots of errors, 4.6 just 2). I can give you access to a G4 ppc running current testing with build chroots available on it if you would find that useful. The only thing is that you'll need IPv6 to access it. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linuxhttp://people.debian.org/~rleigh/ `. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools `-GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800 -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120730210921.gg25...@codelibre.net
Re: Bug in gcc for powerpc?
On Tue, Jul 31, 2012 at 09:39:58AM -0400, Felipe Sateler wrote: > On Mon, Jul 30, 2012 at 5:09 PM, Roger Leigh wrote: > > On Sat, Jul 28, 2012 at 08:43:16PM -0400, Felipe Sateler wrote: > >> On Sat, Jul 28, 2012 at 8:34 PM, Roger Leigh wrote: > >> > On Sat, Jul 28, 2012 at 04:45:35PM -0400, Felipe Sateler wrote: > >> >> Hi gcc and powerpc teams, > >> >> > >> >> Supercollider recently failed to build in powerpc[1] with some weird > >> >> errors about operand out of range. Googling around suggests working > >> >> around the problem by avoiding inlining. And in fact, SC builds after > >> >> avoiding inlining one function. However, it seems to me this is a bug > >> >> in gcc, since it shouldn't ouptut invalid assembler. I'm not quite > >> >> sure how to handle this sort of bug, however. Where should I file this > >> >> bug (that is, which package)? This bug seems to have happened a few > >> >> times already, so I'm not quite sure if this is supposed to be fixed > >> >> or not. > >> > > >> > Just as a data point, I've reproduced this identically on current > >> > unstable (powerpc). Have you tried using a different compiler > >> > version e.g. 4.7? I can do further investigation tomorrow if you > >> > would like. > >> > >> I am testing on partch, I don't have access to other ppc hardware. > >> Partch has gcc 4.4 and 4.6, it fails with both, with the same error > >> but in different places (4.4 has lots of errors, 4.6 just 2). > > > > I can give you access to a G4 ppc running current testing with > > build chroots available on it if you would find that useful.e The > > only thing is that you'll need IPv6 to access it. > > I don't think it'd be useful. I definitely do not have the expertise > to debug gcc. No worries. I just did a repeat build on it, not with sbuild, but in a cloned chroot, and it built successfully. So it looks like whatever it is, it's somewhat intermittent. I would suspect GCC; unlikely to be hardware. I'll try doing a binary-only NMU build with sbuild (á la the buildds), and if that also succeeds, I'll upload it. If I can reproduce the failure, I'll see if I can dump the preprocessed source and make a testcase; but given the elusive nature of the bug this might not be possible. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linuxhttp://people.debian.org/~rleigh/ `. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools `-GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800 -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120731224700.gm25...@codelibre.net
Re: Bug in gcc for powerpc?
On Tue, Jul 31, 2012 at 11:47:00PM +0100, Roger Leigh wrote: > On Tue, Jul 31, 2012 at 09:39:58AM -0400, Felipe Sateler wrote: > > On Mon, Jul 30, 2012 at 5:09 PM, Roger Leigh wrote: > > > On Sat, Jul 28, 2012 at 08:43:16PM -0400, Felipe Sateler wrote: > > >> On Sat, Jul 28, 2012 at 8:34 PM, Roger Leigh > > >> wrote: > > >> > On Sat, Jul 28, 2012 at 04:45:35PM -0400, Felipe Sateler wrote: > > >> >> Hi gcc and powerpc teams, > > >> >> > > >> >> Supercollider recently failed to build in powerpc[1] with some weird > > >> >> errors about operand out of range. Googling around suggests working > > >> >> around the problem by avoiding inlining. And in fact, SC builds after > > >> >> avoiding inlining one function. However, it seems to me this is a bug > > >> >> in gcc, since it shouldn't ouptut invalid assembler. I'm not quite > > >> >> sure how to handle this sort of bug, however. Where should I file this > > >> >> bug (that is, which package)? This bug seems to have happened a few > > >> >> times already, so I'm not quite sure if this is supposed to be fixed > > >> >> or not. > > >> > > > >> > Just as a data point, I've reproduced this identically on current > > >> > unstable (powerpc). Have you tried using a different compiler > > >> > version e.g. 4.7? I can do further investigation tomorrow if you > > >> > would like. > > >> > > >> I am testing on partch, I don't have access to other ppc hardware. > > >> Partch has gcc 4.4 and 4.6, it fails with both, with the same error > > >> but in different places (4.4 has lots of errors, 4.6 just 2). > > > > > > I can give you access to a G4 ppc running current testing with > > > build chroots available on it if you would find that useful.e The > > > only thing is that you'll need IPv6 to access it. > > > > I don't think it'd be useful. I definitely do not have the expertise > > to debug gcc. > > I'll try doing a binary-only NMU build with sbuild (á la the buildds), > and if that also succeeds, I'll upload it. If I can reproduce the > failure, I'll see if I can dump the preprocessed source and make a > testcase; but given the elusive nature of the bug this might not be > possible. Hmm, I see 1:3.5.3~repack-3 has built successfully over two days ago. Did you find out what the problem was here? Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linuxhttp://people.debian.org/~rleigh/ `. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools `-GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800 -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120731225648.gn25...@codelibre.net
Bug#373937: libstdc++6: codecvt locale facet is broken
Package: libstdc++6 Version: 4.1.1-5 Severity: important The attached source file (UTF-8 encoded) demonstrates that codecvt is broken for the simplest of transformations (UTF-8 to UCS-4). This is pretty basic, and the underlying gconf stuff works correctly, so the bug is either in libstdc++6 or somewhere inline in the headers. $ ./wide wide: ../iconv/loop.c:425: utf8_internal_loop_single: Assertion `inptr - bytebuf > (state->__count & 7)' failed. Aborted While running: (gdb) bt #0 0x0fcc672c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #1 0x0fe0425c in ?? () from /lib/tls/libc.so.6 #2 0x0ffa6ef8 in std::codecvt::do_in () from /usr/lib/libstdc++.so.6 #3 0x100016b4 in std::__codecvt_abstract_base::in (this=0x100290b8, [EMAIL PROTECTED], __from=0x10013014 "[EMAIL PROTECTED]", __from_end=0x1001301d "", [EMAIL PROTECTED], __to=0x7fa405bc, __to_end=0x7fa406fc, [EMAIL PROTECTED]) at /usr/lib/gcc/powerpc-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/codecvt.h:204 #4 0x10001244 in to_wide_string ([EMAIL PROTECTED], [EMAIL PROTECTED]) at wide.cc:22 #5 0x10001544 in main () at wide.cc:59 After aborting: wide: ../iconv/loop.c:425: utf8_internal_loop_single: Assertion `inptr - bytebuf > (state->__count & 7)' failed. Program received signal SIGABRT, Aborted. 0x0fcd67bc in raise () from /lib/tls/libc.so.6 (gdb) bt #0 0x0fcd67bc in raise () from /lib/tls/libc.so.6 #1 0x0fcd82c0 in abort () from /lib/tls/libc.so.6 #2 0x0fcce768 in __assert_fail () from /lib/tls/libc.so.6 #3 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #4 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #5 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #6 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #7 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #8 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #9 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #10 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 #11 0x0fcc6c7c in __gconv_transform_utf8_internal () from /lib/tls/libc.so.6 Previous frame inner to this frame (corrupt stack?) Regards, Roger -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (990, 'unstable') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16.17 Locale: LANG=en_GB.UTF8, LC_CTYPE=en_GB.UTF8 (charmap=UTF-8) Versions of packages libstdc++6 depends on: ii gcc-4.1-base 4.1.1-5The GNU Compiler Collection (base ii libc6 2.3.6-15 GNU C Library: Shared libraries ii libgcc1 1:4.1.1-5 GCC support library libstdc++6 recommends no packages. -- no debconf information #include #include #include std::wstring to_wide_string (std::string const& str, std::localelocale) { typedef std::codecvt codecvt_type; codecvt_type const& cvt = std::use_facet(locale); mbstate_t state; const char *cbegin = str.data(), *cend = str.data() + str.size(), *cnext; wchar_t *wcnext; wchar_t wcbuf[80]; std::wstring ret; while (1) { std::codecvt_base::result res = cvt.in(state, cbegin, cend, cnext, wcbuf, wcbuf + (sizeof(wcbuf) / sizeof(wcbuf[0])), wcnext); if (res == std::codecvt_base::ok || std::codecvt_base::partial) { std::cout << "1" << std::endl; ret += std::wstring(wcbuf, wcnext); if (cend == cnext) break; } else if (res == std::codecvt_base::noconv) { std::cout << "2" << std::endl; ret += std::wstring(cbegin, cend); break; } else if (res == std::codecvt_base::error) { std::cout << "3" << std::endl; break; } else break; std::cout << "4" << std::endl; cbegin = cnext; } return ret; } int main() { std::locale::global(std::locale("")); std::cout.imbue(std::locale()); std::wcerr.imbue(std::locale()); std::string foo = "fffäß»"; std::wstring wfoo = to_wide_string(foo, std::wcerr.getloc()); std::cout << foo; std::wcerr << wfoo; return 0; }
Bug#373937: Acknowledgement (libstdc++6: codecvt locale facet is broken)
Reported upstream as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28059 Note this affects GCC versions 3.3, 4.0, 4.1 and 4.2. It works correctly in 3.4. Regards, Roger -- Roger Leigh Printing on GNU/Linux? http://gutenprint.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. pgpBeyQoH6rzG.pgp Description: PGP signature
Bug#373937: Acknowledgement (libstdc++6: codecvt locale facet is broken)
I have attached two additional testcases to the upstream bug report. The testcases are now: Testcase to show codecvt crash http://gcc.gnu.org/bugzilla/attachment.cgi?id=11679 (wide.cc) Use mbsnrtowcs directly. http://gcc.gnu.org/bugzilla/attachment.cgi?id=11682 (wide2.cc) C example using mbsnrtowcs http://gcc.gnu.org/bugzilla/attachment.cgi?id=11683 (wide3.c) There isn't a clear pattern here. It's possible that the testcases are buggy, but's it's odd how they work on one arch and not the other, or vice versa. Regards, Roger -- Roger Leigh Printing on GNU/Linux? http://gutenprint.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. pgprvlhYHTkKZ.pgp Description: PGP signature
Bug#389215: gij: Please Provide java2-runtime
Package: gij Version: 4:4.1.1-7 Severity: normal Hi, gij has the following Provides: Provides: java-runtime, java1-runtime, java-virtual-machine Its depdendency, gij-4.1, has these Provides: Provides: java-virtual-machine, java2-runtime, java1-runtime, java-runtime Please could you also Provide java2-runtime to correct the dependencies? Thanks, Roger -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (990, 'unstable') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.17-1-powerpc Locale: LANG=en_GB.UTF8, LC_CTYPE=en_GB.UTF8 (charmap=UTF-8) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#345550: g++-4.0: Fails to compile C++ with -frepo
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 This has been reported upstream as GCC Bugzilla #25625: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25625 Regards, Roger - -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/> iD8DBQFDuBt+VcFcaSW/uEgRAgowAKDwms09xfVUXJ+qDR+If1H1T0RqxwCfdud0 kzVZurCumuSBAqU/xthpGUs= =KAyU -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#345550: g++-4.0: Fails to compile C++ with -frepo
Package: g++-4.0 Version: 4.0.2-5 Severity: normal Hi, given this trivial C++ code: #include #include int main(void) { std::cout << boost::format("Hello %1%!\n%2%\n") % "world" % 343 << std::flush; return 0; } It fails to compile: $ g++ -frepo -c test.cc /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::integral_c’: /usr/include/boost/type_traits/integral_constant.hpp:21: instantiated from ‘boost::integral_constant’ /usr/include/boost/type_traits/alignment_of.hpp:81: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:72: error: ‘(((unsigned int)mpl_::integral_c::value) + 1u)’ is not a valid template argument for type ‘unsigned int’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::integral_c’: /usr/include/boost/type_traits/integral_constant.hpp:21: instantiated from ‘boost::integral_constant’ /usr/include/boost/type_traits/alignment_of.hpp:81: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:73: error: ‘(((unsigned int)mpl_::integral_c::value) - 1u)’ is not a valid template argument for type ‘unsigned int’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::int_<3>’: /usr/include/boost/mpl/if.hpp:131: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:72: error: ‘(((int)mpl_::int_<3>::value) + 1)’ is not a valid template argument for type ‘int’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::int_<3>’: /usr/include/boost/mpl/if.hpp:131: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:73: error: ‘(((int)mpl_::int_<3>::value) - 1)’ is not a valid template argument for type ‘int’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::int_<-0x1>’: /usr/include/boost/mpl/if.hpp:131: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:72: error: ‘(((int)mpl_::int_<-0x1>::value) + 1)’ is not a valid template argument for type ‘int’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::int_<-0x1>’: /usr/include/boost/mpl/if.hpp:131: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:73: error: ‘(((int)mpl_::int_<-0x1>::value) - 1)’ is not a valid template argument for type ‘int’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::int_<1>’: /usr/include/boost/mpl/not.hpp:47: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:72: error: ‘(((int)mpl_::int_<1>::value) + 1)’ is not a valid template argument for type ‘int’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::int_<1>’: /usr/include/boost/mpl/not.hpp:47: instantiated from here /usr/include/boost/mpl/aux_/integral_wrapper.hpp:73: error: ‘(((int)mpl_::int_<1>::value) - 1)’ is not a valid template argument for type ‘int’ because it is a non-constant expression /usr/include/boost/mpl/if.hpp: In instantiation of ‘boost::mpl::if_, boost::optional_detail::types_when_is_ref, boost::optional_detail::types_when_isnt_ref >’: /usr/include/boost/optional/optional.hpp:152: instantiated from ‘boost::optional_detail::optional_base’ /usr/include/boost/optional/optional.hpp:407: instantiated from ‘boost::optional’ /usr/include/boost/format/internals.hpp:56: instantiated from here /usr/include/boost/mpl/if.hpp:67: error: ‘mpl_::bool_::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression /usr/include/boost/mpl/if.hpp: In instantiation of ‘boost::mpl::if_, boost::optional_detail::types_when_is_ref, boost::optional_detail::types_when_isnt_ref >’: /usr/include/boost/optional/optional.hpp:152: instantiated from ‘boost::optional_detail::optional_base’ /usr/include/boost/optional/optional.hpp:407: instantiated from ‘boost::optional’ /usr/include/boost/format/internals.hpp:56: instantiated from here /usr/include/boost/mpl/if.hpp:70: error: ‘mpl_::bool_::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression /usr/include/boost/mpl/aux_/integral_wrapper.hpp: In instantiation of ‘mpl_::integral_c’: /usr/include/boost/type_traits/integral_constant.hpp:21: instantiated from ‘boost::integral_constant’ /usr/include/boost/type_traits/alignment_of.hpp:61: instantiated from ‘boost::alignment_of’ /usr/include/boost/optional/optional.hpp:97: instantiated from ‘boost::optional_detail::aligned_storage::dummy_u’ /usr/include/boost/optional/optional.hpp:98: instantiated from ‘boost::optional_detail::aligned_storage’ /usr/includ
Bug#345821: libstdc++6: Documentation bug in ext/stdio_filebuf.h
Package: libstdc++6 Version: 4.0.2-5 Severity: normal Using libstdc++, I've got code like this: __gnu_cxx::stdio_filebuf fdbuf(fd, std::ios::in); The doxygen docs for this fd ctor say "The file descriptor will be automatically closed when the stdio_filebuf is closed/destroyed.", but I appear to be leaking fds due to making the assumption I was passing ownership of the fd to this streambuf, and not closing it by hand. Is this a documentation bug? I've checked , and I can't see any referece to close(). The docs for the FILE* ctor say " The FILE* will **not** be automatically closed when the stdio_filebuf is closed/destroyed.", so it looks like the docs are wrong in this case. If this is true, just adding "not" should fix it: -- System Information: --- stdio_filebuf.h.old 2006-01-03 18:49:58.653951737 + +++ stdio_filebuf.h 2006-01-03 18:50:31.536432330 + @@ -72,7 +72,7 @@ * @param size Optimal or preferred size of internal buffer, in chars. * * This constructor associates a file stream buffer with an open - * POSIX file descriptor. The file descriptor will be automatically + * POSIX file descriptor. The file descriptor will not be automatically * closed when the stdio_filebuf is closed/destroyed. */ stdio_filebuf(int __fd, std::ios_base::openmode __mode, I also filed this upstream (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25653). Regards, Roger Debian Release: testing/unstable APT prefers unstable APT policy: (990, 'unstable') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.15 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages libstdc++6 depends on: ii gcc-4.0-base 4.0.2-5The GNU Compiler Collection (base ii libc6 2.3.5-10 GNU C Library: Shared libraries an ii libgcc1 1:4.0.2-5 GCC support library libstdc++6 recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#345550: Bug #345550 g++-4.0: Fails to compile C++ with -frepo
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 tags 345550 + fixed-upstream thanks This was fixed upstream (SVN changesets 109305, 109306 and 109307) for the 4.0.3 release. Regards, Roger - -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/> iD8DBQFDu6L2VcFcaSW/uEgRApSuAJ0RHo3eomfib+2MRURw7vULmHSL8ACg1/PD rvTWvdpG9PshB2CUisIyiB4= =ZO17 -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#424896: libstdc++6-4.2-doc: Missing conflict with libstdc++6-4.1-doc makes package uninstallable
Package: libstdc++6-4.2-doc Version: 4.2-20070516-1 Severity: serious Justification: Won't install due to duplicate files from libstdc++6-4.1-doc Unpacking libstdc++6-4.2-doc (from .../libstdc++6-4.2-doc_4.2-20070516-1_all.deb) ... dpkg: error processing /var/cache/apt/archives/libstdc++6-4.2-doc_4.2-20070516-1_all.deb (--unpack): trying to overwrite `/usr/share/man/man3/std::tr1::_Derives_from_binary_function.3.gz', which is also in package libstdc++6-4.1-doc dpkg-deb: subprocess paste killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/libstdc++6-4.2-doc_4.2-20070516-1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1) Changing Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, libstdc++6-4.0-doc to Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, libstdc++6-4.0-doc, libstdc++6-4.1-doc should fix this. Regards, Roger -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (990, 'unstable') Architecture: powerpc (ppc) Kernel: Linux 2.6.18-3-powerpc Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libstdc++6-4.2-doc depends on: ii gcc-4.2-base 4.2-20070516-1 The GNU Compiler Collection (base libstdc++6-4.2-doc recommends no packages. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#307111: gcc-4.0: Missing lsb-release build dependency
Package: gcc-4.0 Version: 4.0.0-1 Severity: serious Tags: experimental Justification: no longer builds from source [EMAIL PROTECTED]:/tmp/gccbuild/gcc-4.0-4.0.0$ time debuild -uc -us dpkg-buildpackage: source package is gcc-4.0 dpkg-buildpackage: source version is 4.0.0-1 dpkg-buildpackage: host architecture is powerpc fakeroot debian/rules clean /bin/bash: lsb_release: command not found rm -rf stamps rm -rf gcc-4.0.0 gpc-20030830 p /usr/bin/make -f debian/rules2 clean /bin/bash: lsb_release: command not found lsb_release is missing. The lsb-release package might need adding to the Build-Depends. Regards, Roger -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (990, 'unstable') Architecture: powerpc (ppc) Kernel: Linux 2.6.11.7 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
gcc build log: 4.0.0-1 on powerpc-unknown-linux-gnu
one)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name VersionDescription +++-==-==- ii binutils 2.15-5 The GNU assembler, linker and binary utiliti ii libc6-dev 2.3.2.ds1-21 GNU C Library: Development Libraries and Hea Patches that Debian applied in this version: gcc-version: Add "(Debian )" to the gcc version string gcc-textdomain: Set gettext's domain and textdomain to the versioned package name. rename-info-files: Allow transformations on info file names. Reference the transformed info file names in the texinfo files. libstdc++-pic: Build and install libstdc++_pic.a library. libstdc++-doclink: adjust hrefs to point to the local documentation amd64-specs: On x86-64 use 64bits mode assembly except with -m32. gccbug: Use sensible-editor instead of vi as fallback editor gccbug-posix: Make gccbug POSIX compliant (patch by David Weinehall) http://www.opengroup.org/onlinepubs/009695399/utilities/test.html boehm-gc-nocheck: Disable the boehm-gc testsuite. Hangs forever on this architecture acats-expect: Run the ACATS testsuite using expect fastjar-version: Append GCC version to the fastjar version string. libstdc++-doxygen: libstdc++ doxygen docs: Set SHORT_NAMES to YES pr19769: Temporary fix for gdb, dwarf2 and libjava per deb-protoize: build protoize/unprotoize binaries ada-link-lib: - Install the shared Ada libraries as '.so.1', not '.so' to conform to the Debian policy. - Don't include a runtime link path (-rpath), when linking binaries. - Build the shared libraries on hppa-linux. ada-gcc-name: use gcc-4.0 instead of gcc as the command name. link-libs: reporting: Add Debian URL for bug reporting isntructions. Counting all warnings, there are 41 warnings in stage3 of this bootstrap. Number of warnings per file: 11 treelang/lex.c 7 /usr/share/bison/bison.simple 6 gcc/config/rs6000/altivec.md 5 gcc/gcc.c 3 gengtype-lex.c 2 gcc/objc/lang-specs.h 1 gcc/treelang/parse.y 1 gcc/protoize.c 1 gcc/java/jvspec.c 1 gcc/fortran/trans-common.c 1 gcc/fortran/simplify.c 1 gcc/fortran/resolve.c 1 gcc/fortran/expr.c Number of warning types: 8 old-style function definition 4 operand 3 missing mode? 4 control may reach end of non-void function â__gmpz_get_uiâ being inlined 2 operand 1 missing mode? 2 label âyyoverflowlabâ defined but not used 1 string length â844â is greater than the length â509â ISO C89 compilers are required to support 1 string length â834â is greater than the length â509â ISO C89 compilers are required to support 1 string length â791â is greater than the length â509â ISO C89 compilers are required to support 1 string length â783â is greater than the length â509â ISO C89 compilers are required to support 1 string length â692â is greater than the length â509â ISO C89 compilers are required to support 1 string length â643â is greater than the length â509â ISO C89 compilers are required to support 1 string length â608â is greater than the length â509â ISO C89 compilers are required to support 1 string length â1148â is greater than the length â509â ISO C89 compilers are required to support 1 no previous prototype for âyyset_outâ 1 no previous prototype for âyyset_linenoâ 1 no previous prototype for âyyset_inâ 1 no previous prototype for âyyset_debugâ 1 no previous prototype for âyylex_destroyâ 1 no previous prototype for âyyget_textâ 1 no previous prototype for âyyget_outâ 1 no previous prototype for âyyget_linenoâ 1 no previous prototype for âyyget_lengâ 1 no previous prototype for âyyget_inâ 1 no previous prototype for âyyget_debugâ 1 control may reach end of non-void function âcheck_type_matchâ being inlined 1 argument âclean_text_pâ might be clobbered by âlongjmpâ or âvforkâ END test-summary -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail.
Bug#309708: libgcc1 shlibs are Ubuntu-specific
Package: libgcc1 Version: 1:4.0.0-1 Severity: grave Tags: experimental Justification: renders package unusable in Debian $ cat /var/lib/dpkg/info/libgcc1.shlibs libgcc_s 1 libgcc1 (>= 1:4.0-0pre6ubuntu4) I noticed this when checking a package I NMU'd: http://packages.qa.debian.org/s/scite.html # scite/powerpc unsatisfiable Depends: libgcc1 (>= 1:4.0-0pre6ubuntu4) This is the unstable version: $ cat /var/lib/dpkg/info/libgcc1.shlibs libgcc_s 1 libgcc1 (>= 1:3.4.1-3) The ubuntu-specific version should not be in Debian. Regards, Roger -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (990, 'unstable') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.12-rc4 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages libgcc1 depends on: ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
gcc-4.0 build problems on powerpc
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi folks, I found quite a number of errors, many minor, some serious, building 4.0.0-7, in both the gcc build and while packaging. I've put all the detail in bug #309986. Regards, Roger [PS. I'm not subscribed to debian-gcc, so I'd appreciate a CC on any replies. Thanks.] - -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/> iD8DBQFCjvYuVcFcaSW/uEgRAoq6AJ0d49+um45j8I4oP/zRRY9Qr8HUvQCgsuEA wig16rgwIg4Bta//oBPsQ7g= =e5Y4 -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#309986: gcc-4.0 build problems on powerpc
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Falk Hueffner <[EMAIL PROTECTED]> writes: > Roger Leigh <[EMAIL PROTECTED]> writes: > >> I found quite a number of errors, many minor, some serious, building >> 4.0.0-7, in both the gcc build and while packaging. I've put all >> the detail in bug #309986. > > You mention warnings about "returning pointer to automatic variable" > and "expr is called with too many arguments". I cannot find them in > the script, can you point them out? The other warnings seem harmless. Sorry the listing is so long: it took a few hours to edit the 11 MiB to under 200 KiB. It's on line 30075 of the full listing: ./libtool: line 4696: /usr/bin/expr: Argument list too long using piecewise archive linking... This is while creating libgcj.a, so there may be some object files missed out of the ar command. It's happening inside libtool. /home/rleigh/gcc/gcc-4.0-4.0.0/src/libobjc/thr.c:117: warning: 'noreturn' function does return Remove the noreturn attribute?? ../../../src/boehm-gc/mark_rts.c: In function 'GC_approx_sp': ../../../src/boehm-gc/mark_rts.c:379: warning: function returns address of local variable That's never a good idea. And there's a shlibs problem in a few packages, for example dh_shlibdeps -pgnat-4.0 -L libgnat-4.0 -l debian/libgnat-4.0/usr/lib dpkg-shlibdeps: warning: could not find path for ld.so.1 dpkg-shlibdeps: warning: could not find any packages for (ld.so.1) dpkg-shlibdeps: warning: unable to find dependency information for shared library ld (soname 1, path , dependency field Depends) $ cat /var/lib/dpkg/info/libc6.shlibs ld 1 libc6 (>= 2.3.2.ds1-21) Presumably, there's a binary linked incorrectly or a problem in the rules or the control file causing this. Maybe something's assuming something i386-specific, like ld-linux.so.2, but I'm afraid I'm not at all familiar with the GCC packaging. Regards, Roger - -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/> iD8DBQFCjwmGVcFcaSW/uEgRAgY+AKDrA/JLbY3tzAjSEieOid6DmpvZtgCeLWH3 3mwuyFVMv6NxoWzYKsYAbIw= =HsT1 -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#309986: gcc-4.0 build problems on powerpc
ind dependency information for shared library ld (soname 1, path , dependency field Depends) dpkg-shlibdeps: warning: could not find any packages for (ld.so.1) dpkg-shlibdeps: warning: unable to find dependency information for shared library ld (soname 1, path , dependency field Depends) dpkg-shlibdeps: warning: could not find any packages for (ld.so.1) dpkg-shlibdeps: warning: unable to find dependency information for shared library ld (soname 1, path , dependency field Depends) dpkg-shlibdeps: warning: could not find any packages for (ld.so.1) dpkg-shlibdeps: warning: unable to find dependency information for shared library ld (soname 1, path , dependency field Depends) Use of uninitialized value in scalar assignment at /usr/bin/dh_shlibdeps line 138, line 3. Making things simpler: [EMAIL PROTECTED]:~/gcc/gcc-4.0-4.0.0$ dpkg-shlibdeps -O -edebian/gnat-4.0/usr/bin/gnat dpkg-shlibdeps: warning: could not find path for ld.so.1 dpkg-shlibdeps: warning: could not find any packages for (ld.so.1) dpkg-shlibdeps: warning: unable to find dependency information for shared library ld (soname 1, path , dependency field Depends) shlibs:Depends=libc6 (>= 2.3.2.ds1-21) [EMAIL PROTECTED]:~/gcc/gcc-4.0-4.0.0$ ldd debian/gnat-4.0/usr/bin/gnat libc.so.6 => /lib/libc.so.6 (0x0fe70000) /lib/ld.so.1 => /lib/ld.so.1 (0x0ffd) $ objdump -p debian/gnat-4.0/usr/bin/gnat | grep NEEDED NEEDED libc.so.6 NEEDED ld.so.1 Regards, Roger -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#317233: gcc-4.0 regression, possibly powerpc-specific, causes segfault in compiled binary
Package: gcc-4.0 Version: 4.0.0-11 Severity: normal If I compile schroot http://ftp.debian.org/debian/pool/main/s/schroot/schroot_0.1.2-1.dsc http://ftp.debian.org/debian/pool/main/s/schroot/schroot_0.1.2.orig.tar.gz http://ftp.debian.org/debian/pool/main/s/schroot/schroot_0.1.2-1.diff.gz with gcc-3.3 and gcc-3.4, the resulting binary works. If I build with gcc-4.0, it segfaults. Try "schroot --help", for example. The problem only because apparent when the gcc-defaults changed to default to 4.0. I've tried compiling with nearly every gcc warning enabled, but I couldn't find anything other than trivial warnings. I've also reviewed the code, but can't see anything wrong. The code is fairly simple; I'm not using any GCC extensions, just plain C99 source. The fault occurs shortly after startup, calling parse_options() (schroot/schroot.c). If it would be useful, I can reduce it to a smaller test case, but the code worked just fine with 3.3. Regards, Roger -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (990, 'unstable') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.12 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages gcc-4.0 depends on: ii binutils2.15-7 The GNU assembler, linker and bina ii cpp-4.0 4.0.0-11 The GNU C preprocessor ii gcc-4.0-base4.0.0-11 The GNU Compiler Collection (base ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii libgcc1 1:4.0.0-11 GCC support library Versions of packages gcc-4.0 recommends: ii libc6-dev 2.3.2.ds1-22 GNU C Library: Development Librari ii libmudflap0-dev 4.0.0-11 GCC mudflap support libraries (dev -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#317233: gcc-4.0 regression, possibly powerpc-specific, causes segfault in compiled binary
Matthias Klose <[EMAIL PROTECTED]> writes: > Roger Leigh writes: >> The fault occurs shortly after startup, calling parse_options() >> (schroot/schroot.c). >> >> If it would be useful, I can reduce it to a smaller test case, but the >> code worked just fine with 3.3. > > yes, it would be useful. is this powerpc specific, or is seen on other > archs as well? I only have access to a powerpc sid system with the appropriate build-deps, so I've only tested on powerpc. I found the problem eventually. It was fixed by the addition of a single const. I'm not sure why this was fatal: @@ -61,7 +60,7 @@ }; /* Command-line options. */ -static GOptionEntry entries[] = +static const GOptionEntry entries[] = { { "all", 'a', 0, G_OPTION_ARG_NONE, &opt.all, N_("Run command in all chroots"), NULL }, { "chroot", 'c', 0, G_OPTION_ARG_STRING_ARRAY, &opt.chroots, N_("Use specified chroot"), "chroot" }, Before: $ ./schroot --help Usage: schroot [OPTION...] - run command or shell in a chroot Segmentation fault After: $ ./schroot --help Usage: schroot [OPTION...] - run command or shell in a chroot Help Options: -?, --help Show help options Application Options: -a, --all Run command in all chroots -c, --chroot=chrootUse specified chroot -u, --user=userUsername (default current user) -l, --list List available chroots -i, --info Show information about chroot -p, --preserve-environment Preserve user environment -q, --quietShow less output -V, --version Print version information I'm not sure if this is a gcc bug or not. It's certainly a little odd, and not at all obvious. Regards, Roger -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#317233: gcc-4.0 regression, possibly powerpc-specific, causes segfault in compiled binary
Matthias Klose <[EMAIL PROTECTED]> writes: >> If it would be useful, I can reduce it to a smaller test case, but the >> code worked just fine with 3.3. > > yes, it would be useful. Attached, though it's more a test of success than failure. This differs from the fix I mentioned in the previous mail, in that I stripped everything out except for the option parsing, *but* I didn't make the options const. However, it works without me applying the const fix. Build with gcc -o schroot schroot.c `pkg-config --cflags --libs gobject-2.0` Regards, Roger -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. /* schroot - securely enter a chroot * * Copyright © 2005 Roger Leigh <[EMAIL PROTECTED]> * * schroot is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * schroot is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * */ #define _GNU_SOURCE #include #include #include #include #include #include #include /* Stored command-line options. */ static struct { char **chroots; char **command; char *user; gboolean preserve; gboolean quiet; gboolean list; gboolean info; gboolean all; gboolean version; } opt = { .chroots = NULL, .command = NULL, .user = NULL, .preserve = FALSE, .quiet = FALSE, .list = FALSE, .info = FALSE, .all = FALSE, .version = FALSE }; /* Command-line options. */ static GOptionEntry entries[] = { { "all", 'a', 0, G_OPTION_ARG_NONE, &opt.all, N_("Run command in all chroots"), NULL }, { "chroot", 'c', 0, G_OPTION_ARG_STRING_ARRAY, &opt.chroots, N_("Use specified chroot"), "chroot" }, { "user", 'u', 0, G_OPTION_ARG_STRING, &opt.user, N_("Username (default current user)"), "user" }, { "list", 'l', 0, G_OPTION_ARG_NONE, &opt.list, N_("List available chroots"), NULL }, { "info", 'i', 0, G_OPTION_ARG_NONE, &opt.info, N_("Show information about chroot"), NULL }, { "preserve-environment", 'p', 0, G_OPTION_ARG_NONE, &opt.preserve, N_("Preserve user environment"), NULL }, { "quiet", 'q', 0, G_OPTION_ARG_NONE, &opt.quiet, N_("Show less output"), NULL }, { "version", 'V', 0, G_OPTION_ARG_NONE, &opt.version, N_("Print version information"), NULL }, { G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt.command, NULL, NULL } }; /** * parse_options: * @argc: the number of arguments * @argv: argument vector * * Parse command-line options. The options are places in the opt * structure. */ static void parse_options(int argc, char *argv[]) { GError *error = NULL; GOptionContext *context = g_option_context_new (_("- run command or shell in a chroot")); g_option_context_add_main_entries (context, entries, "schroot"); g_option_context_parse (context, &argc, &argv, &error); } /** * print_version: * @file: the file to print to * * Print version information. */ void print_version (FILE *file) { g_fprintf(file, _("schroot (Debian sbuild) %s\n"), "gcc-debug"); g_fprintf(file, _("Written by Roger Leigh\n\n")); g_fprintf(file, _("Copyright (C) 2004-2005 Roger Leigh\n")); g_fprintf(file, _("This is free software; see the source for copying conditions. There is NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n")); } /** * debug_logfunc: * @log_domain: the log domain * @log_level: the logging level * @message: the message to log * @user_data: extra detail * * Log a debugging message. This is a "NULL" message handler that * does nothing, discarding all messages. */ void debug_logfunc (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { /* Discard all messages. */ } /** * main: * @argc: the number of arguments * @argv: argument ve
Bug#317233: gcc-4.0 regression, possibly powerpc-specific, causes segfault in compiled binary
Matthias Klose <[EMAIL PROTECTED]> writes: retitle 317233 gcc-4.0 regression causes segfault in compiled binary thanks > yes, it would be useful. is this powerpc specific, or is seen on other > archs as well? It's also been confirmed on i386 (all the previous info applies equally to i386 as well as powerpc). The cause is not apparent however. Because the test case works, _and_ adding const works, exactly what changed is not at all clear. The fault is in IA__g_str_hash(), called from g_option_context_parse() in parse_options(). gdb shows that the argc and argv passed to g_option_context_parse are not corrupted on entry. Matthijs Mohlmann reports random corruption of argc though (but it varies from run to run). >From #debian-bugs: Active2: do you want a backtrace ? rleigh: Yes please (gdb is broken on ppc for me). Could you next change 'static GOptionEntry entries[] =' to 'static const GOptionEntry entries[] =' in schroot/schroot.c, and try again? Active2: can i paste here ? rleigh: Sure. Active2: #0 0xb7f631e7 in g_str_hash () from /usr/lib/libglib-2.0.so.0 Active2: #1 0xb7f3d7a4 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 Active2: #2 0xb7f5606d in g_option_context_add_main_entries () Active2: from /usr/lib/libglib-2.0.so.0 Active2: #3 0xb7f57af7 in g_option_context_parse () from /usr/lib/libglib-2.0.so.0 rleigh: Thanks. Could you try adding the const keyword, and try again? Active2: now it is solved with the const keyword rleigh: Bizarre! I can't see any reason why making it const should do that, since g_option_context_add_main_entries() takes a const pointer. It shouldn't matter that the object isn't actually const. rleigh: Please could you try building the patch here: http://bugs.debian.org/cgi-bin/bugreport.cgi/schroot.c?bug=317233&msg=12&att=1 rleigh: Build with gcc -o schroot schroot.c `pkg-config --cflags --libs gobject-2.0` rleigh: This doesn't add the const, but strips out other bits. Active2: works rleigh: Thanks. So it's identical to powerpc. Active2: np rleigh: Now for the hard question! Any idea what's going on? Active2: is glib already compiled with the new gcc ? i don't know if that can be a problem rleigh: Active2: not yet; it shouldn't be needed for C code. rleigh: I'll rebuild it to see. Active2: sometimes it goes ok and sometimes it segfaults Active2: #4 0x0804a4da in main (argc=1601463655, argv=0x5f746567) at schroot.c:93 Active2: config = Variable "config" is not available. rleigh: Is this with the const or without? Active2: without rleigh: The original, or the testcase from the bug report? Active2: The original Active2: rleigh, is this ok: Active2: (gdb) print argc Active2: $2 = -1073742940 Active2: that's in parse_options rleigh: Active2: No; that's very broken. I've seen that happen before, I just can't remember why. Memory corruption is likely. rleigh: Active2: Could you try 'nm schroot/schroot | grep parse_options'? For some reason the symbol is not visible. Active2: [EMAIL PROTECTED] % nm /usr/bin/schroot| grep parse_options ~ Active2: [EMAIL PROTECTED] % Active2: rleigh, can you try the following: Active2: replace 'parse_options(argc, argv);' with 'parse_options(&argc, argv);' in the main function rleigh: Active2: It segfaults in IA__g_str_hash(). rleigh: (and also if I change parse_options to take an int *argc) Active2: no segfault here, but what i don't understand is: Active2: when i run schroot --help (with gdb) i get this: Active2: Breakpoint 1, main (argc=2, argv=0x1) at schroot.c:201 Active2: is the argc right ? Active2: I don't know how to fix that rleigh: Yes. argv[] will be set to {"schroot", "--help", NULL}; i.e. 2 options (argv[0] is typically the program name, and the options follow that). Active2: rleigh, testing with a simple c program it works (argc gets the correct value in the function i pass argc to) so it must go fault earlier Active2: sorry i'm out of options rleigh: Active2: I'm not sure. breaking on g_option_context_parse shows argc == 2. Regards. Roger -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#317233: gcc-4.0 regression, possibly powerpc-specific, causes segfault in compiled binary
reassign 317233 schroot retitle 317233 command-line options are not terminated by a null option thanks This was due to an array of structs not having a null member. Using the const qualifier moved it to .rodata, where it worked by chance. Sorry to bother you with this. Roger -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linuxhttp://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Using "typename std::iterator" causes segfault
>Submitter-Id: net >Originator: Roger Leigh >Organization: Debian Project >Confidential: no >Synopsis: Using "typedef typename std::iterator difference_type" causes a >segfault. >Severity: non-critical >Priority: low >Category: c++ >Class: ice-on-illegal-code >Release: 3.3.3 20031229 (prerelease) (Debian) (Debian testing/unstable) >Environment: System: Linux wrynose 2.6.1 #3 Tue Jan 20 23:27:03 GMT 2004 i686 GNU/Linux Architecture: i686 host: i486-pc-linux-gnu build: i486-pc-linux-gnu target: i486-pc-linux-gnu configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux >Description: $ g++ -o test test.cc test.cc:24: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. >How-To-Repeat: 1 #include 2 3 template 4 class myclass 5 { 6 private: 7 T m_value; 8 public: 9 myclass(T& value): m_value(value) {} 10 11 class myiter : public std::iterator 12 { 13 public: 14 typedef std::size_t size_type; 15 typedef typename std::iterator difference_type; 16 17 private: 18 size_type m_pos; 19 20 myiter(size_type pos): m_pos(pos) {} 21 22 public: 23 myiter operator + (difference_type incr) 24 { 25 size_type pos = m_pos; 26 if (pos + incr < m_result->size()) 27 pos += incr; 28 else 29 pos = m_result->size(); 30 return myiter(*m_result, pos); 31 } 32 }; 33 }; 34 35 int main() 36 { 37 myclass i; 38 return 0; 39 } >Fix: None, sorry.