[Bug gas/3172] iwmmxt control registers not hanlded correctly
--- Additional Comments From dr dot tomas at yahoo dot co dot uk 2006-09-11 07:58 --- Sorry, but I have no desire to signup to yet another list just to post a patch. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3172 --- 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-09-11 08:13 --- works fine :) -- 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/3191] New: segmentation fault in read_unsigned_leb128()
after fixing PR3186 i get another error during linkinig a large shared c++ library (c.a. 48MB of object files). ld: Dwarf Error: Could not find abbrev number 9690. ld: Dwarf Error: DW_FORM_strp offset (30408704) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (33030144) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3499234816) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (7157505) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (570543872) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (30408704) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (33030144) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3808428125) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (10384129) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (4965376) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3808428125) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (10384129) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (4965376) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3474456726) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (1728053356) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (2835387911) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (318805511) greater than or equal to .debug_str size (211156). ld: Dwarf Error: Could not find abbrev number 4042. ld: Dwarf Error: DW_FORM_strp offset (124846080) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (9832361) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (124846080) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (546063942) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3976294) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (1057063168) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3983721) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3976294) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (1057063168) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3983721) greater than or equal to .debug_str size (211156). ld: Dwarf Error: Could not find abbrev number 9187. ld: Dwarf Error: Could not find abbrev number 4042. ld: Dwarf Error: DW_FORM_strp offset (124846080) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (9832361) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (124846080) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (124846080) greater than or equal to .debug_str size (211156). ld: Dwarf Error: Could not find abbrev number 10708. ld: Dwarf Error: DW_FORM_strp offset (1208156160) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (7854593) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (6580481) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (1247354116) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (2910144513) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (2910144513) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (2910144513) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (522588929) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3774939136) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (671089177) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (572850326) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (3609530624) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (187564032) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (9833273) greater than or equal to .debug_str size (211156). ld: Dwarf Error: DW_FORM_strp offset (2569511) greater than or equal to .debug_str size (21115
[Bug gas/3172] iwmmxt control registers not hanlded correctly
--- Additional Comments From nickc at redhat dot com 2006-09-11 14:28 --- Hi Tomas, My apologese for the delay in looking at this bug. Your patch is fine, so I have checked in in along with this ChangeLog entry. Cheers Nick gas/ChangeLog 2006-09-11 Tomas Frydrych <[EMAIL PROTECTED]> PR gas/3172 * config/tc-arm.c (parse_typed_reg_or_scalar): Accept wCg class registers as a sub-class of wC registers. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://sourceware.org/bugzilla/show_bug.cgi?id=3172 --- 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 nickc at redhat dot com 2006-09-11 14:31 --- Hi Rus, The patch should apply to the current sources in the mainline of the CVS repository. 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/3110] unsupported relocation type {R_SPARC_H44, R_SPARC_WDISP30, R_SPARC_64}
--- Additional Comments From nickc at redhat dot com 2006-09-11 14:41 --- Patch checked in.z -- What|Removed |Added Status|WAITING |RESOLVED Resolution||FIXED 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-09-11 14:56 --- (In reply to comment #8) > Patch checked in.z thanks. i have one more sparc64 issue. the sparc64-sun-solaris2.9-ld rejects boost's static libraries with 'skipping incompatible...'. as far i can see, the `nomachine` objects causes this linker error. e.g. libboost_filesystem.a: convenience.o: ELF 64-bit MSB relocatable, SPARC V9 exception.o:ELF 64-bit MSB relocatable, no machine <=== operations_posix_windows.o: ELF 64-bit MSB relocatable, SPARC V9 path_posix_windows.o: ELF 64-bit MSB relocatable, SPARC V9 -- 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-09-11 15:02 --- simple testcase: $ sparc64-sun-solaris2.9-g++ -o /dev/null -Wl,--whole-archive libboost_filesystem.a /local/devel/toolchain41/sparc64-sun-solaris2.9/lib/gcc/sparc64-sun-solaris2.9/4.1.2/../../../../sparc64-sun-solaris2.9/bin/ld: libboost_filesystem.a(exception.o): Relocations in generic ELF (EM: 0) (...) libboost_filesystem.a(exception.o): could not read symbols: File in wrong format collect2: ld returned 1 exit status -- 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
RE: Multiple setting of a symbol
> From: Nick Clifton [mailto:[EMAIL PROTECTED] > > Specifically, given the code > > > > my_variable: > > .long X > > X = 1 > > X = 2 > > > > the new version assembles the value 1 into my_variable, > while the old > > version assembles the value 2. > > The problem with this is what should happen in more complex > situations. > For example: > > .long X > X = 1 > X = 2 > .long X > X = 3 > > Now, should that first .long receive the value 2, as you > suggested in your example, or 3, as that is the last value > assigned to X ? Also what value should be given to the > second .long ? 2, which was the value of X at the point in > the code when it was defined, or 3 ? Setting the second definition to 2 and the first to 3 would be fine by me. The rule would be "use current values of symbols if assigned, otherwise treat as an undefined reference". Furthermore, it would be quite natural to restrict use of an undefined reference to those relocations that are allowed by the linker (e.g., "symbol + offset" with "offset" fixed, i.e., known when processing the reference during the "first pass"). It just seems much more useful when referencing an undefined symbol to obtain the final rather than the initial value, and in fact, I think this is what the old assembler did. >.text >.long X >X = 1 >.data >X = 2 >.long X >.section "foo" >X = 3 > > Does this make any difference to the values stored in the .long's ? I do not see why it should. X is an absolute symbol and therefore resides in the absolute section, the fact that it is defined while other sections are "current" is irrelevant. In any case, the behavior should be clearly documented. Regards, Konrad Schwarz ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/3169] elfxx-ia64.c doesn't support @ltoff(@fptr(_DYNAMIC#))
--- Additional Comments From wilson at specifix dot com 2006-09-11 20:26 --- Subject: Re: New: ld elf64-ia64.c segfault in set_fptr_entry On Sun, 2006-09-03 at 10:36 +, tbm at cyrius dot com wrote: > It fails both with Debian binutils 2.17 and current CVS HEAD. > /gcc-lib/ia64-linux-gnu/3.3.6/../../../crti.o symbol.s.o > /usr/bin/ld: BFD 2.17 Debian GNU/Linux assertion fail elf64-ia64.c:4874 > Segmentation fault There is a bug in the source code. It has #pragma weak _DYNAMIC void _DYNAMIC(void); if ((&_DYNAMIC != __null) && (d = (Elf64_Dyn *) _DYNAMIC)) ...process d as if it points to dynamic entries... This won't work on IA-64, as taking the address of a function returns the address of the function pointer. You would then have to redirect through the function pointer to get the actual function address you want. But to do so would be pointless. It is better to declare _DYNAMIC properly in the first place. If you use this extern char _DYNAMIC[0]; then you won't get a linker segfault, and you will also get code that has a chance of working. The linker shouldn't be segfaulting of course though. The linker bug appears to be in allocate_fptr in bfd/el64-ia64.c. This function returns false in this case, as a bfd_elf_link_record_local_dynamic_symbol call fails. I didn't look into this routine in detail, but this failure seems OK, as we can't make _DYNAMIC a local symbol presumably. The failure return result from allocate_fptr gets lost though, as it is called from a hash table traversal routine that throws away return values. Thus no error is emitted here, and no fptr section space is allocated. When we eventually try to generate the descriptor, we get the segfault as we are writing as no space was ever allocated for it. So the solution here seems to be to either fix the elf64_ia64_dyn_sym_traverse function to return failure results, or else emit the error in allocate_fptr directly. The latter seems easier. My problem at the moment now is that I'm not quite sure what the error message should be. Is there such a thing as a global dynamic symbol? If so, maybe the error should be something like "can't resolve fptr reloc for global dynamic symbol" Or maybe something more general like "invalid fptr reloc" or "failed to allocate fptr reloc" is more appropriate. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3169 --- 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/3191] segmentation fault in read_unsigned_leb128()
--- Additional Comments From hjl at lucon dot org 2006-09-11 22:08 --- If you can provide a testcase, I will look into it. -- What|Removed |Added CC||hjl at lucon dot org http://sourceware.org/bugzilla/show_bug.cgi?id=3191 --- 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/3169] elfxx-ia64.c doesn't support @ltoff(@fptr(_DYNAMIC#))
--- Additional Comments From hjl at lucon dot org 2006-09-11 22:17 --- I used --- elf64-ia64.c2006-09-11 15:13:43.0 -0700 +++ elf64-ia64.c.new2006-09-07 16:12:39.0 -0700 @@ -3275,7 +3275,14 @@ allocate_fptr (dyn_i, data) if (!bfd_elf_link_record_local_dynamic_symbol (x->info, h->root.u.def.section->owner, global_sym_index (h))) - return FALSE; + { + /* Something is really wrong. If we continue, we will +run into more problems later. */ + (*_bfd_error_handler) + (_("%B: failed to record local dynamic symbol `%s'"), +h->root.u.def.section->owner, h->root.root.string); + abort (); + } } dyn_i->want_fptr = 0; However, it doesn't work for this: [EMAIL PROTECTED] 3169]$ cat foo.s .hidden __bss_start .text .proc foo# .global foo# foo#: addl [EMAIL PROTECTED](@fptr(_DYNAMIC#)),gp .endp foo [EMAIL PROTECTED] 3169]$ cat bar.s .text .proc bar# bar: // addl r14 = @ltoff(@fptr(foo#)), gp .endp bar# [EMAIL PROTECTED] 3169]$ make ./as -x -o bar.o bar.s ./as -x -o foo.o foo.s ./ld -o libfoo.so -shared bar.o foo.o make: *** [libfoo.so] Segmentation fault make: *** Deleting file `libfoo.so' [EMAIL PROTECTED] 3169]$ gdb ld GNU gdb 6.5.50.20060816-cvs Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu"... Using host libthread_db library "/lib64/libthread_db.so.1". (gdb) r -o libfoo.so -shared bar.o foo.o Starting program: /export/home/hjl/bugs/binutils/3169/ld -o libfoo.so -shared bar.o foo.o Program received signal SIGSEGV, Segmentation fault. 0x00436c1c in global_sym_index (h=0x6e5960) at elf64-ia64.c:3239 3239 for (p = elf_sym_hashes (obj); *p != h; ++p) (gdb) p obj No symbol "obj" in current context. (gdb) p ((h->root.u.def.section->owner) -> tdata.elf_obj_data)->sym_hashes $1 = (struct elf_link_hash_entry **) 0x0 (gdb) -- http://sourceware.org/bugzilla/show_bug.cgi?id=3169 --- 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