[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 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] 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
--- 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/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 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=8818action=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=8819) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8819action=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.
-- What|Removed |Added CC||mmazur at kernel dot pl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21382
[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 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: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/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 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 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=8768action=view) testcase -- 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 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 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] 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 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=8745action=view) testcase -- 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=8746action=view) asm dump -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21237
[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 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 split_di+0x25b @@ -4984,13 +4984,13 @@ 44e8: c7 04 24 0c 00 00 00movl $0xc,(%esp) 44ef: e8 fc ff ff ff call 44f0 split_di+0x1b6 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 split_ti+0x20d @@ -5172,13 +5172,13 @@ 47bb: c7 04 24 0d 00 00 00movl $0xd,(%esp) 47c2: e8 fc ff ff ff call 47c3 split_ti+0x168 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++/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 Address 0x29 out of bounds, [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::__pooltrue::_M_reclaim_block () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0x404f7405 in __gnu_cxx::__pooltrue::_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 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 -, 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] [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::__pooltrue::_M_reclaim_block () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0x406fc405 in __gnu_cxx::__pooltrue::_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_allocstd::string, __gnu_cxx::__common_pool_policy__gnu_cxx::__pool, true ::deallocate (this=0xb2ac, __p=0x81058d8, __n=1) at mt_allocator.h:746 #4 0x40063f36 in std::_Vector_basestd::string, std::allocatorstd::string ::_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++/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/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++/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 Address 0x29 out of bounds, ^^^ [*] [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 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 Address 0x2e out of bounds, [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 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/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=8522action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20741
[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 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? bits/syscall.h 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 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 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 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 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
-- What|Removed |Added CC||pluto at pld-linux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19265
[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 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 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 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 URL: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 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=8379action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20449
[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 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 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-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:53 --- Created an attachment (id=8374) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8374action=view) test patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20392
[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 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 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=8374action=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 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 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 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=8368action=view) install log. -- 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 other/20349] New: [multilib] libjava(32) doesn't build.
./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 'JArrayjava::lang::String*': ../../../../libjava/prims.cc:745: instantiated from here ../../../../libjava/gcj/array.h:42: warning: 'class JArrayjava::lang::String*' 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 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 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 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/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] 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=8272action=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 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 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 L219 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 L213; else goto L237; L213:; - if (startbuf[0] == 0) goto L214; else goto L220; + D.10077 = startbuf[0]; + if (D.10077 == 0) goto L214; else goto L220; L214:; - if (*((const char * *) ivtmp.1013 + 128B) != 0B) goto L215; else goto L220; + D.10028 = *(D.16876 + 128B); + if (D.10028 != 0B) goto L215; else goto L220; L215:; - __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 L217; else goto L220; L217:; - __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 L219; else goto L220; L219:; - __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); L220:; - 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 L225; else goto L226; + if (D.10077 == 0) goto L225; else goto L226; L225:; D.10084 = __dcgettext (_libc_intl_domainname, can\'t determine time zone abbreviation to use just after until time[0], 5); error (D.10084); - goto bb 173 (L237); + goto bb 155 (L237); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20188
[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/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 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/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/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-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] 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 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 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] 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 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 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] 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 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=7841action=view) buildlog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19186
[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 *** lockMutex: 0: e5903000ldr r3, [r0] 4: e3530001cmp r3, #1 ; 0x1 8: 1afebne 8 lockMutex+0x8== should jump to 0x00. c: e2433001sub r3, r3, #1 ; 0x1 10: e5803000str r3, [r0] 14: e1a0f00emov pc, lr 0018 unlockMutex: 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 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 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 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=7753action=view) testcase -- 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] 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 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=7719action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18928
[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 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] 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 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 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] var_decl 0xb7c7fef4 foo) (const_int 32 [0x20] -1 (nil) (expr_list:REG_EQUAL (const:SI (plus:SI (symbol_ref:SI (foo) [flags 0x1a] var_decl 0xb7c7fef4 foo) (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 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=7716action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18910
[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 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 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=7610action=view) testcase -- 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