[Bug other/21398] gcc emits invalid operands for xchgb %b0, %h0
--- Additional Comments From pluto at pld-linux dot org 2005-05-05 14:41 --- (In reply to comment #3) > (In reply to comment #2) > > in online docs i see that "q" means "byte addressable register (a,b,c,d)". > > in i386.h i see something differ for x86_64. did i miss something in docs? > > Yes see comment #1 which is a quote from the docs. ohh, i should fix my /dev/brain :) i'll use the "=Q" format. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21398
[Bug other/21398] gcc emits invalid operands for xchgb %b0, %h0
--- Additional Comments From pluto at pld-linux dot org 2005-05-05 14:22 --- in online docs i see that "q" means "byte addressable register (a,b,c,d)". in i386.h i see something differ for x86_64. did i miss something in docs? #define REG_CLASS_FROM_LETTER(C)\ ((C) == 'r' ? GENERAL_REGS : \ (C) == 'R' ? LEGACY_REGS : \ (C) == 'q' ? TARGET_64BIT ? GENERAL_REGS : Q_REGS : \ ^^^ (C) == 'Q' ? Q_REGS :\ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21398
[Bug other/21398] gcc emits invalid operands for xchgb %b0, %h0
-- What|Removed |Added CC||mmazur at kernel dot pl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21398
[Bug other/21398] New: gcc emits invalid operands for xchgb %b0, %h0
the code like this: unsigned short swap16(unsigned short x) { asm volatile ("xchgb %b0, %h0" : "=q" (x) : "0" (x)); return x; } produces: swap16: xchgb %dil, %di <== %di isn't valid high 8-bit form. movzwl %di, %eax ret IIRC the %rdi, %rsi, %rsp, %rbp haven't a high 8-bit form. -- Summary: gcc emits invalid operands for xchgb %b0, %h0 Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: amd64-pld-linux GCC host triplet: amd64-pld-linux GCC target triplet: amd64-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21398
[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol
--- Additional Comments From pluto at pld-linux dot org 2005-05-05 00:37 --- (In reply to comment #13) > (In reply to comment #12) > > The first attempt is at > > > > http://gcc.gnu.org/ml/gcc-patches/2005-02/msg01835.html > > > > patches for pr19664 and 20218 kill gcc bootstrap. gcj fails: > > /home/users/builder/rpm/BUILD/gcc-4.0.0/obj-athlon-pld-linux/gcc/gcj > -B/home/users/builder/rpm/BUILD/gcc-4.0.0/obj-athlon-pld-linux/gcc/ > -B/usr/athlon-pld-linux/bin/ -B/usr/athlon-pld-linux/lib/ > -isystem /usr/athlon-pld-linux/include > -isystem /usr/athlon-pld-linux/sys-include -ffloat-store > -fno-omit-frame-pointer -fclasspath= > -fbootclasspath=(long paths) --encoding=UTF-8 > -Wno-deprecated -O2 -march=athlon -ggdb -fjni -findirect-dispatch > -c (long list of .class) -fPIC -o .libs/gnu-xml.o > > /tmp/B.27ba32/ccv1kDt2jx:0: internal compiler error: in > lhd_set_decl_assembler_name, at langhooks.c:191 > differ crash on amd64: stage1/xgcc -Bstage1/ -B/usr/amd64-pld-linux/bin/ -O2 -ggdb -fprofile-generate -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -c insn-attrtab.c \ -o insn-attrtab.o insn-attrtab.c: In function '_GLOBAL__I_0_insn_current_length': insn-attrtab.c:64398: internal compiler error: Segmentation fault and waiting for powerpc core dump... :> -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218
[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol
-- What|Removed |Added CC||mmazur at kernel dot pl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218
[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol
--- Additional Comments From pluto at pld-linux dot org 2005-05-05 00:31 --- (In reply to comment #12) > The first attempt is at > > http://gcc.gnu.org/ml/gcc-patches/2005-02/msg01835.html > patches for pr19664 and 20218 kill gcc bootstrap. gcj fails: /home/users/builder/rpm/BUILD/gcc-4.0.0/obj-athlon-pld-linux/gcc/gcj -B/home/users/builder/rpm/BUILD/gcc-4.0.0/obj-athlon-pld-linux/gcc/ -B/usr/athlon-pld-linux/bin/ -B/usr/athlon-pld-linux/lib/ -isystem /usr/athlon-pld-linux/include -isystem /usr/athlon-pld-linux/sys-include -ffloat-store -fno-omit-frame-pointer -fclasspath= -fbootclasspath=(long paths) --encoding=UTF-8 -Wno-deprecated -O2 -march=athlon -ggdb -fjni -findirect-dispatch -c (long list of .class) -fPIC -o .libs/gnu-xml.o /tmp/B.27ba32/ccv1kDt2jx:0: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:191 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218
[Bug other/21382] -fvisibility-inlines-hidden breaks OpenEXR-1.2.2 build.
-- What|Removed |Added CC||mmazur at kernel dot pl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21382
[Bug other/21382] -fvisibility-inlines-hidden breaks OpenEXR-1.2.2 build.
--- Additional Comments From pluto at pld-linux dot org 2005-05-04 15:08 --- Created an attachment (id=8819) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8819&action=view) build log. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21382
[Bug other/21382] -fvisibility-inlines-hidden breaks OpenEXR-1.2.2 build.
--- Additional Comments From pluto at pld-linux dot org 2005-05-04 15:08 --- Created an attachment (id=8818) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8818&action=view) build log. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21382
[Bug other/21382] New: -fvisibility-inlines-hidden breaks OpenEXR-1.2.2 build.
on both archs shared objects are build with: -O2 -ggdb -fvisibility-inlines-hidden -fPIC -DPIC linking fails with an error: /usr/bin/ld: .libs/IexBaseExc.o: relocation R_X86_64_PC32 against `_ZNSsD1Ev@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value without -fvisiblity-inlines-hidden everything is ok on all archs. is this a gcc or binutils bug? # gcc-4.0.0 (+fixes for PRs 20973,21173) # binutils-2.16.90.0.2 -- Summary: -fvisibility-inlines-hidden breaks OpenEXR-1.2.2 build. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: amd64 & ppc GCC host triplet: amd64 & ppc GCC target triplet: amd64 & ppc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21382
[Bug middle-end/21291] [4.0/4.1 Regression] can't find a register in class 'GENERAL_REGS' while reloading 'asm'
--- Additional Comments From pluto at pld-linux dot org 2005-04-30 09:35 --- (In reply to comment #5) > (In reply to comment #3) > > I can't build the Objective Caml compiler with this gcc error :/ > > (...) > Also using -fomit-frame-pointer works around the problem by adding > another free register. What is most likely happening is we are not > selecting the secondary constraint. this code is a part of library (-fPIC in use). -fomit-frame-pointer won't help. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291
[Bug rtl-optimization/21291] can't find a register in class 'GENERAL_REGS' while reloading 'asm'
--- Additional Comments From pluto at pld-linux dot org 2005-04-29 21:43 --- (In reply to comment #2) > This is most likely not really a bug. I can't build the Objective Caml compiler with this gcc error :/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291
[Bug rtl-optimization/21291] can't find a register in class 'GENERAL_REGS' while reloading 'asm'
-- What|Removed |Added CC||mmazur at kernel dot pl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291
[Bug other/21291] can't find a register in class 'GENERAL_REGS' while reloading 'asm'
--- Additional Comments From pluto at pld-linux dot org 2005-04-29 21:22 --- Created an attachment (id=8768) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8768&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291
[Bug other/21291] New: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
works with -O0, fails with -O[123]. gcc-4.0.0 + patches for pr20973,21173. -- Summary: can't find a register in class 'GENERAL_REGS' while reloading 'asm' Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291
[Bug middle-end/21237] [4.0/4.1 Regression] unnecessary __cmpdi2 usage?
--- Additional Comments From pluto at pld-linux dot org 2005-04-28 18:04 --- __cmdi2 isn't used with -O0 but it is with -O1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21237
[Bug other/21237] unnecessary __cmpdi2 usage?
--- Additional Comments From pluto at pld-linux dot org 2005-04-26 16:48 --- Created an attachment (id=8746) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8746&action=view) asm dump -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21237
[Bug other/21237] unnecessary __cmpdi2 usage?
--- Additional Comments From pluto at pld-linux dot org 2005-04-26 16:46 --- Created an attachment (id=8745) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8745&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21237
[Bug other/21237] New: unnecessary __cmpdi2 usage?
in function cryptcompress_truncate() from reiserfs4 patch compiler uses __cmpdi2 for old_size vs new_size (64 bit) comparision: result = (old_size < new_size ? cryptcompress_append_hole(inode, new_size) : prune_cryptcompress(inode, new_size, update_sd, aidx)); in another case for simple foo() method gcc inlines __cmpdi2 equivalent: int foo(long long x, long long y) { return (x < y); } foo:cmpw 7,5,3 li 0,0 bgt- 7,.L3 cmplw 6,6,4 beq- 7,.L6 .L2:mr 3,0 blr .L6:ble- 6,.L2 .L3:li 0,1 mr 3,0 blr what decides which variant is chosen? is it possible to force inlining? # gcc-4.0.0+pr20973+pr21173 -- Summary: unnecessary __cmpdi2 usage? Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: ppc-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21237
[Bug c++/20949] [4.0/4.1 Regression] misscompilation of konqueror, artsd, STLport, libstdc++, ...
--- Additional Comments From pluto at pld-linux dot org 2005-04-11 22:38 --- (In reply to comment #1) > Well without a test, there is still nothing we can do anyways because they could be invoking undefined > behavior :). > Also do they fail when compiled with -O0? Konqueror works fine with -O0 and crashes with -O1 (without Dirk Mueller's hack). With Dirk's hack konq. works with -O2. The bug occurs in KonqMainWindow::initActions() body. What kind of debug info do You need? tree-dumps for -O0/1? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20949
[Bug c++/20949] [4.0 Regression] misscompilation of konqueror, artsd, STLport, libstdc++, ...
-- What|Removed |Added CC||mmazur at kernel dot pl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20949
[Bug c++/20949] [4.0 Regression] misscompilation of konqueror, artsd, STLport, libstdc++, ...
--- Additional Comments From pluto at pld-linux dot org 2005-04-11 15:58 --- (In reply to comment #1) > Well without a test, there is still nothing we can do anyways because they could be invoking undefined > behavior :). > Also do they fail when compiled with -O0? arts crashes with -O0. Program received signal SIGSEGV, Segmentation fault. 0x406fc405 in __gnu_cxx::__pool::_M_reclaim_block () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0x406fc405 in __gnu_cxx::__pool::_M_reclaim_block () from /usr/lib/libstdc++.so.6 #1 0xb538 in ?? () #2 0x40014280 in _dl_runtime_resolve () from /lib/ld-linux.so.2 #3 0x40063efd in __gnu_cxx::__mt_alloc > ::deallocate (this=0xb2ac, __p=0x81058d8, __n=1) at mt_allocator.h:746 #4 0x40063f36 in std::_Vector_base > ::_M_deallocate (this=0xb2ac, __p=0x81058d8, __n=1) at stl_vector.h:123 #5 0x40063f71 in ~_Vector_base (this=0xb2ac) at stl_vector.h:109 #6 0x40063fe1 in ~vector (this=0xb2ac) at stl_vector.h:273 #7 0x40064013 in ~ObjectReference (this=0xb2a0) at reference.h:48 #8 0x40055244 in Arts::SoundServerStartup_base::_fromString ([EMAIL PROTECTED]) at soundserver.cc:2545 #9 0x080644d4 in SoundServerStartup (this=0xb314, [EMAIL PROTECTED]) at soundserver.h:1376 #10 0x0805585b in Arts::SoundServerStartup_impl::cleanReference (this=0x8164cf0) at soundserverstartup_impl.cc:54 #11 0x080559a1 in Arts::SoundServerStartup_impl::lock (this=0x8164cf0) at soundserverstartup_impl.cc:78 #12 0x0805e080 in Arts::SoundServerStartup::lock (this=0xb4a8) at soundserver.h:2082 #13 0x080561d2 in main (argc=65, argv=0x8614c381) at artsd.cc:293 kdebase and stlport not recompiled yet. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20949
[Bug c++/19317] [4.1 Regression] removing a temporary return value when we cannot
--- Additional Comments From pluto at pld-linux dot org 2005-04-11 14:43 --- (In reply to comment #28) > Subject: Re: [4.1 Regression] removing a temporary return > value when we cannot > > On 11 Apr 2005 08:59:58 -0000, "pluto at pld-linux dot org" <[EMAIL PROTECTED]> wrote: > > >> Have you tested the 4.0 branch with the temporary fix I applied? > > > > I applied a temporary fix and Dirk's hack to get konqueror working but > > misscompilation still exists. > > My patch fixes all the reduced testcases in this PR. If KDE is still > broken, I think that's a separate bug and needs testcases. Can you submit > another PR? I've opened the PR20949 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317
[Bug c++/20949] New: misscompilation of konqueror, artsd, STLport, libstdc++, ...
** [1] konqueror (kdebase-3.4.0). (gdb) bt #0 ~QIconSet (this=0x8209614) at qshared.h:50 ~QIconSet (this=0x8209614) at qshared.h:50 50 bool deref(){ return !--count; } (gdb) print this $1 = (QIconSet * const) 0x8209614 (gdb) print *this $2 = {_vptr.QIconSet = 0x41048ba8, d = 0x5} It looks as if "d" pointer was corrupted in toplevel. #1 0x4068cc51 in ~KGuiItem (this=0xbfffdbe4) at kguiitem.cpp:109 #2 0x400a1ce5 in ~QPair (this=0xbfffdbe4) at konq_mainwindow.cc:3683 #3 0x400727ea in KonqMainWindow::initActions (this=0x812af98) at konq_mainwindow.cc:3922 #4 0x4008b330 in KonqMainWindow (this=0x812af98, [EMAIL PROTECTED], openInitialURL=false, name=0x29 , [EMAIL PROTECTED]) at konq_mainwindow.cc:217 (...) Known workaround: http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/kdebase-gcc4-konq_mainwindow.patch?rev=1.3 ** [2] arts-1.4.0 Program received signal SIGSEGV, Segmentation fault. 0x404f7405 in __gnu_cxx::__pool::_M_reclaim_block () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0x404f7405 in __gnu_cxx::__pool::_M_reclaim_block () from /usr/lib/libstdc++.so.6 #1 0x08104928 in ?? () #2 0x0810492c in ?? () #3 0x in ?? () #4 0xb4d4 in ?? () #5 0xb4c8 in ?? () #6 0x in ?? () #7 0xb580 in ?? () #8 0x4006c8a0 in virtual thunk to Arts::GSLPlayObject_base::_defaultPortsOut() const () from /usr/lib/libsoundserver_idl.so.1 #9 0x4008ae60 in Arts::SampleStorageEntry_base::_IID () from /usr/lib/libsoundserver_idl.so.1 #10 0x08104928 in ?? () #11 0x0004 in ?? () #12 0x080ff100 in ?? () #13 0x081618ac in ?? () #14 0x081070bd in ?? () #15 0x081070f0 in ?? () #16 0xb4c8 in ?? () #17 0xb4b0 in ?? () #18 0xb4c8 in ?? () #19 0xb4b0 in ?? () #20 0x40061d49 in Arts::SoundServerStartup_base::_fromString () from /usr/lib/libsoundserver_idl.so.1 #21 0x0001 in ?? () #22 0x08073240 in vtable for Arts::ObjectReference () #23 0x080b902c in ?? () #24 0x001c in ?? () #25 0x081048d8 in ?? () #26 0x081048dc in ?? () #27 0x081048dc in ?? () #28 0x08073240 in vtable for Arts::ObjectReference () #29 0x0811634c in ?? () #30 0x001c in ?? () #31 0x08104928 in ?? () #32 0x0810492c in ?? () #33 0x0810492c in ?? () #34 0xb520 in ?? () #35 0x in ?? () #36 0xb508 in ?? () #37 0x0805e5e8 in Arts::SoundServerStartup_impl::cleanReference (this=0x8163ee0) at soundserver.h:1376 #38 0x0805ebda in Arts::SoundServerStartup_impl::lock (this=0x8163ee0) at soundserverstartup_impl.cc:78 #39 0x0805d51c in main (argc=1, argv=0xb784) at soundserver.h:2082 It may be related to PR19265 ** [3] STLport-4.6.2 (used by openoffice-1.1.3) OpenOffice's open-file dialog closes immediately after it was launched. This behavior came with rebuilded STLport. It works fine with gcc-3.4, 3.3 and some earlier 4.0-snaps. I will do a bsearch in free time. ** -- Summary: misscompilation of konqueror, artsd, STLport, libstdc++, ... Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org,jason at redhat dot com GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20949
[Bug rtl-optimization/20586] bootstrap comparision fails with -funroll-loops.
--- Additional Comments From pluto at pld-linux dot org 2005-04-11 13:08 --- Problem still exists in 4.0.0-20050409 snap. I've checked the i386.o and caller-save.o from stage2/3. They have the same size but diff. instructions in several places. --- stage2-i386.o.txt 2005-04-11 14:42:40.0 +0200 +++ stage3-i386.o.txt 2005-04-11 14:42:46.0 +0200 @@ -1,5 +1,5 @@ -stage2-i386.o: file format elf32-i386 +stage3-i386.o: file format elf32-i386 Disassembly of section .text: // split_di function @@ -4948,7 +4948,7 @@ 4461: 89 42 fcmov%eax,0xfffc(%edx) 4464: 8b 44 24 20 mov0x20(%esp),%eax 4468: 83 c0 01add$0x1,%eax -446b: 89 44 24 1c mov%eax,0x1c(%esp) +446b: 89 44 24 18 mov%eax,0x18(%esp) 446f: 8b 7c 24 24 mov0x24(%esp),%edi 4473: 83 ef 04sub$0x4,%edi 4476: 89 7c 24 24 mov%edi,0x24(%esp) @@ -4956,7 +4956,7 @@ 447d: 89 f5 mov%esi,%ebp 447f: 8b 54 24 28 mov0x28(%esp),%edx 4483: 83 ea 04sub$0x4,%edx -4486: 89 54 24 18 mov%edx,0x18(%esp) +4486: 89 54 24 1c mov%edx,0x1c(%esp) 448a: 8b 5a fcmov0xfffc(%edx),%ebx 448d: 66 83 3b 27 cmpw $0x27,(%ebx) 4491: 0f 84 fe 00 00 00 je 4595 @@ -4984,13 +4984,13 @@ 44e8: c7 04 24 0c 00 00 00movl $0xc,(%esp) 44ef: e8 fc ff ff ff call 44f0 44f4: 89 47 fcmov%eax,0xfffc(%edi) -44f7: 8b 54 24 1c mov0x1c(%esp),%edx +44f7: 8b 54 24 18 mov0x18(%esp),%edx 44fb: 83 c2 01add$0x1,%edx 44fe: 89 54 24 20 mov%edx,0x20(%esp) 4502: 83 ef 04sub$0x4,%edi 4505: 89 7c 24 24 mov%edi,0x24(%esp) 4509: 8d 6e fclea0xfffc(%esi),%ebp -450c: 8b 44 24 18 mov0x18(%esp),%eax +450c: 8b 44 24 1c mov0x1c(%esp),%eax 4510: 83 e8 04sub$0x4,%eax 4513: 89 44 24 28 mov%eax,0x28(%esp) 4517: 8b 44 24 44 mov0x44(%esp),%eax // split_ti function @@ -5144,7 +5144,7 @@ 474e: 89 42 fcmov%eax,0xfffc(%edx) 4751: 8b 44 24 20 mov0x20(%esp),%eax 4755: 83 c0 01add$0x1,%eax -4758: 89 44 24 1c mov%eax,0x1c(%esp) +4758: 89 44 24 18 mov%eax,0x18(%esp) 475c: 8d 7d fclea0xfffc(%ebp),%edi 475f: 89 fd mov%edi,%ebp 4761: 8b 74 24 24 mov0x24(%esp),%esi @@ -5152,7 +5152,7 @@ 4768: 89 74 24 24 mov%esi,0x24(%esp) 476c: 8b 54 24 28 mov0x28(%esp),%edx 4770: 83 ea 04sub$0x4,%edx -4773: 89 54 24 18 mov%edx,0x18(%esp) +4773: 89 54 24 1c mov%edx,0x1c(%esp) 4777: 8b 5a fcmov0xfffc(%edx),%ebx 477a: 66 83 3b 27 cmpw $0x27,(%ebx) 477e: 0f 84 e4 00 00 00 je 4868 @@ -5172,13 +5172,13 @@ 47bb: c7 04 24 0d 00 00 00movl $0xd,(%esp) 47c2: e8 fc ff ff ff call 47c3 47c7: 89 46 fcmov%eax,0xfffc(%esi) -47ca: 8b 54 24 1c mov0x1c(%esp),%edx +47ca: 8b 54 24 18 mov0x18(%esp),%edx 47ce: 83 c2 01add$0x1,%edx 47d1: 89 54 24 20 mov%edx,0x20(%esp) 47d5: 8d 6f fclea0xfffc(%edi),%ebp 47d8: 83 ee 04sub$0x4,%esi 47db: 89 74 24 24 mov%esi,0x24(%esp) -47df: 8b 44 24 18 mov0x18(%esp),%eax +47df: 8b 44 24 1c mov0x1c(%esp),%eax 47e3: 83 e8 04sub$0x4,%eax 47e6: 89 44 24 28 mov%eax,0x28(%esp) 47ea: 8b 44 24 44 mov0x44(%esp),%eax -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20586
[Bug c++/19317] [4.1 Regression] removing a temporary return value when we cannot
--- Additional Comments From pluto at pld-linux dot org 2005-04-11 08:59 --- (In reply to comment #26) > Subject: Re: [4.1 Regression] removing a temporary return > value when we cannot > > Have you tested the 4.0 branch with the temporary fix I applied? > > Jason > I applied a temporary fix and Dirk's hack to get konqueror working but misscompilation still exists. I see it on artsd crash and buggy openoffice behaviour (STLport is misscompiled now). Several gcc-snaps ago artsd/stl/openoffice worked fine. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317
[Bug c++/19317] [4.1 Regression] removing a temporary return value when we cannot
--- Additional Comments From pluto at pld-linux dot org 2005-04-09 02:29 --- (In reply to comment #24) > (In reply to comment #15) please ignore previous post. gcc passes params in the right way but something is wrong. with the original sourcecode gdb shows stack frame with invalid parameters (name, xmluiFile): #4 0x4008b10c in KonqMainWindow (this=0x812afc0, [EMAIL PROTECTED], openInitialURL=false, name=0x2e , [EMAIL PROTECTED]) at konq_mainwindow.cc:218 if I access xmluiFile at the begin of this cstr, eg. qDebug("name=%p, xmlui=%s", name, xmluiFile.ascii()); gdb will show a stack frame with correct params: #4 0x4008b130 in KonqMainWindow (this=0x812afc0, [EMAIL PROTECTED], openInitialURL=false, name=0x0, [EMAIL PROTECTED]) at konq_mainwindow.cc:218 disassembler shows only s/eax/edx/ in several places. is this a gdb-6.3 bug? i give up. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317
[Bug c++/19317] [4.1 Regression] removing a temporary return value when we cannot
--- Additional Comments From pluto at pld-linux dot org 2005-04-08 13:33 --- (In reply to comment #15) > thats the same issue like the konqueror crash which I couldn't > find a workaround for in gcc either. (gdb) bt #0 ~QIconSet (this=0x8209614) at qshared.h:50 ~QIconSet (this=0x8209614) at qshared.h:50 50 bool deref(){ return !--count; } (gdb) print this $1 = (QIconSet * const) 0x8209614 (gdb) print *this $2 = {_vptr.QIconSet = 0x41048ba8, d = 0x5} It looks as if "d" was corrupted in toplevel. #1 0x4068cc51 in ~KGuiItem (this=0xbfffdbe4) at kguiitem.cpp:109 #2 0x400a1ce5 in ~QPair (this=0xbfffdbe4) at konq_mainwindow.cc:3683 #3 0x400727ea in KonqMainWindow::initActions (this=0x812af98) at konq_mainwindow.cc:3922 #4 0x4008b330 in KonqMainWindow (this=0x812af98, [EMAIL PROTECTED], openInitialURL=false, name=0x29 , ^^^ [*] [EMAIL PROTECTED]) at konq_mainwindow.cc:217 #5 0x4009099c in KonqMisc::createBrowserWindowFromProfile ([EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], forbidUseHTML=false, [EMAIL PROTECTED], tempFile=false, openURL=true) at konq_misc.cc:152 #6 0x40096bae in kdemain (argc=41, argv=0x29) at konq_main.cc:155 #7 0x080486a2 in main (argc=41, argv=0x29) at konqueror.la.cc:2 [*] KonqMainWindow constructor was called from this context: (...) } else { KConfig cfg( path, true ); cfg.setDollarExpansion( true ); cfg.setGroup( "Profile" ); QString xmluiFile=cfg.readEntry("XMLUIFile","konqueror.rc"); 152: mainWindow = new KonqMainWindow( KURL(), false, 0, xmluiFile ); gcc passed 0x29 inplace of these params. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317
[Bug other/20741] reject valid code (?)
--- Additional Comments From pluto at pld-linux dot org 2005-04-03 18:55 --- Created an attachment (id=8522) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8522&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20741
[Bug other/20741] New: reject valid code (?)
# gcc -Wall -c bug.c -DBUG bug.c: In function 'foo': bug.c:10: error: jump into statement expression bug.c:13: error: jump into statement expression bug.c:11: error: jump into statement expression bug.c:14: error: jump into statement expression bug.c:14: warning: label 'encodeend1' defined but not used bug.c:13: warning: label 'encodeend0' defined but not used # gcc -v Reading specs from /usr/lib/gcc/i686-pld-linux/4.0.0/specs Target: i686-pld-linux Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,ada --enable-c99 --enable-long-long --disable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath i686-pld-linux Thread model: posix gcc version 4.0.0 20050402 (prerelease) (PLD Linux) -- Summary: reject valid code (?) Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20741
[Bug other/20349] [multilib] libjava(32) doesn't build.
--- Additional Comments From pluto at pld-linux dot org 2005-03-25 14:05 --- (In reply to comment #5) > This is defined on my x86-64 system: > grep sigaction /usr/include/bits/syscall.h > #define SYS_rt_sigaction __NR_rt_sigaction > #define SYS_sigaction __NR_sigaction > > This looks like a problem on your side building glibc. # egrep 'SYS.*sigaction' glibc* -R glibc-devel-2.3.4.amd64/usr/include/bits/syscall.h: #define SYS_rt_sigaction __NR_rt_sigaction glibc-devel-2.3.4.athlon/usr/include/bits/syscall.h: #define SYS_rt_sigaction __NR_rt_sigaction glibc-devel-2.3.4.i686/usr/include/bits/syscall.h: #define SYS_rt_sigaction __NR_rt_sigaction glibc-devel-2.3.4.i686/usr/include/bits/syscall.h: #define SYS_sigaction __NR_sigaction -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20349
[Bug other/20349] [multilib] libjava(32) doesn't build.
--- Additional Comments From pluto at pld-linux dot org 2005-03-25 12:37 --- (In reply to comment #3) > This looks like a bug in your installation of glibc. > #define INIT_SEGV \ > do \ > { \ > struct old_i386_kernel_sigaction kact; \ > kact.k_sa_handler = catch_segv; \ > kact.k_sa_mask = 0; \ > kact.k_sa_flags = 0x400;\ > kact.sa_restorer = restore; \ > syscall (SYS_sigaction, SIGSEGV, &kact, NULL); \ > } \ > while (0) > > > This works on a "native" 32bit compiler with a "native" 32bit glibc. > > Can you confirm that this is your bug in your installation of glibc? from i386 defines SYS_sigaction. x86_64 doesn't define SYS_sigaction (even for -m32 abi). it looks like a bug in dual arch glibc headers. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20349
[Bug middle-end/20635] [4.0/4.1 Regression] ICE in cgraph_mark_reachable_node
-- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20635
[Bug libstdc++/19265] problem with _S_destroy_thread_key when using dynamic libraries
-- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19265
[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol
-- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218
[Bug libstdc++/19265] problem with _S_destroy_thread_key when using dynamic libraries
--- Additional Comments From pluto at pld-linux dot org 2005-03-24 13:16 --- (In reply to comment #9) > I can confirm this (unfortunately, haha). hmm, --save-temps option produces totally diff. plugin and behaviuor :O this is really amazing. # make clean all OPT="-O" rm -f dltest *.o *.ii *.s g++ -Wall -g -O -c -o dltest.o dltest.cc g++ -Wall -g -O -lpthread -ldl -Wl,--export-dynamic -Wall dltest.o -o dltest g++ -Wall -g -O -shared -o plugin.o plugin.cc -rwx-- 1 pluto users 23062 Mar 24 14:08 dltest -rw--- 1 pluto users 19520 Mar 24 14:08 dltest.o -rwx-- 1 pluto users 80645 Mar 24 14:08 plugin.o # ./dltest Segmentation fault # make clean all OPT="-O --save-temps" rm -f dltest *.o *.ii *.s g++ -Wall -g -O --save-temps -c -o dltest.o dltest.cc g++ -Wall -g -O --save-temps -lpthread -ldl -Wl,--export-dynamic -Wall dltest.o -o dltest g++ -Wall -g -O --save-temps -shared -o plugin.o plugin.cc -rwx-- 1 pluto users 23062 Mar 24 14:09 dltest -rw--- 1 pluto users 19520 Mar 24 14:09 dltest.o -rwx-- 1 pluto users 5436 Mar 24 14:09 plugin.o # ./dltest ./plugin.o: undefined symbol: entry -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19265
[Bug c++/19317] [4.0/4.1 Regression] removing a temporary return value when we cannot
--- Additional Comments From pluto at pld-linux dot org 2005-03-24 11:07 --- (In reply to comment #15) > thats the same issue like the konqueror crash which I couldn't > find a workaround for in gcc either. > > Please looka at the PR19265 testcase (http://dc.selwerd.nl/dlcrash.tar.bz2). # ./dltest Segmentation fault # gcc -v Reading specs from /usr/lib/gcc/i686-pld-linux/4.0.0/specs Target: i686-pld-linux Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,ada,java --enable-c99 --enable-long-long --disable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath --enable-libgcj --enable-libgcj-multifile --enable-libgcj-database --enable-gtk-cairo i686-pld-linux Thread model: posix gcc version 4.0.0 20050319 (prerelease) (PLD Linux) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317
[Bug other/20586] New: bootstrap comparision fails with -funroll-loops.
In theory, the last two should stages produce the same results, which `make compare` can check. With CFLAGS: -march=i686 -mtune=pentium4 -O2 -fomit-frame-pointer -funroll-loops Comparing stage2 and stage3 of the compiler (...) Bootstrap comparison failure! ./bb-reorder.o differs ./builtins.o differs ./caller-save.o differs ./calls.o differs ./combine.o differs ./cse.o differs ./ddg.o differs ./dwarf2out.o differs ./flow.o differs ./global.o differs ./loop.o differs ./real.o differs ./recog.o differs ./reg-stack.o differs ./regclass.o differs ./regrename.o differs ./reload.o differs ./reload1.o differs ./rtlanal.o differs ./simplify-rtx.o differs ./tree-dfa.o differs ./tree-phinodes.o differs ./tree-ssa-live.o differs ./tree-ssa-loop-im.o differs ./tree-ssa-loop-ivopts.o differs ./tree-vect-transform.o differs ada/ali.o differs ada/binde.o differs ada/bindgen.o differs ada/checks.o differs ada/exp_aggr.o differs ada/exp_ch5.o differs ada/g-speche.o differs ada/inline.o differs ada/s-carun8.o differs ada/sem_case.o differs ada/sem_ch3.o differs ada/sem_ch8.o differs ada/sem_maps.o differs ada/tree_io.o differs ada/uintp.o differs cp/mangle.o differs cp/pt.o differs build/gensupport.o differs make[1]: *** [gnucompare] Error 1 # gcc -v Reading specs from /usr/lib/gcc/i686-pld-linux/4.0.0/specs Target: i686-pld-linux Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,ada,java --enable-c99 --enable-long-long --disable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath --enable-libgcj --enable-libgcj-multifile --enable-libgcj-database --enable-gtk-cairo i686-pld-linux Thread model: posix gcc version 4.0.0 20050319 (prerelease) (PLD Linux) -- Summary: bootstrap comparision fails with -funroll-loops. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20586
[Bug other/20531] New: gcc should warn about undefined behaviour
volatile struct { int x, y; } s; int foo() { return (s.x > s.y); // undefined behavior: // the order of volatile accesses // is undefined in this statment } -- Summary: gcc should warn about undefined behaviour Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20531
[Bug c++/19317] [4.0/4.1 Regression] removing a temporary return value when we cannot
--- Additional Comments From pluto at pld-linux dot org 2005-03-17 18:22 --- so, we have an unaccaptable g++ at this moment :/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317
[Bug other/20449] [c++] internal compiler error
--- Additional Comments From pluto at pld-linux dot org 2005-03-12 23:54 --- Created an attachment (id=8379) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8379&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20449
[Bug other/20449] New: [c++] internal compiler error
# g++ -c libcervisiapart_la.all_cpp.ii \ -O2 -march=i686 -mtune=pentium4 -fno-exceptions repositorydlg.cpp: In member function 'void RepositoryDialog::slotLoginClicked()': repositorydlg.cpp:396: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://bugs.pld-linux.org/> for instructions. -- Summary: [c++] internal compiler error Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20449
[Bug libgcj/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-12 17:55 --- finally I've fixed this problem with this patch. gcc was bootstraped and tested successfuly on ix86 and amd64. --- gcc-4.0-20050305/libjava/Makefile.am.orig +++ gcc-4.0-20050305/libjava/Makefile.am @@ -624,7 +624,7 @@ $(libgcj0_convenience_la_LINK) \ -objectlist libgcj0_convenience.objectlist \ $(libgcj0_convenience_la_LIBADD) \ - -rpath $(toolexeclibdir) $(libgcj0_convenience_la_LDFLAGS) $(LIBS) + $(libgcj0_convenience_la_LDFLAGS) $(LIBS) lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES) @echo Creating list of files to link... --- gcc-4.0-20050305/libjava/Makefile.in.orig +++ gcc-4.0-20050305/libjava/Makefile.in @@ -26699,7 +26699,7 @@ $(libgcj0_convenience_la_LINK) \ -objectlist libgcj0_convenience.objectlist \ $(libgcj0_convenience_la_LIBADD) \ - -rpath $(toolexeclibdir) $(libgcj0_convenience_la_LDFLAGS) $(LIBS) + $(libgcj0_convenience_la_LDFLAGS) $(LIBS) lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES) @echo Creating list of files to link... -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug libgcj/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-12 10:02 --- I've noticed that below change fixes relinking. Could anonyone merge this fix to Makefile{.am,.in} ? --- libgcj0_convenience.la.orig 2005-03-12 06:07:36.0 +0100 +++ libgcj0_convenience.la 2005-03-12 10:49:59.865017152 +0100 @@ -5,16 +5,16 @@ # It is necessary for linking the library. # The name that we can dlopen(3). -dlname='libgcj0_convenience.so.0' +dlname='' # Names of this library. -library_names='libgcj0_convenience.so.0.0.0 libgcj0_convenience.so.0 libgcj0_convenience.so' +library_names='' # The name of the static archive. old_library='libgcj0_convenience.a' # Libraries that this one depends upon. -dependency_libs=' -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc -L/usr/lib/gcc/i686-pld-linux/4.0.0 -L/usr/lib/gcc/i686-pld-linux/4.0.0/../../.. -lgcc_s -lc -lgcc_s' +dependency_libs='' # Version information for libgcj0_convenience. current=0 @@ -29,4 +29,4 @@ dlpreopen='' # Directory that this library needs to be installed in: -libdir='/usr/lib' +libdir='' -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug other/20426] error: initializer element is not constant
--- Additional Comments From pluto at pld-linux dot org 2005-03-11 14:19 --- (In reply to comment #2) > Note in C++ they will be constants though but not in C. C has different rules for constant expressions > than C++. Thanks for explain. I have one more basic question. Why the non-static symbol isn't exported from C++ module? In C only static symbols aren't exported. What about C++? [ cat ver.cpp ] static const unsigned major = 0; static const unsigned minor = 9; static const unsigned build = 1; const unsigned version = (major << 24) | (minor << 16) | build; [ ver.s ] .file "ver.cpp" .ident "GCC: (GNU) 4.0.0 20050305 (prerelease) (PLD Linux)" .section.note.GNU-stack,"",@progbits -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20426
[Bug other/20426] New: error: initializer element is not constant
# test.c static const unsigned major = 0; static const unsigned minor = 9; static const unsigned build = 1; const unsigned version = (major << 24) | (minor << 16) | build; # gcc -c test.c test.c:4: error: initializer element is not constant Hmm, which initializer isn't constant? Do I missed something? -- Summary: error: initializer element is not constant Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: i686-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20426
[Bug libgcj/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-11 01:29 --- (In reply to comment #6) > Created an attachment (id=8374) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8374&action=view) > test patch. > Attached patch was wrong. Now I have libgcj0_convenience dep. $ ldd libgcj.so.6.0.0 libgcj0_convenience.so.0 => not found libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x002a95784000) libdl.so.2 => /lib64/libdl.so.2 (0x002a95899000) libz.so.1 => /lib64/libz.so.1 (0x002a9599d000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x002a95ab) libc.so.6 => /lib64/tls/libc.so.6 (0x002a95bbd000) /lib64/ld-linux-x86-64.so.2 (0x00552000) I give up with this libtool stuff... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug c++/19317] [4.0/4.1 Regression] removing a temporary return value when we cannot
--- Additional Comments From pluto at pld-linux dot org 2005-03-10 23:49 --- CC'ed. -- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317
[Bug rtl-optimization/18628] [4.0/4.1 regression] miscompilation of switch statement in loop
--- Additional Comments From pluto at pld-linux dot org 2005-03-10 23:00 --- I've just built qt334/kde340(core) with -march=i686 -O/-O2. They are totally broken (damaged grahpics/widgets) :/ I don't have a testcase at this moment but gcc4 has a serious bug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18628
[Bug libgcj/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-10 19:53 --- Created an attachment (id=8374) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8374&action=view) test patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug libgcj/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-10 19:11 --- I've recheckd the install log and found the reason of relinking error. /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/xgcc -shared-libgcc -B/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/ -nostdinc++ -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -B/usr/i686-pld-linux/bin/ -B/usr/i686-pld-linux/lib/ -isystem /usr/i686-pld-linux/include -isystem /usr/i686-pld-linux/sys-include -shared -nostdlib /usr/lib/gcc/i686-pld-linux/4.0.0/../../../crti.o /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/crtbeginS.o gnu/regexp/.libs/MessagesBundle.properties.o gnu/regexp/.libs/MessagesBundle_fr.properties.o org/ietf/jgss/.libs/MessagesBundle.properties.o -Wl,--whole-archive external/sax/.libs/libsax_convenience.a external/w3c_dom/.libs/libw3c_convenience.a ../libffi/.libs/libffi_convenience.a ../boehm-gc/.libs/libgcjgc_convenience.a ./libltdl/.libs/libltdlc.a -Wl,--no-whole-archive -L/tmp/gcc-4.0.0-root-pluto/usr/lib -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava external/sax/.libs/libsax_convenience.a external/w3c_dom/.libs/libw3c_convenience.a -L/usr/lib -lgcj0_convenience -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc -L/usr/lib/gcc/i686-pld-linux/4.0.0 -L/usr/lib/gcc/i686-pld-linux/4.0.0/../../.. ../libffi/.libs/libffi_convenience.a ../boehm-gc/.libs/libgcjgc_convenience.a -lpthread ./libltdl/.libs/libltdlc.a -ldl -lz -lgcc_s -lc -lgcc_s /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/crtendS.o /usr/lib/gcc/i686-pld-linux/4.0.0/../../../crtn.o -Wl,-soname -Wl,libgcj.so.6 -o .libs/libgcj.so.6.0.0 /usr/bin/ld: cannot find -lgcj0_convenience collect2: ld returned 1 exit status Adding below path helpd. -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava/.libs -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug libgcj/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-10 19:01 --- [~/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava/.libs] drwxr-xr-x 2 pluto users 4096 2005-03-10 19:51 . drwxr-xr-x 15 pluto users 4096 2005-03-10 19:51 .. -rw--- 1 pluto users11600 2005-03-10 19:42 boehm.o -rw--- 1 pluto users35316 2005-03-10 19:37 defineclass.o -rw-r--r-- 1 pluto users 4816 2005-03-10 00:30 exception.o -rwx-- 1 pluto users33329 2005-03-10 19:51 gcj-dbtool -rwx-- 1 pluto users 6409 2005-03-10 19:51 gij -rw-r--r-- 1 pluto users 6612 2005-03-10 01:51 gij.o -rwx-- 1 pluto users 6764 2005-03-10 19:51 grmic -rwx-- 1 pluto users 6793 2005-03-10 19:51 grmiregistry -rw--- 1 pluto users45404 2005-03-10 19:38 interpret.o -rw--- 1 pluto users 119072 2005-03-10 19:37 jni.o -rwx-- 1 pluto users 6765 2005-03-10 19:51 jv-convert -rw--- 1 pluto users 32257574 2005-03-10 19:49 libgcj0_convenience.a lrwxrwxrwx 1 pluto users 25 2005-03-10 19:49 libgcj0_convenience.la -> ../libgcj0_convenience.la -rw--- 1 pluto users 1319 2005-03-10 19:49 libgcj0_convenience.lai lrwxrwxrwx 1 pluto users 28 2005-03-10 19:47 libgcj0_convenience.so -> libgcj0_convenience.so.0.0.0 lrwxrwxrwx 1 pluto users 28 2005-03-10 19:47 libgcj0_convenience.so.0 -> libgcj0_convenience.so.0.0.0 -rwx-- 1 pluto users 19935083 2005-03-10 19:47 libgcj0_convenience.so.0.0.0 -rw--- 1 pluto users 1661364 2005-03-10 19:49 libgcj.a lrwxrwxrwx 1 pluto users 12 2005-03-10 19:49 libgcj.la -> ../libgcj.la -rw--- 1 pluto users 1299 2005-03-10 19:49 libgcj.lai lrwxrwxrwx 1 pluto users 15 2005-03-10 19:49 libgcj.so -> libgcj.so.6.0.0 lrwxrwxrwx 1 pluto users 15 2005-03-10 19:49 libgcj.so.6 -> libgcj.so.6.0.0 -rwx-- 1 pluto users 928202 2005-03-10 19:49 libgcj.so.6.0.0 -rw--- 1 pluto users 5170 2005-03-10 19:50 libgij.a lrwxrwxrwx 1 pluto users 12 2005-03-10 19:50 libgij.la -> ../libgij.la -rw--- 1 pluto users 1444 2005-03-10 19:50 libgij.lai lrwxrwxrwx 1 pluto users 15 2005-03-10 19:50 libgij.so -> libgij.so.6.0.0 lrwxrwxrwx 1 pluto users 15 2005-03-10 19:50 libgij.so.6 -> libgij.so.6.0.0 -rwx-- 1 pluto users10298 2005-03-10 19:50 libgij.so.6.0.0 -rw--- 1 pluto users29780 2005-03-10 19:37 link.o -rw--- 1 pluto users 4380 2005-03-10 19:42 posix.o -rw--- 1 pluto users 7572 2005-03-10 19:42 posix-threads.o -rw--- 1 pluto users32348 2005-03-10 19:36 prims.o -rw--- 1 pluto users 106304 2005-03-10 19:38 verify.o Hmm, build is fine but when relinking fails libgcj.so.6.0.0 dissappears (libtool script removes it). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug libgcj/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-09 13:49 --- (In reply to comment #2) > This does not make sense: > (cd /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld- > linux/libjava; /bin/sh ./libtool --tag CXX --mode=relink /home/users/pluto/multimedia/rpm/BUILD/ > gcc-4.0-20050305/obj-i686-pld-linux/gcc/xgcc -shared-libgcc -B/home/users/pluto/multimedia/ > rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/ -nostdinc++ -L/home/users/pluto/ > multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/ > home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/ > libstdc++-v3/src/.libs -B/usr/i686-pld-linux/bin/ -B/usr/i686-pld-linux/lib/ -isystem /usr/i686- > pld-linux/include -isystem /usr/i686-pld-linux/sys-include -L/home/users/pluto/multimedia/rpm/ > BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava -ffloat-store -fno-omit-frame- > pointer -O2 -march=i686 -mtune=pentium4 -fomit-frame-pointer -funroll-loops -pipe -o libgcj.la > -objectlist libgcj.objectlist external/sax/libsax_convenience.la external/w3c_dom/ > libw3c_convenience.la libgcj0_convenience.la ../libffi/libffi_convenience.la ../boehm-gc/ > libgcjgc_convenience.la gnu/regexp/MessagesBundle.properties.lo gnu/regexp/ > MessagesBundle_fr.properties.lo org/ietf/jgss/MessagesBundle.properties.lo -rpath /usr/lib -rpath / > usr/lib -lpthread ./libltdl/libltdlc.la -lz -version-info 6:0:0) > mv: cannot stat `libgcj.so.6.0.0': No such file or directory > libtool: install: error: relink `libgcj.la' with the above command before installing it > > that means something is wrong with your build. I think that relinking java libs with `-rpath /usr/lib` are quite wrong. At build/install time java libs exist only in rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava/.libs and $(DESTDIR)/$libdir. Am I right? -- What|Removed |Added CC||qboosh at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug regression/20392] invalid install/relink of llibgcj{,0_convenience} during `make install`
--- Additional Comments From pluto at pld-linux dot org 2005-03-09 08:18 --- Created an attachment (id=8368) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8368&action=view) install log. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug regression/20392] New: invalid install/relink of llibgcj{,0_convenience} during `make install`
I've installed the gcc-4.0.0-0.20050305.1 with enabled c, c++ and ada. Now I'm trying rebuild gcc with added java, objc and fortran support but install fails. It worked several snapshots ago, now it's broken. -- Summary: invalid install/relink of llibgcj{,0_convenience} during `make install` Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: regression AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: x86,amd64,ppc GCC host triplet: x86,amd64,ppc GCC target triplet: x86,amd64,ppc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[Bug libgcj/18909] gij needs libgij.so (wrong linking/build?)
--- Additional Comments From pluto at pld-linux dot org 2005-03-09 08:07 --- works with recent snapshots. -- What|Removed |Added Status|WAITING |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18909
[Bug other/20349] [multilib] libjava(32) doesn't build.
--- Additional Comments From pluto at pld-linux dot org 2005-03-07 07:21 --- (In reply to comment #1) > Can you try again? I think this was caused by the patch for PR 20155 which had to be reverted. it didn't helped. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20349
[Bug other/20349] New: [multilib] libjava(32) doesn't build.
ava::lang::Error' has virtual functions but non-virtual destructor ./java/lang/LinkageError.h:11: warning: 'class java::lang::LinkageError' has virtual functions but non-virtual destructor ./java/lang/ClassFormatError.h:11: warning: 'class java::lang::ClassFormatError' has virtual functions but non-virtual destructor ./java/lang/VirtualMachineError.h:11: warning: 'class java::lang::VirtualMachineError' has virtual functions but non-virtual destructor ./java/lang/InternalError.h:11: warning: 'class java::lang::InternalError' has virtual functions but non-virtual destructor ./java/lang/NegativeArraySizeException.h:11: warning: 'class java::lang::NegativeArraySizeException' has virtual functions but non-virtual destructor ./java/lang/NullPointerException.h:11: warning: 'class java::lang::NullPointerException' has virtual functions but non-virtual destructor ./java/lang/OutOfMemoryError.h:11: warning: 'class java::lang::OutOfMemoryError' has virtual functions but non-virtual destructor ./java/lang/System.h:11: warning: 'class java::lang::System' has virtual functions but non-virtual destructor ./java/lang/VMThrowable.h:26: warning: 'class java::lang::VMThrowable' has virtual functions but non-virtual destructor ./java/io/OutputStream.h:12: warning: 'class java::io::OutputStream' has virtual functions but non-virtual destructor ./java/io/FilterOutputStream.h:12: warning: 'class java::io::FilterOutputStream' has virtual functions but non-virtual destructor ./java/io/PrintStream.h:26: warning: 'class java::io::PrintStream' has virtual functions but non-virtual destructor ./java/lang/UnsatisfiedLinkError.h:11: warning: 'class java::lang::UnsatisfiedLinkError' has virtual functions but non-virtual destructor ./java/security/SecureClassLoader.h:25: warning: 'class java::security::SecureClassLoader' has virtual functions but non-virtual destructor ./java/net/URLClassLoader.h:33: warning: 'class java::net::URLClassLoader' has virtual functions but non-virtual destructor ./gnu/gcj/runtime/VMClassLoader.h:26: warning: 'class gnu::gcj::runtime::VMClassLoader' has virtual functions but non-virtual destructor ./gnu/gcj/runtime/FinalizerThread.h:25: warning: 'class gnu::gcj::runtime::FinalizerThread' has virtual functions but non-virtual destructor ./gnu/java/lang/MainThread.h:26: warning: 'class gnu::java::lang::MainThread' has virtual functions but non-virtual destructor ../../../../libjava/gcj/array.h: In instantiation of 'JArray': ../../../../libjava/prims.cc:745: instantiated from here ../../../../libjava/gcj/array.h:42: warning: 'class JArray' has virtual functions but non-virtual destructor ../../../../libjava/prims.cc: In function 'jint _Jv_CreateJavaVM(JvVMInitArgs*)': ../../../../libjava/prims.cc:1099: error: 'SYS_sigaction' was not declared in this scope ../../../../libjava/prims.cc:1103: error: 'SYS_sigaction' was not declared in this scope ./include/java-signal-aux.h: At global scope: ./include/java-signal-aux.h:125: warning: 'void restore()' declared 'static' but never defined make[5]: *** [prims.lo] Error 1 make[5]: Leaving directory `/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libjava' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libjava' make[3]: *** [multi-do] Error 1 make[3]: Leaving directory `/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/libjava' make[2]: *** [all-multi] Error 2 make[2]: Leaving directory `/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/libjava' make[1]: *** [all-target-libjava] Error 2 make[1]: Leaving directory `/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux' make: *** [profiledbootstrap] Error 2 -- Summary: [multilib] libjava(32) doesn't build. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: amd64-pld-linux GCC host triplet: amd64-pld-linux GCC target triplet: amd64-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20349
[Bug middle-end/18628] [4.0/4.1 regression] miscompilation of switch statement in loop
--- Additional Comments From pluto at pld-linux dot org 2005-02-28 20:09 --- CC'ed. ps). qt-3.3.4 built by gcc4-20050226 is also broken. my testcase (jabber client - psi) is unusable. -- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18628
[Bug tree-optimization/20188] [4.0 Regression] glibc-2.3.4 misscompilation.
--- Additional Comments From pluto at pld-linux dot org 2005-02-24 23:44 --- (In reply to comment #6) > I have no idea what is going on here but I will note that "-O3 -fno-tree-dominator-opts" works. > "-O3 -fno-ivopts" does not work > "-O3 -fno-strict-aliasing" does not work. I've looked into final tree-dump and found something interesting. In the source we can find a [2] strcpy(startbuf, ...) which can change the state of startbuf between [1] and [3]. if (usestart) { [1]if (*startbuf == '\0' && zp->z_format != NULL && strchr(zp->z_format, '%') == NULL && strchr(zp->z_format, '/') == NULL) [2] (void) strcpy(startbuf, zp->z_format); eat(zp->z_filename, zp->z_linenum); [3]if (*startbuf == '\0') error(_("can't determine time zone abbreviation to use just after until time")); else addtt(starttime, addtype(startoff, startbuf, startoff != zp->z_gmtoff, startttisstd, startttisgmt)); } Diff shows that the optimizer assumed D.10077=startbuf[0] incorrectly as const because can change state of startbuf. --- 03-zic.i.t70.final_cleanup-no-tree-dominator-opts 2005-02-25 00:26:09.340849848 +0100 +++ 03-zic.i.t70.final_cleanup 2005-02-25 00:26:03.792693296 +0100 @@ -2,48 +2,44 @@ if (usestart != 0) goto ; else goto ; :; - if (startbuf[0] == 0) goto ; else goto ; + D.10077 = startbuf[0]; + if (D.10077 == 0) goto ; else goto ; :; - if (*((const char * *) ivtmp.1013 + 128B) != 0B) goto ; else goto ; + D.10028 = *(D.16876 + 128B); + if (D.10028 != 0B) goto ; else goto ; :; - __s = *((const char * *) ivtmp.1013 + 128B); - __asm__ __volatile__("1:\n\tmovb\t(%0),%%al\n\tcmpb\t%%ah, %%al\n\tje\t2f\n\tleal\t1(%0),%0\n\ttestb\t%%al,%%al\n\tjne\t1b\n\txorl\t%0, %0\n2:":"=r" __res, "=&a" __d0:"0" __s, "1" 9472, "m" *(struct + __s.107 = (struct { char __x[268435455]; - } *) __s:"cc"); + } *) D.10028; + __asm__ __volatile__("1:\n\tmovb\t(%0),%%al\n\tcmpb\t%%ah, %%al\n\tje\t2f\n\tleal\t1(%0),%0\n\ttestb\t%%al,%%al\n\tjne\t1b\n\txorl\t%0, %0\n2:":"=r" __res, "=&a" __d0:"0" D.10028, "1" 9472, "m" *__s.107:"cc"); if (__res == 0B) goto ; else goto ; :; - __s = *((const char * *) ivtmp.1013 + 128B); - __asm__ __volatile__("1:\n\tmovb\t(%0),%%al\n\tcmpb\t%%ah, %%al\n\tje\t2f\n\tleal\t1(%0),%0\n\ttestb\t%%al,%%al\n\tjne\t1b\n\txorl\t%0, %0\n2:":"=r" __res, "=&a" __d0:"0" __s, "1" 12032, "m" *(struct - { -char __x[268435455]; - } *) __s:"cc"); + __asm__ __volatile__("1:\n\tmovb\t(%0),%%al\n\tcmpb\t%%ah, %%al\n\tje\t2f\n\tleal\t1(%0),%0\n\ttestb\t%%al,%%al\n\tjne\t1b\n\txorl\t%0, %0\n2:":"=r" __res, "=&a" __d0:"0" D.10028, "1" 12032, "m" *__s.107:"cc"); if (__res == 0B) goto ; else goto ; :; - __src = *((const char * *) ivtmp.1013 + 128B); __dest.50 = (struct { char __x[268435455]; } *) &startbuf; - __asm__ __volatile__("1:\n\tmovb\t(%0),%b2\n\tleal\t1(%0),%0\n\tmovb\t%b2, (%1)\n\tleal\t1(%1),%1\n\ttestb\t%b2,%b2\n\tjne\t1b":"=&r" __src.1132, "=&r" __tmp, "=&q" __dummy, "=m" *__dest.50:"0" __src, "1" &startbuf, "m" *(struct + __asm__ __volatile__("1:\n\tmovb\t(%0),%b2\n\tleal\t1(%0),%0\n\tmovb\t%b2, (%1)\n\tleal\t1(%1),%1\n\ttestb\t%b2,%b2\n\tjne\t1b":"=&r" __src, "=&r" __tmp, "=&q" __dummy, "=m" *__dest.50:"0" D.10028, "1" &startbuf, "m" *(struct { char __x[268435455]; - } *) __src:"cc"); + } *) D.10028:"cc"); :; - num = *((int *) ivtmp.1013 + 112B); - name = *((const char * *) ivtmp.1013 + 108B); - filename = name; + num = *D.16875; + filename = *D.16877; linenum = num; rfilename = 0B; rlinenum = -1; - if (startbuf[0] == 0) goto ; else goto ; + if (D.10077 == 0) goto ; else goto ; :; D.10084 = __dcgettext (&_libc_intl_domainname, &"can\'t determine time zone abbreviation to use just after until time"[0], 5); error (D.10084); - goto (); + goto (); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20188
[Bug other/20188] glibc-2.3.4 misscompilation.
--- Additional Comments From pluto at pld-linux dot org 2005-02-24 19:40 --- -O3 break zic. # log: bash -v build.sh #!/bin/sh rm -rf Asia Mideast zic *.o gcc -o zic zic.i ialloc.c scheck.c -DNOID -Wall -O2 ./zic -d ./ -L /dev/null -y ./yearistype solar87 && echo "ok" ok rm -rf Asia Mideast zic *.o gcc -o zic zic.i ialloc.c scheck.c -DNOID -Wall -O3 ./zic -d ./ -L /dev/null -y ./yearistype solar87 && echo "ok" "solar87", line 385: can't determine time zone abbreviation to use just after until time -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20188
[Bug other/20188] glibc-2.3.4 misscompilation.
--- Additional Comments From pluto at pld-linux dot org 2005-02-24 19:38 --- Created an attachment (id=8272) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8272&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20188
[Bug other/20188] glibc-2.3.4 misscompilation.
--- Additional Comments From pluto at pld-linux dot org 2005-02-24 13:30 --- (In reply to comment #0) > gcc-4.0.0-20050220+pr13397 - fails. s/13397/19937/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20188
[Bug other/20188] New: glibc-2.3.4 misscompilation.
I get an error during `make install`: (...) /home/users/pluto/rpm/BUILD/glibc-2.3.4/builddir/timezone/zic -d /tmp/glibc-2.3.4-root-pluto/usr/share/zoneinfo -L /dev/null -y ./yearistype solar87 "solar87", line 385: can't determine time zone abbreviation to use just after until time make[2]: *** [/tmp/glibc-2.3.4-root-pluto/usr/share/zoneinfo/Asia/Riyadh87] Error 1 gcc-4.0.0-20050220+pr13397 - fails. gcc-3.3.5 - ok. -- Summary: glibc-2.3.4 misscompilation. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20188
[Bug other/20128] New: ice on valid code / mudflap + profile generate
# cat tmp.c int main() { } # LANG=C gcc -std=gnu9x -O2 -fmudflap -c -lmudflap -fprofile-generate tmp.c tmp.c: In function '_GLOBAL__I_1_main': tmp.c:1: internal compiler error: Segmentation fault # gcc -v Reading specs from /usr/lib/gcc/i686-pld-linux/4.0.0/specs Target: i686-pld-linux Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,ada --enable-c99 --enable-long-long --disable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath i686-pld-linux Thread model: posix gcc version 4.0.0 20050220 (experimental) (PLD Linux) -- Summary: ice on valid code / mudflap + profile generate Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20128
[Bug ada/20089] [4.0 Regression] gnatmake broken when building ada tools
--- Additional Comments From pluto at pld-linux dot org 2005-02-21 17:53 --- CC'ed. -- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20089
[Bug other/20106] New: binutils-2.15.94.0.2.2 misscompilation.
# echo 'int main() { }' > tmp.c # gcc -O tmp.c -g -o tmp # strip tmp BFD: tmp: warning: Empty loadable segment detected, is this intentional ? BFD: tmp: warning: Empty loadable segment detected, is this intentional ? strip: there are no sections to be copied! binutils built by gcc-3.3.5 works fine. # gcc -v Reading specs from /usr/lib/gcc/i686-pld-linux/4.0.0/specs Target: i686-pld-linux Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,ada --enable-c99 --enable-long-long --disable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath i686-pld-linux Thread model: posix gcc version 4.0.0 20050213 (experimental) (PLD Linux) -- Summary: binutils-2.15.94.0.2.2 misscompilation. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20106
[Bug ada/19961] New: ice / gnat bug detected.
../../xgcc -B../../ -c -g -O2 -fPIC -W -Wall -gnatpg a-ncelfu.ads -o a-ncelfu.o +===GNAT BUG DETECTED==+ | 4.0.0 20050213 (experimental) (PLD Linux) (x86_64-pld-linux-gnu) GCC error:| | in gnat_type_for_mode, at ada/utils.c:1838 | | Error detected at a-ncelfu.ads:23:1 | | Please submit a bug report; see http://gcc.gnu.org/bugs.html.| | Include the entire contents of this bug box in the report. | | Include the exact gcc or gnatmake command that you entered. | | Also include sources listed below in gnatchop format | | (concatenated together with no headers between files). | +==+ raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:387 make[6]: *** [a-ncelfu.o] Error 1 # gcc -v Reading specs from /usr/lib64/gcc/amd64-pld-linux/4.0.0/specs Configured with: ../configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,f95,objc,ada,java --enable-c99 --enable-long-long --disable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-system-zlib --with-slibdir=/lib64 --without-x --enable-cmath amd64-pld-linux Thread model: posix gcc version 4.0.0 20050130 (experimental) (PLD Linux) -- Summary: ice / gnat bug detected. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: amd64-pld-linux GCC host triplet: amd64-pld-linux GCC target triplet: amd64-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19961
[Bug regression/19935] New: unexpected "bx lr" in arm mode.
I have a simple testcase: void test() { } # arm-linux-gcc test.c -S -O2 produces: test: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. @ lr needed for prologue mov pc, lr # arm-linux-gcc test.c -S -O2 -mcpu=arm7tdmi-s produces: test: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. @ lr needed for prologue bx lr -mthumb-interwork is disabled by default (vide man). why gcc4 produces "bx lr" ? (gcc34 works fine). # arm-linux-gcc -v Reading specs from /usr/lib/gcc/arm-linux/4.0.0/specs Configured with: ../configure --prefix=/usr --with-sysroot=/home/users/pluto/rpm/BUILD/gcc-4.0-20050130/fake-root --infodir=/usr/share/info --mandir=/usr/share/man --bindir=/usr/bin --libdir=/usr/lib --libexecdir=/usr/lib --disable-shared --disable-threads --enable-languages=c,c++ --enable-c99 --enable-long-long --with-gnu-as --with-gnu-ld --with-system-zlib --with-multilib --with-sysroot=/home/users/pluto/rpm/BUILD/gcc-4.0-20050130/fake-root --without-x --target=arm-linux --host=i686-pld-linux --build=i686-pld-linux Thread model: single gcc version 4.0.0 20050130 (experimental) -- Summary: unexpected "bx lr" in arm mode. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: regression AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: arm-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19935
[Bug rtl-optimization/18427] [meta-bug] We need a better register allocator
--- Additional Comments From pluto at pld-linux dot org 2005-02-11 11:27 --- CC /me -- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18427
[Bug rtl-optimization/18560] better optimalization of EOR/MOV block.
--- Additional Comments From pluto at pld-linux dot org 2005-02-11 10:47 --- (In reply to comment #4) > The new register allocator (new-ra) has been removed because it was buggy and > there were no plans to fix it. > I was using it to show that the initial MOV was an unrelated issue. > Your code snippet shows that the rotate and the EOR are being merged, > which is what this PR was about. The PR is about initial eor/mov opt., not eor/rotate ;-) At this moment the comercial IAR compiler generates good code. The GCC should be good too :) reverse: 0x0D04 E0201860 EOR R1, R0, R0, ROR #16 0x0D08 E3C118FF BIC R1, R1, #0xFF 0x0D0C E1A01421 MOV R1, R1, LSR #8 0x0D10 E0210460 EOR R0, R1, R0, ROR #8 0x0D14 E12FFF1E BX LR -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18560
[Bug rtl-optimization/18560] better optimalization of EOR/MOV block.
--- Additional Comments From pluto at pld-linux dot org 2005-02-10 20:17 --- (In reply to comment #2) > As Andrew pointed out, the merge of the eor and the rotate is now done on > mainline in 4.0. Hmm, it doesn't work on my gcc. # arm-pld-linux-gcc reversing_the_bytes_in_word.c -s -S -O2 .file "reversing_the_bytes_in_word.c" .text .align 2 .global reverse .type reverse, %function reverse: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. mov r3, r0 eor r0, r0, r0, ror #16 bic r0, r0, #16711680 mov r0, r0, lsr #8 eor r0, r0, r3, ror #8 @ lr needed for prologue mov pc, lr .size reverse, .-reverse .ident "GCC: (GNU) 4.0.0 20050130 (experimental)" > The initial redundant MOV is a register allocation artifact. > This particular testcase compiles optimally with the new register allocator: Is there a special option I need to set? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18560
[Bug ada/19865] New: ice / gnat bug detected.
../../xgcc -c -I./ -I../rts -I. -I/home/users/builder2/devel/pld/sandbox/gcc/BUILD/gcc-4.0-20050130/gcc/ada -B../../ -O2 -O2 -fsigned-char -gnatpg -gnata -I- /home/users/builder2/devel/pld/sandbox/gcc/BUILD/gcc-4.0-20050130/gcc/ada/m akegpr.adb gnat1: warning: command line option "-fsigned-char" is valid for C/C++/ObjC/ObjC++ but not for Ada+ ===GNAT BUG DETECTED==+| 4.0.0 20050130 (experimental) (PLD Linux) (powerpc-pld-linux-gnu) GCC error: tree check: expected ssa_name, have var_decl in verify_ssa, at tree-ssa.c:680 Error detected at makegpr.adb:4167:23 -- Summary: ice / gnat bug detected. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: ppc-pld-linux GCC host triplet: ppc-pld-linux GCC target triplet: ppc-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19865
[Bug ada/19369] fatal error: file gnatbind.ali is incorrectly formatted
--- Additional Comments From pluto at pld-linux dot org 2005-01-11 18:50 --- (In reply to comment #0) > the final stage of profiledboostrap fails. > # fragment of gcc4-20050109 buildlog: > > (...) > gcc -c -O2 -march=i686 -mtune=pentium4 -ggdb -fomit-frame-pointer -pipe without -fomit-frame-pointer build process has ended successfully. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19369
[Bug ada/19369] New: fatal error: file gnatbind.ali is incorrectly formatted
the final stage of profiledboostrap fails. # gcc -v Reading specs from /usr/lib/gcc/i686-pld-linux/4.0.0/specs Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info--mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,ada --enable-c99 --enable-long-long --enable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath i686-pld-linux Thread model: posix gcc version 4.0.0 20050102 (experimental) (PLD Linux) +patches: PR18241, PR18910, PR19030. # fragment of gcc4-20050109 buildlog: (...) gcc -c -O2 -march=i686 -mtune=pentium4 -ggdb -fomit-frame-pointer -pipe -DHAVE_CONFIG_H -I. -I../../fixincludes -I../include -I ../../fixincludes/../include ../../fixincludes/procopen.c gcc -c -O2 -march=i686 -mtune=pentium4 -ggdb -fomit-frame-pointer -pipe -DHAVE_CONFIG_H -I. -I../../fixincludes -I../include -I ../../fixincludes/../include ../../fixincludes/fixlib.c gcc -c -O2 -march=i686 -mtune=pentium4 -ggdb -fomit-frame-pointer -pipe -DHAVE_CONFIG_H -I. -I../../fixincludes -I../include -I ../../fixincludes/../include ../../fixincludes/fixopts.c gcc -o fixincl fixincl.o fixtests.o fixfixes.o server.o procopen.o fixlib.o fixopts.o ../libiberty/libiberty.a echo timestamp > full-stamp srcdir="../../fixincludes" /bin/sh ../../fixincludes/mkfixinc.sh i686-pld-linux-gnu make[2]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/fixincludes' make[2]: Entering directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/intl' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/intl' make[2]: Entering directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/build-i686-pld-linux/lib iberty' make[3]: Entering directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/build-i686-pld-linux/lib iberty/testsuite' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/build-i686-pld-linux/libi berty/testsuite' make[2]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/build-i686-pld-linux/libi berty' make[2]: Entering directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/build-i686-pld-linux/fix includes' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/build-i686-pld-linux/fixi ncludes' make[2]: Entering directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/libcpp' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/libcpp' make[2]: Entering directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/gcc' gnatbind -C -I- -I. -Iada -I../../gcc/ada -o ada/b_gnatb.c ada/gnatbind.ali fatal error: file gnatbind.ali is incorrectly formatted make sure you are using consistent versions of gcc/gnatbind 13. R nnnvnnnvnnnvnnvnvvnnvnvvnvnnnvn | make[2]: *** [ada/b_gnatb.c] Error 4 make[2]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux/gcc' make[1]: *** [all-gcc] Error 2 make[1]: Leaving directory `/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050109/obj-i686-pld-linux' make: *** [profiledbootstrap] Error 2 # currently installed gcc-ada seems to work. gcc hello_world.adb -c -O2 -march=i686 -mtune=pentium4 -ggdb -fomit-frame-pointer gnatbind hello_world.ali gnatlink hello_world.ali ./hello_world Hello world! -- Summary: fatal error: file gnatbind.ali is incorrectly formatted Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19369
[Bug other/19316] New: kernel built with gcc-3.4.3 works / with gcc-4.0.0 doesn't work.
during kernel startup I get an oops in lib/radix-tree.c (null pointer dereference). testcase: vanilla linux-2.6.10 sources If You need assembly radix-tree.S sources I'll provide it tomorrow. -- Summary: kernel built with gcc-3.4.3 works / with gcc-4.0.0 doesn't work. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19316
[Bug other/19289] ice during gcc4-20050102 profiledboostrap.
--- Additional Comments From pluto at pld-linux dot org 2005-01-06 14:23 --- (In reply to comment #1) > Did you build in a clean directory? Here's my build script: # rm -rf builddir && mkdir builddir && cd builddir # ../configure \ #{options} # cd .. # make -C builddir \ #profiledbootsrap \ #{flags} -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19289
[Bug other/19289] New: ice during gcc4-20050102 profiledboostrap.
# gcc -v Reading specs from /usr/lib/gcc/i686-pld-linux/3.4.4/specs Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,f77,objc,ada,java --enable-c99 --enable-long-long --enable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-system-zlib --with-slibdir=/lib --without-x i686-pld-linux Thread model: posix gcc version 3.4.4 20041231 (prerelease) (PLD Linux) (...) gcc -c -O2 -march=i686 -mtune=pentium4 -pipe -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -Wno-error -DHAVE_CONFIG_H-I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include c-parse.c -o c-parse.o c-parse.c:0: warning: `c-parse.gcda' is version ` Internal compiler error: Error reporting routines re-entered. -- Summary: ice during gcc4-20050102 profiledboostrap. Product: gcc Version: 3.4.4 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19289
[Bug libgcj/18909] gij needs libgij.so (wrong linking/build?)
--- Additional Comments From pluto at pld-linux dot org 2005-01-05 22:49 --- # buildlog: http://149.156.124.14/~pluto/tmp/gcc.log.bz2 (...) /bin/sh ./libtool --mode=install /usr/bin/install -c 'libgij.la' '/tmp/gcc-4.0.0-root-pluto/usr/lib/libgij.la' libtool: install: warning: relinking `libgij.la' (cd /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libjava; /bin/sh ./libtool --mode=relink /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/gcc/xgcc -shared-libgcc -B/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/gcc/ -nostdinc++ -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -B/usr/i686-pld-linux/bin/ -B/usr/i686-pld-linux/lib/ -isystem /usr/i686-pld-linux/include -isystem /usr/i686-pld-linux/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fno-omit-frame-pointer -Wextra -Wall -D_GNU_SOURCE -DPREFIX="/usr" -DLIBDIR="/usr/lib" -DBOOT_CLASS_PATH="/usr/share/java/libgcj-4.0.0.jar" -DJAVA_EXT_DIRS="/usr/share/java/ext" -O2 -march=i686 -mtune=pentium4 -pipe -D_GNU_SOURCE -o libgij.la -rpath /usr/lib gij.lo libgcj.la) /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/gcc/xgcc -shared-libgcc -B/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/gcc/ -nostdinc++ -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -B/usr/i686-pld-linux/bin/ -B/usr/i686-pld-linux/lib/ -isystem /usr/i686-pld-linux/include -isystem /usr/i686-pld-linux/sys-include -shared -nostdlib /usr/lib/gcc/i686-pld-linux/../../crti.o /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/gcc/crtbeginS.o .libs/gij.o -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -L/usr/lib -lgcj [1] -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libjava -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/gcc -L/usr/lib/gcc/i686-pld-linux/../.. -lgcc_s -lc -lgcc_s /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/gcc/crtendS.o /usr/lib/gcc/i686-pld-linux/../../crtn.o -Wl,-soname -Wl,libgij.so.0 -o .libs/libgij.so.0.0.0 /usr/bin/ld: cannot find -lgcj ^ [2] collect2: ld returned 1 exit status libtool: install: error: relink `libgij.la' with the above ^ [3] command before installing it (...) Finally [1,2], I need installed java libs to build a new gcc4. [1] should be rather "-L%{gcc_java_libs} -lgcj" instead of harcoded "-L/usr/lib -lgcj". [~/rpm/BUILD/gcc-4.0-20050102/obj-i686-pld-linux/i686-pld-linux/libjava/.libs] # ls boehm.o libgcj.lai lib-org-ietf-jgss.so lib-org-xml-sax.lai defineclass.o libgcj.so lib-org-ietf-jgss.so.6 lib-org-xml-sax.so exception.o libgcj.so.6 lib-org-ietf-jgss.so.6.0.0 lib-org-xml-sax.so.6 gcj-dbtool libgcj.so.6.0.0 lib-org-ietf-jgss.so.6.0.0T lib-org-xml-sax.so.6.0.0 gij libgij.a lib-org-w3c-dom.a lib-org-xml-sax.so.6.0.0T gij.o libgij.la lib-org-w3c-dom.la link.o grmic libgij.lai lib-org-w3c-dom.lai posix.o grmiregistry libgij.so lib-org-w3c-dom.so posix-threads.o interpret.o libgij.so.0 lib-org-w3c-dom.so.6 prims.o jni.o libgij.so.0.0.0U lib-org-w3c-dom.so.6.0.0 verify.o ^^^ U means relink failed. jv-convert lib-org-ietf-jgss.a lib-org-w3c-dom.so.6.0.0T libgcj.a lib-org-ietf-jgss.la lib-org-xml-sax.a libgcj.la lib-org-ietf-jgss.lai lib-org-xml-sax.la -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18909
[Bug bootstrap/19186] internal compiler error: virtual array prologue[3]: element 1 out of bounds in contains, at function.c:4660
--- Additional Comments From pluto at pld-linux dot org 2004-12-29 08:45 --- Created an attachment (id=7841) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7841&action=view) buildlog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19186
[Bug bootstrap/19186] New: internal compiler error: virtual array prologue[3]: element 1 out of bounds in contains, at function.c:4660
# installed gcc: Reading specs from /usr/lib/gcc/i686-pld-linux/3.4.4/specs Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,f77,objc,ada,java --enable-c99 --enable-long-long --enable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-system-zlib --with-slibdir=/lib --without-x i686-pld-linux Thread model: posix gcc version 3.4.4 20041224 (prerelease) (PLD Linux) # log: (...) ./xgcc -B./ -B/usr/i686-pld-linux/bin/ -isystem /usr/i686-pld-linux/include -isystem /usr/i686-pld-linux/sys-include -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20041226/obj-i686-pld-linux/gcc/../ld -O2 -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time -fno-omit-frame-pointer \ -c ../../gcc/crtstuff.c -DCRT_BEGIN \ -o crtbegin.o ../../gcc/crtstuff.c: In function '__do_global_dtors_aux': ../../gcc/crtstuff.c:290: internal compiler error: virtual array prologue[3]: element 1 out of bounds in contains, at function.c:4660 (...) -- Summary: internal compiler error: virtual array prologue[3]: element 1 out of bounds in contains, at function.c:4660 Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19186
[Bug other/19088] volatile attr. doesn't work with pointers / wrong code
--- Additional Comments From pluto at pld-linux dot org 2004-12-20 12:11 --- oops, unlockMutex contains an error. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19088
[Bug other/19088] New: volatile attr. doesn't work with pointers / wrong code
# testcase typedef volatile unsigned mutex; void lockMutex(mutex* m) { while (*m != 1); *m = 0; } void unlockMutex(mutex* m) { *m = 0; } *** GCC 3.4.2-20040916 *** : 0: e5903000ldr r3, [r0] 4: e3530001cmp r3, #1 ; 0x1 8: 1afebne 8 <== should jump to 0x00. c: e2433001sub r3, r3, #1 ; 0x1 10: e5803000str r3, [r0] 14: e1a0f00emov pc, lr 0018 : 18: e3a03000mov r3, #0 ; 0x0 1c: e5803000str r3, [r0] 20: e1a0f00emov pc, lr *** IAR C compiler *** lockMutex: 0x0180 E5901000 LDR R1, [R0, #+0] 0x0184 E3510001 CMP R1, #0x1 0x0188 1AFC BNE lockMutex ; 0x180<=== this works fine. 0x018C E3A01000 MOV R1, #0x0 0x0190 E5801000 STR R1, [R0, #+0] 0x0194 E12FFF1E BX LR unlockMutex: 0x0198 E3A01000 MOV R1, #0x0 0x019C E5801000 STR R1, [R0, #+0] 0x01A0 E12FFF1E BX LR # arm-elf-gcc -v Reading specs from c:/winarm/bin/../lib/gcc/arm-elf/3.4.2/specs Configured with: ../../gcc-3.4.2-20040916-1/configure --enable-languages=c,c++ --enable-interwork --enable-multilib --with-gcc --with-gnu-ld --with-gnu-as --with-stabs --disable-shared --disable-threads --disable-win32-registry --disable-nls --target=arm-elf --with-newlib --with-headers=/c/winarms/newlib-1.12.0/newlib/libc/include --prefix=c:/WinARM/ -v : (reconfigured) ../../gcc-3.4.2-20040916-1/configure --enable-languages=c,c++ --enable-interwork --enable-multilib --with-gcc --with-gnu-ld --with-gnu-as --with-stabs --disable-shared --disable-threads --disable-win32-registry --disable-nls --target=arm-elf --with-newlib --prefix=c:/WinARM/ -v Thread model: single gcc version 3.4.2 (mingw-special) -- Summary: volatile attr. doesn't work with pointers / wrong code Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: mingw GCC target triplet: arm-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19088
[Bug c++/19030] ice on tree check
--- Additional Comments From pluto at pld-linux dot org 2004-12-16 09:09 --- Created an attachment (id=7753) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7753&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19030
[Bug c++/19030] New: ice on tree check
# g++ libkmailprivate_la_all_cpp.ii -c (...errors...) KMail::MaildirJob' ./kmail/kmfoldermaildir.h:10: error: 'struct KMail::MaildirJob' has a previous declaration as 'struct KMail::MaildirJob' ./kmail/maildirjob.h:41: internal compiler error: tree check: expected class 'declaration', have 'exceptional' (error_mark) in pushtag, at cp/name-lookup.c:4672 # gcc -v Reading specs from /usr/lib/gcc/pentium3-pld-linux/4.0.0/specs Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info--mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,f95,objc,ada,java --enable-c99 --enable-long-long --enable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath pentium3-pld-linux Thread model: posix gcc version 4.0.0 20041212 (experimental) (PLD Linux) -- Summary: ice on tree check Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: pentium3-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19030
[Bug libgcj/18909] gij needs libgij.so (wrong linking/build?)
--- Additional Comments From pluto at pld-linux dot org 2004-12-14 13:28 --- gcc-4.0-20041205 built by gcc-3.4-20041203 => libgij.so doesn't exist. gcc-4.0-20041212 built by gcc-4.0-20041205 => libgij.so exists. Is this a bootstrap problem? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18909
[Bug other/18928] ice on valid code.
--- Additional Comments From pluto at pld-linux dot org 2004-12-10 16:48 --- Created an attachment (id=7719) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7719&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18928
[Bug other/18928] New: ice on valid code.
ICE # g++ qpsprinter.ii -c -O2 -fPIC g++: Internal error: Segmentation fault (program cc1plus) WORK # g++ qpsprinter.ii -c -O2 WORK # g++ qpsprinter.ii -c -O -fPIC -- Summary: ice on valid code. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: pentium3-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18928
[Bug ada/17312] internal gnat bug. compilation abandoned.
--- Additional Comments From pluto at pld-linux dot org 2004-12-10 07:46 --- gcc(ada)-3.4.3/4.0.0snap now builds/works fine with -march=pentium3. -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17312
[Bug other/18910] ice with -O2 / works fine with -O0.
--- Additional Comments From pluto at pld-linux dot org 2004-12-09 20:08 --- Created an attachment (id=7716) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7716&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18910
[Bug other/18910] New: ice with -O2 / works fine with -O0.
# gcc tst-tls4modb.i -c -O2 tst-tls4modb.c: In function 'test1': tst-tls4modb.c:50: error: unrecognizable insn: (insn:HI 89 46 82 3 (set (reg/f:SI 68 [ D.6399 ]) (const:SI (plus:SI (symbol_ref:SI ("foo") [flags 0x1a] ) (const_int 32 [0x20] -1 (nil) (expr_list:REG_EQUAL (const:SI (plus:SI (symbol_ref:SI ("foo") [flags 0x1a] ) (const_int 32 [0x20]))) (nil))) tst-tls4modb.c:50: internal compiler error: in extract_insn, at recog.c:2020 -- Summary: ice with -O2 / works fine with -O0. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: pentium3-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18910
[Bug libgcj/18909] gij needs libgij.so (wrong linking/build?)
--- Additional Comments From pluto at pld-linux dot org 2004-12-09 19:40 --- (In reply to comment #5) > Again try to compile without using the rpm. manual `make all` doesn't build libgij.so :/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18909
[Bug libgcj/18909] gij needs libgij.so (wrong linking/build?)
--- Additional Comments From pluto at pld-linux dot org 2004-12-09 18:44 --- (In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #1) > > > How did you configure gcc? > > > This works for me and many other people. > > > > Even libgcj is not found also, this looks like a something is wrong with > > your build. > > > > libgcj.* exist in rpm's buildroot, libgij.a too but i can't see libgij.so. > > This really sounds like your rpm being wrong, can you compile without using rpm and see if libgij is > there? rpm just calls: %{__make} -C obj-%{_target_platform} \ profiledbootstrap \ GCJFLAGS="%{rpmcflags}" \ BOOT_CFLAGS="%{rpmcflags}" \ STAGE1_CFLAGS="%{rpmcflags}" \ LDFLAGS_FOR_TARGET="%{rpmldflags}" \ mandir=%{_mandir} \ infodir=%{_infodir} %{__make} install \ mandir=%{_mandir} \ infodir=%{_infodir} \ DESTDIR=$RPM_BUILD_ROOT and doesn't do anything else. should i call something more than `make profiledbootstrap` ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18909
[Bug libgcj/18909] gij needs libgij.so (wrong linking/build?)
--- Additional Comments From pluto at pld-linux dot org 2004-12-09 18:14 --- (In reply to comment #1) > How did you configure gcc? > This works for me and many other people. # gcj -v Reading specs from /usr/lib/gcc/pentium3-pld-linux/4.0.0/specs Reading specs from /usr/lib/gcc/pentium3-pld-linux/4.0.0/../../../libgcj.spec rename spec lib to liborig Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info--mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,f95,objc,ada,java --enable-c99 --enable-long-long --enable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-system-zlib --with-slibdir=/lib --without-x --enable-cmath pentium3-pld-linux Thread model: posix gcc version 4.0.0 20041205 (experimental) (PLD Linux) > Even libgcj is not found also, this looks like a something is wrong with your build. libgcj.* exist in rpm's buildroot, libgij.a too but i can't see libgij.so. # la /usr/lib/libgcj* -rw-r--r-- 761 2004-12-09 18:33 /usr/lib/libgcj.la lrwxrwxrwx15 2004-12-09 18:51 /usr/lib/libgcj.so -> libgcj.so.6.0.0 lrwxrwxrwx15 2004-12-09 18:50 /usr/lib/libgcj.so.6 -> libgcj.so.6.0.0 -rwxr-xr-x 12503752 2004-12-09 18:34 /usr/lib/libgcj.so.6.0.0 -rw-r--r-- 361 2004-12-09 18:31 /usr/lib/libgcj.spec [~/rpm/BUILD/gcc-4.0-20041205] # find -type f -name 'libg?j*' ./libjava/gcj/libgcj-config.h.in ./libjava/libgcj-test.spec.in ./libjava/libgcj.pc.in ./libjava/libgcj.spec.in ./libjava/java/security/libgcj.security ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgcj.spec ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgcj.pc ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgcj-test.spec ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/gcj/libgcj-config.h ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgcj-4.0.0.jar ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/.libs/libgcj.so.6.0.0 ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/.libs/libgcj.lai ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/.libs/libgcj.a ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/.libs/libgij.a ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/.libs/libgij.lai ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgcj.objectlist ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgcj.la ./obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgij.la ./obj-pentium3-pld-linux/pentium3-pld-linux/boehm-gc/.libs/libgcjgc.so.1.0.1 ./obj-pentium3-pld-linux/pentium3-pld-linux/boehm-gc/.libs/libgcjgc.a ./obj-pentium3-pld-linux/pentium3-pld-linux/boehm-gc/.libs/libgcjgc.lai ./obj-pentium3-pld-linux/pentium3-pld-linux/boehm-gc/.libs/libgcjgc_convenience.a ./obj-pentium3-pld-linux/pentium3-pld-linux/boehm-gc/libgcjgc.la ./obj-pentium3-pld-linux/pentium3-pld-linux/boehm-gc/libgcjgc_convenience.la i don't known why libgij.so wasn't built? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18909
[Bug libgcj/18909] New: gij needs libgij.so (wrong linking/build?)
[pluto]-[~/rpm/tmp/gcc-4.0.0-root-pluto] # find -type f -name '*gij*' ./usr/share/man/man1/gij.1.gz ./usr/bin/gij [pluto]-[~/rpm/tmp/gcc-4.0.0-root-pluto] # ldd usr/bin/gij /lib/libsafe.so (0xb7fe7000) linux-gate.so.1 => (0xe000) libgij.so.0 => not found<-- ** libgcj.so.6 => not found libpthread.so.0 => /lib/libpthread.so.0 (0xb7fc1000) libdl.so.2 => /lib/libdl.so.2 (0xb7fbd000) libz.so.1 => /lib/libz.so.1 (0xb7fac000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7fa3000) libc.so.6 => /lib/libc.so.6 (0xb7e95000) libm.so.6 => /lib/libm.so.6 (0xb7e7) /lib/ld-linux.so.2 (0xb7fec000) [pluto]-[~/rpm/tmp/gcc-4.0.0-root-pluto] # find ~/rpm/BUILD/gcc-4.0-20041205/ -type f -name 'libgij*' /home/users/pluto/rpm/BUILD/gcc-4.0-20041205/obj-pentium3-pld-linux/pentium3-pld-linux/libjava/.libs/libgij.a /home/users/pluto/rpm/BUILD/gcc-4.0-20041205/obj-pentium3-pld-linux/pentium3-pld-linux/libjava/.libs/libgij.lai /home/users/pluto/rpm/BUILD/gcc-4.0-20041205/obj-pentium3-pld-linux/pentium3-pld-linux/libjava/libgij.la -- Summary: gij needs libgij.so (wrong linking/build?) Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: pentium3-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18909
[Bug c++/18676] ice
--- Additional Comments From pluto at pld-linux dot org 2004-11-25 21:01 --- Created an attachment (id=7610) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7610&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18676
[Bug c++/18676] New: ice
[~/rpm/BUILD/par2cmdline-0.4] # LANG=C g++ commandline.ii -c g++: Internal error: Segmentation fault (program cc1plus) Please submit a full bug report. # g++ -v Reading specs from /usr/lib/gcc/pentium3-pld-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info--mandir=/usr/share/man --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,f77,objc,ada,java --enable-c99 --enable-long-long --enable-multilib --enable-nls --with-gnu-as --with-gnu-ld --with-system-zlib --with-slibdir=/lib --without-x pentium3-pld-linux Thread model: posix gcc version 3.4.3 SSP (PLD Linux) -- Summary: ice Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: pentium3-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18676
[Bug rtl-optimization/18648] New: empty loop / missed-optimization
# cat empty-loop.c long f() { long i, ret = 0; for (i = 0; i < 10; i++) ret++; return ret; } # gcc empty-loop.c -O2 -S && cat empty-loop.s f: pushl %ebp movl$9, %eax movl%esp, %ebp .p2align 4,,15 .L5: decl%eax jns .L5 popl%ebp movl$10, %eax ret source # http://gcc.gnu.org/ml/gcc-help/2004-11/msg00169.html -- Summary: empty loop / missed-optimization Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: minor Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: pentium3-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18648
[Bug rtl-optimization/18560] New: better optimalization of EOR/MOV block.
/* This function reverses the bytes in a word. The method was discovered in 1986 following a competition between ARM programmers; it requires just 4 instructions and 1 work register. A method using only 3 instructions per word reversed was also found, but it has some set-up overhead and uses a 2nd register. */ unsigned long reverse(unsigned long v) { unsigned long t; t = v ^ ((v << 16) | (v >> 16));// EOR r1,r0,r0,ROR #16[1] t &= ~0xff; // BIC r1,r1,#&ff v = (v << 24) | (v >> 8); // MOV r0,r0,ROR #8 return v ^ (t >> 8);// EOR r0,r0,r1,LSR #8 } The gcc-3.4.3 with -O2 produces: reverse: mov r3, r0 [2] mov r0, r0, ror #16 [2] eor r0, r0, r3 [2] bic r0, r0, #16711680 mov r3, r3, ror #8 eor r0, r3, r0, lsr #8 mov pc, lr Itc doesn't seem to produce [2] optimal code [1]. -- Summary: better optimalization of EOR/MOV block. Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: minor Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: arm-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18560