[Bug gas/3109] New: GAS assembles incorrect branches using target arm-wince-pe
I assembled the following code: .text .global _start _start: mov r1, r1 b _start .end $ arm-wince-pe-as armtest.s -o armtest.o $ arm-wince-pe-objdump -d armtest.o armtest.o: file format pe-arm-little Disassembly of section .text: <_start>: 0: e1a01001mov r1, r1 4: ea00b 8 <_start+0x8> GAS produces incorrect code for branches, at least sometimes. GDB for arm-wince-pe says: (gdb) disas _start Dump of assembler code for function _start: 0x <_start+0>: mov r1, r1 0x0004 <_start+4>: b 0xc I do not know why GAS and GDB disassemble code differently, but the real problem is, that the branches are not working when I execute the code. -- Summary: GAS assembles incorrect branches using target arm-wince- pe Product: binutils Version: 2.17 Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: boris dot leidner at formenos dot de CC: bug-binutils at gnu dot org GCC host triplet: i686-linux GCC target triplet: arm-wince-pe http://sourceware.org/bugzilla/show_bug.cgi?id=3109 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/3109] GAS assembles incorrect branches using target arm-wince-pe
--- Additional Comments From boris dot leidner at formenos dot de 2006-08-23 09:58 --- I do not know why objdump (not GAS) and GDB disassemble code differently -- http://sourceware.org/bugzilla/show_bug.cgi?id=3109 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
Re: [Bug gas/3109] New: GAS assembles incorrect branches using target arm-wince-pe
Hi Boris, $ arm-wince-pe-objdump -d armtest.o This is insufficient. Please add the "-r" switch to the objdump command line. <_start>: 0: e1a01001mov r1, r1 4: ea00b 8 <_start+0x8> The -r switch should show you that there is a relocation for the instruction at address 0x4, hence the disassembly is showing you an incomplete instruction. (It would be better to run objdump on the fully linked executable, rather than the object file, as that way you do not have to worry about relocations). (gdb) disas _start Dump of assembler code for function _start: 0x <_start+0>: mov r1, r1 0x0004 <_start+4>: b 0xc How did you create the file that you gave to GDB ? Please try the latest sources in the binutils repository. I believe that you will find that this bug has now been fixed. Cheers Nick ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/3109] GAS assembles incorrect branches using target arm-wince-pe
--- Additional Comments From nickc at redhat dot com 2006-08-23 10:11 --- Subject: Re: New: GAS assembles incorrect branches using target arm-wince-pe Hi Boris, > $ arm-wince-pe-objdump -d armtest.o This is insufficient. Please add the "-r" switch to the objdump command line. > <_start>: >0: e1a01001mov r1, r1 >4: ea00b 8 <_start+0x8> The -r switch should show you that there is a relocation for the instruction at address 0x4, hence the disassembly is showing you an incomplete instruction. (It would be better to run objdump on the fully linked executable, rather than the object file, as that way you do not have to worry about relocations). > (gdb) disas _start > Dump of assembler code for function _start: > 0x <_start+0>: mov r1, r1 > 0x0004 <_start+4>: b 0xc How did you create the file that you gave to GDB ? Please try the latest sources in the binutils repository. I believe that you will find that this bug has now been fixed. Cheers Nick -- http://sourceware.org/bugzilla/show_bug.cgi?id=3109 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/3109] GAS assembles incorrect branches using target arm-wince-pe
-- What|Removed |Added Status|NEW |WAITING http://sourceware.org/bugzilla/show_bug.cgi?id=3109 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
Re: [Bug binutils/3107] New: ld internal error ldlang.c 4272
Hi, This is standart GNU cross tool for arm-elf (gcc-4.1.1 & binutils 2.17.50.0.3 20060715). After adding ld option "--gc-sections" got this error: ... /usr/lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: internal error ldlang.c 4272 collect2: ld returned 1 exit status ... Can supply any additional info. Please could you supply a small test case that reproduces the failure. Cheers Nick ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3107] ld internal error ldlang.c 4272
--- Additional Comments From nickc at redhat dot com 2006-08-23 10:13 --- Subject: Re: New: ld internal error ldlang.c 4272 Hi, > This is standart GNU cross tool for arm-elf (gcc-4.1.1 & binutils 2.17.50.0.3 > 20060715). After adding ld option "--gc-sections" got this error: > > ... > /usr/lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: internal error > ldlang.c 4272 > collect2: ld returned 1 exit status > ... > > Can supply any additional info. Please could you supply a small test case that reproduces the failure. Cheers Nick -- http://sourceware.org/bugzilla/show_bug.cgi?id=3107 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3107] ld internal error ldlang.c 4272
-- What|Removed |Added Status|NEW |WAITING http://sourceware.org/bugzilla/show_bug.cgi?id=3107 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3107] ld internal error ldlang.c 4272
--- Additional Comments From rus at kt dot od dot ua 2006-08-23 10:44 --- Created an attachment (id=1239) --> (http://sourceware.org/bugzilla/attachment.cgi?id=1239&action=view) Smallest [ meaningless from programming point of view ] test case -- http://sourceware.org/bugzilla/show_bug.cgi?id=3107 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
hpux archive generation
Well, I was trying to build a cross toolchains and ar (hppa64-hp-hpux11.00-ar) crashed compiling. I have a big uid and I discover that this cause a core in bfd/archive.c. I think the following fix is clear enough. diff -r -U10 binutils-2.17/bfd/archive.c binutils-2.17.my/bfd/archive.c --- binutils-2.17/bfd/archive.c 2005-10-05 23:24:23.0 +0200 +++ binutils-2.17.my/bfd/archive.c 2006-08-23 10:52:43.060952568 +0200 @@ -1332,21 +1332,21 @@ /* Function to encode large UID/GID values according to HP. */ static void hpux_uid_gid_encode (char str[6], long int id) { int cnt; str[5] = '@' + (id & 3); id >>= 2; - for (cnt = 4; cnt >= 0; ++cnt, id >>= 6) + for (cnt = 4; cnt >= 0; --cnt, id >>= 6) str[cnt] = ' ' + (id & 0x3f); } #endif /* HPUX_LARGE_AR_IDS */ #ifndef HAVE_GETUID #define getuid() 0 #endif #ifndef HAVE_GETGID #define getgid() 0 bye freddy77 ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/3109] GAS assembles incorrect branches using target arm-wince-pe
--- Additional Comments From boris dot leidner at formenos dot de 2006-08-23 11:05 --- Hi Nick, you're right. The problem was not shown in my example. The relocations are correct: $ arm-wince-pe-objdump -d armtest.o -r armtest.o: file format pe-arm-little Disassembly of section .text: <_start>: 0: e1a01001mov r1, r1 4: ea00b 8 <_start+0x8> 4: ARM_26D _start BTW: I provided the same o-file to GDB. That, of course, makes absolutely no sense...I see. In my special case I do not need linking, because the code is injected into a process. So I just copy it out of the object file. GAS did not use relocations in my code and even if I linked it, the binary contained faulty branches. However, I noticed that this has truly been fixed in the repository. I'm sorry, I did not check that first. Greetings, Boris -- http://sourceware.org/bugzilla/show_bug.cgi?id=3109 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3110] New: unsupported relocation type {R_SPARC_H44, R_SPARC_WDISP30, R_SPARC_64}
$ sparc64-sun-solaris2.9-strip --strip-debug *.a BFD: st3IYdGV/greg_weekday.o: unsupported relocation type R_SPARC_H44 sparc64-sun-solaris2.9-strip: st3IYdGV/greg_weekday.o: Bad value BFD: stbZAhUO/operations_posix_windows.o: unsupported relocation type R_SPARC_WDISP30 sparc64-sun-solaris2.9-strip: stbZAhUO/operations_posix_windows.o: Bad value BFD: BFD 2.17.50.0.3 20060715 assertion fail reloc.c:4818 BFD: stCu0HdI/instantiate_cpp_grammar.o: unsupported relocation type R_SPARC_64 sparc64-sun-solaris2.9-strip: stCu0HdI/instantiate_cpp_grammar.o: Bad value -- Summary: unsupported relocation type {R_SPARC_H44, R_SPARC_WDISP30, R_SPARC_64} Product: binutils Version: 2.17 Status: NEW Severity: normal Priority: P2 Component: binutils AssignedTo: unassigned at sources dot redhat dot com ReportedBy: pluto at agmk dot net CC: bug-binutils at gnu dot org GCC target triplet: sparc64-sun-solaris2.9 http://sourceware.org/bugzilla/show_bug.cgi?id=3110 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3110] unsupported relocation type {R_SPARC_H44, R_SPARC_WDISP30, R_SPARC_64}
--- Additional Comments From pluto at agmk dot net 2006-08-23 11:26 --- the main trick here is that boost archives were built with "true" option. it means they can be used as statically linked parts of shared objects. strip works perfect with these *.o files extracted from *.a so i think it assumes content of *.a to strictly. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3110 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3110] unsupported relocation type {R_SPARC_H44, R_SPARC_WDISP30, R_SPARC_64}
--- Additional Comments From pluto at agmk dot net 2006-08-23 11:38 --- Created an attachment (id=1240) --> (http://sourceware.org/bugzilla/attachment.cgi?id=1240&action=view) reduced lib. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3110 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3110] unsupported relocation type {R_SPARC_H44, R_SPARC_WDISP30, R_SPARC_64}
--- Additional Comments From pluto at agmk dot net 2006-08-23 11:38 --- Created an attachment (id=1241) --> (http://sourceware.org/bugzilla/attachment.cgi?id=1241&action=view) reduced lib. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3110 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/3110] unsupported relocation type {R_SPARC_H44, R_SPARC_WDISP30, R_SPARC_64}
--- Additional Comments From pluto at agmk dot net 2006-08-23 11:48 --- Created an attachment (id=1242) --> (http://sourceware.org/bugzilla/attachment.cgi?id=1242&action=view) reduced lib. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3110 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/3111] New: LD very slow linking object files containing dwarf2 symbols
This bug occurs with the binutils-060823 snapshot and binutils-2.16.91.0.6-5 (fedora-5) on both x86-64 and i386 architectures. It do not occur with binutils-2.15.94 (fedora-4). When linking C++ files compiled by GCC 4.1.1 with the -g option ld take 3 minutes to link . Without the -g option the link time was 5 seconds. The obtained shared library has 17 MBytes size without debugging symbols and 59 MBytes size with debugging symbols. -- Summary: LD very slow linking object files containing dwarf2 symbols Product: binutils Version: 2.18 (HEAD) Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: doreille at smr dot ch CC: bug-binutils at gnu dot org,doreille at smr dot ch GCC host triplet: x86_64-unknown-linux-gnu http://sourceware.org/bugzilla/show_bug.cgi?id=3111 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/3111] LD very slow linking object files containing dwarf2 symbols
--- Additional Comments From doreille at smr dot ch 2006-08-23 15:35 --- Created an attachment (id=1243) --> (http://sourceware.org/bugzilla/attachment.cgi?id=1243&action=view) gprof execution profile of ld This is the gprof call graph profile data of ld (binutils-060823 ) linking the files with the dwarf2 symbols. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3111 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
Re: hpux archive generation
Hi Freddy, I was trying to build a cross toolchains and ar (hppa64-hp-hpux11.00-ar) crashed compiling. I have a big uid and I discover that this cause a core in bfd/archive.c. I think the following fix is clear enough. It is. Thanks for catching this. I have checked your patch in along with this ChangeLog message. Cheers Nick bfd/ChangeLog 2006-08-23 Frediano Ziglio <[EMAIL PROTECTED]> * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt" variable. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/3109] GAS assembles incorrect branches using target arm-wince-pe
--- Additional Comments From nickc at redhat dot com 2006-08-23 17:15 --- Already fixed in mainline -- What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://sourceware.org/bugzilla/show_bug.cgi?id=3109 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils