* Increment @ 2006-05-27 16:33 Ian Lance Taylor 2006-06-06 4:30 ` Increment Alan Modra 0 siblings, 1 reply; 17+ messages in thread From: Ian Lance Taylor @ 2006-05-27 16:33 UTC (permalink / raw) To: dj; +Cc: binutils bfd_hash_lookup in bfd/hash.c has an incorrectly indented and misplaced increment of table->count: if (copy) { char *new; table->count ++; new = objalloc_alloc ((struct objalloc *) table->memory, len + 1); if (!new) { bfd_set_error (bfd_error_no_memory); return NULL; } memcpy (new, string, len + 1); string = new; } Shouldn't that be incremented regardless of whether COPY is true? Bug or error? Ian ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-05-27 16:33 Increment Ian Lance Taylor @ 2006-06-06 4:30 ` Alan Modra 2006-06-06 10:52 ` Increment Alan Modra ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Alan Modra @ 2006-06-06 4:30 UTC (permalink / raw) To: binutils, dj On Fri, May 26, 2006 at 02:46:47PM -0700, Ian Lance Taylor wrote: > bfd_hash_lookup in bfd/hash.c has an incorrectly indented and > misplaced increment of table->count: This seems to have fallen through the cracks. Applying the obvious fix. * hash.c (bfd_hash_lookup): Correct stray line. Index: bfd/hash.c =================================================================== RCS file: /cvs/src/src/bfd/hash.c,v retrieving revision 1.22 diff -u -p -r1.22 hash.c --- bfd/hash.c 3 May 2006 04:20:52 -0000 1.22 +++ bfd/hash.c 6 Jun 2006 03:02:53 -0000 @@ -455,7 +455,6 @@ bfd_hash_lookup (struct bfd_hash_table * if (copy) { char *new; - table->count ++; new = objalloc_alloc ((struct objalloc *) table->memory, len + 1); if (!new) @@ -470,6 +469,7 @@ bfd_hash_lookup (struct bfd_hash_table * hashp->hash = hash; hashp->next = table->table[index]; table->table[index] = hashp; + table->count++; if (table->count > table->size * 3 / 4) { -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-06 4:30 ` Increment Alan Modra @ 2006-06-06 10:52 ` Alan Modra 2006-06-07 1:40 ` Increment Thiemo Seufer 2006-06-09 13:42 ` Increment Andreas Schwab 2 siblings, 0 replies; 17+ messages in thread From: Alan Modra @ 2006-06-06 10:52 UTC (permalink / raw) To: binutils, dj On Tue, Jun 06, 2006 at 12:34:14PM +0930, Alan Modra wrote: > On Fri, May 26, 2006 at 02:46:47PM -0700, Ian Lance Taylor wrote: > > bfd_hash_lookup in bfd/hash.c has an incorrectly indented and > > misplaced increment of table->count: > > This seems to have fallen through the cracks. Applying the obvious > fix. > > * hash.c (bfd_hash_lookup): Correct stray line. Arrgh. So now I know why this was ignored. * ld-elfvers/vers.exp (objdump_versionstuff): Allow versions in any order. * ld-elfvers/vers1.ver: Update. * ld-elfvers/vers2.ver: Update. * ld-elfvers/vers4a.ver: Update. * ld-elfvers/vers7a.ver: Update. * ld-elfvers/vers8.ver: Update. * ld-elfvers/vers9.ver: Update. * ld-elfvers/vers15.ver: Update. * ld-elfvers/vers16a.ver: Update. * ld-elfvers/vers17.ver: Update. * ld-elfvers/vers18.ver: Update. * ld-elfvers/vers20.ver: Update. * ld-elfvers/vers20a.ver: Update. * ld-elfvers/vers21.ver: Update. * ld-elfvers/vers22a.ver: Update. * ld-elfvers/vers22b.ver: Update. * ld-elfvers/vers23a.ver: Update. * ld-elfvers/vers23b.ver: Update. * ld-elfvers/vers23c.ver: Update. * ld-elfvers/vers25a.ver: Update. * ld-elfvers/vers26a.ver: Update. * ld-elfvers/vers27a.ver: Update. * ld-elfvers/vers27d.ver: Update. * ld-elfvers/vers28b.ver: Update. * ld-elfvers/vers29.ver: Update. * ld-elfvers/vers30.ver: Update. * ld-elfvers/vers31.ver: Update. Index: ld/testsuite/ld-elfvers/vers.exp =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers.exp,v retrieving revision 1.40 diff -u -p -r1.40 vers.exp --- ld/testsuite/ld-elfvers/vers.exp 30 Apr 2006 00:23:00 -0000 1.40 +++ ld/testsuite/ld-elfvers/vers.exp 6 Jun 2006 04:20:16 -0000 @@ -460,44 +460,33 @@ proc objdump_versionstuff { objdump obje # It's OK if there are extra lines in the actual output; they # may come from version information in libc. We require that - # every line in EXPECTFILE appear in the output in order. + # every line in EXPECTFILE appear in the output in any order. - set f1 [open $tmpdir/objdump.out r] set f2 [open $expectfile r] while { [gets $f2 l2] != -1 } { if { ![regexp "^#.*$" $l2] } then { - break - } - } - while { [gets $f1 l1] != -1 } { - if { [string match $l2 $l1] } then { - if { [gets $f2 l2] == -1 } then { + set f1 [open $tmpdir/objdump.out r] + while { [gets $f1 l1] != -1 } { + if { [string match $l2 $l1] } then { + break + } + } + close $f1 + + if { ![string match $l2 $l1] } then { + verbose -log "Did not find \"$l2\"" + set f1 [open $tmpdir/objdump.out r] + while { [gets $f1 l1] != -1 } { + verbose -log $l1 + } close $f1 close $f2 - return 1 + return 0 } } } - - # We reached the end of the output without seeing the line we - # expected. This is a test failure. - - close $f1 close $f2 - - # Support empty expected file. - if [string match "" $l2] then { - return 1 - } - - verbose -log "Did not find \"$l2\"" - set f1 [open $tmpdir/objdump.out r] - while { [gets $f1 l1] != -1 } { - verbose -log $l1 - } - - verbose -log "$exec_output" - return 0 + return 1 } else { verbose -log "$exec_output" return 0 Index: ld/testsuite/ld-elfvers/vers1.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers1.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers1.ver --- ld/testsuite/ld-elfvers/vers1.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers1.ver 6 Jun 2006 04:20:16 -0000 @@ -1,8 +1,8 @@ Version definitions: -1 0x01 0x0c96425f vers1.so -2 0x00 0x0a7927b1 VERS_1.1 -3 0x00 0x0a7927b2 VERS_1.2 +[1-4] 0x01 0x0c96425f vers1.so +[1-4] 0x00 0x0a7927b1 VERS_1.1 +[1-4] 0x00 0x0a7927b2 VERS_1.2 VERS_1.1 -4 0x00 0x0a7922b0 VERS_2.0 +[1-4] 0x00 0x0a7922b0 VERS_2.0 VERS_1.2 Index: ld/testsuite/ld-elfvers/vers15.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers15.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers15.ver --- ld/testsuite/ld-elfvers/vers15.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers15.ver 6 Jun 2006 04:20:16 -0000 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x07cc9645 vers15 -2 0x00 0x0a7927b2 VERS_1.2 -3 0x00 0x0a7927b1 VERS_1.1 +[1-3] 0x01 0x07cc9645 vers15 +[1-3] 0x00 0x0a7927b1 VERS_1.1 +[1-3] 0x00 0x0a7927b2 VERS_1.2 Index: ld/testsuite/ld-elfvers/vers16a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers16a.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers16a.ver --- ld/testsuite/ld-elfvers/vers16a.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers16a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,3 +1,3 @@ Version definitions: -1 0x01 0x064c090f vers16a.so -2 0x00 0x0a7927b1 VERS_1.1 +[1-2] 0x01 0x064c090f vers16a.so +[1-2] 0x00 0x0a7927b1 VERS_1.1 Index: ld/testsuite/ld-elfvers/vers17.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers17.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers17.ver --- ld/testsuite/ld-elfvers/vers17.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers17.ver 6 Jun 2006 04:20:16 -0000 @@ -1,3 +1,3 @@ Version definitions: -1 0x01 0x0964f95f vers17.so -2 0x00 0x0a7922b0 VERS_2.0 +[1-2] 0x01 0x0964f95f vers17.so +[1-2] 0x00 0x0a7922b0 VERS_2.0 Index: ld/testsuite/ld-elfvers/vers18.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers18.ver,v retrieving revision 1.4 diff -u -p -r1.4 vers18.ver --- ld/testsuite/ld-elfvers/vers18.ver 5 May 2003 03:33:09 -0000 1.4 +++ ld/testsuite/ld-elfvers/vers18.ver 6 Jun 2006 04:20:16 -0000 @@ -1,7 +1,7 @@ Version definitions: -1 0x01 0x0964e95f vers18.so -2 0x00 0x0a7927b1 VERS_1.1 -3 0x00 0x0a7927b2 VERS_1.2 +[1-4] 0x01 0x0964e95f vers18.so +[1-4] 0x00 0x0a7927b1 VERS_1.1 +[1-4] 0x00 0x0a7927b2 VERS_1.2 VERS_1.1 -4 0x00 0x0a7922b0 VERS_2.0 +[1-4] 0x00 0x0a7922b0 VERS_2.0 VERS_1.2 Index: ld/testsuite/ld-elfvers/vers2.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers2.ver,v retrieving revision 1.3 diff -u -p -r1.3 vers2.ver --- ld/testsuite/ld-elfvers/vers2.ver 18 May 2001 16:15:42 -0000 1.3 +++ ld/testsuite/ld-elfvers/vers2.ver 6 Jun 2006 04:20:16 -0000 @@ -1,6 +1,6 @@ Version definitions: -1 0x01 0x0c96525f vers2.so -2 0x00 0x08785b51 VERS_XXX_1.1 +[1-2] 0x01 0x0c96525f vers2.so +[1-2] 0x00 0x08785b51 VERS_XXX_1.1 Version References: required from tmpdir/vers1.so: Index: ld/testsuite/ld-elfvers/vers20.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers20.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers20.ver --- ld/testsuite/ld-elfvers/vers20.ver 30 Nov 2001 08:07:34 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers20.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0965695f vers20.so -2 0x00 0x0a7927b1 VERS_1.1 +[1-2] 0x01 0x0965695f vers20.so +[1-2] 0x00 0x0a7927b1 VERS_1.1 Index: ld/testsuite/ld-elfvers/vers20a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers20a.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers20a.ver --- ld/testsuite/ld-elfvers/vers20a.ver 30 Nov 2001 08:07:34 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers20a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0652090f vers20a.so -2 0x00 0x0a7927b1 VERS_1.1 +[1-2] 0x01 0x0652090f vers20a.so +[1-2] 0x00 0x0a7927b1 VERS_1.1 Index: ld/testsuite/ld-elfvers/vers21.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers21.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers21.ver --- ld/testsuite/ld-elfvers/vers21.ver 16 Jul 2002 00:15:57 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers21.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0965595f vers21.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x0965595f vers21.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers22a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers22a.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers22a.ver --- ld/testsuite/ld-elfvers/vers22a.ver 9 Aug 2002 04:42:44 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers22a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0660090f vers22a.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x0660090f vers22a.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers22b.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers22b.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers22b.ver --- ld/testsuite/ld-elfvers/vers22b.ver 9 Aug 2002 04:42:44 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers22b.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x065f990f vers22b.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x065f990f vers22b.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers23a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers23a.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers23a.ver --- ld/testsuite/ld-elfvers/vers23a.ver 12 Aug 2002 19:21:59 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers23a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x065f090f vers23a.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x065f090f vers23a.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers23b.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers23b.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers23b.ver --- ld/testsuite/ld-elfvers/vers23b.ver 12 Aug 2002 19:21:59 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers23b.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x065e990f vers23b.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x065e990f vers23b.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers23c.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers23c.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers23c.ver --- ld/testsuite/ld-elfvers/vers23c.ver 14 Aug 2002 03:26:48 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers23c.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x065ea90f vers23c.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x065ea90f vers23c.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers25a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers25a.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers25a.ver --- ld/testsuite/ld-elfvers/vers25a.ver 23 Apr 2003 16:40:04 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers25a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x065d090f vers25a.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x065d090f vers25a.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers26a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers26a.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers26a.ver --- ld/testsuite/ld-elfvers/vers26a.ver 28 Apr 2003 16:58:00 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers26a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x065c090f vers26a.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x065c090f vers26a.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers27a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers27a.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers27a.ver --- ld/testsuite/ld-elfvers/vers27a.ver 3 May 2003 16:51:05 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers27a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x065b090f vers27a.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x065b090f vers27a.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers27d.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers27d.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers27d.ver --- ld/testsuite/ld-elfvers/vers27d.ver 8 May 2003 05:10:47 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers27d.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x05ac0cff vers27d1.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x05ac0cff vers27d1.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers28b.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers28b.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers28b.ver --- ld/testsuite/ld-elfvers/vers28b.ver 19 Mar 2004 17:02:31 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers28b.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0659990f vers28b.so -2 0x00 0x05aa7610 VERS.0 +[1-2] 0x01 0x0659990f vers28b.so +[1-2] 0x00 0x05aa7610 VERS.0 Index: ld/testsuite/ld-elfvers/vers29.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers29.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers29.ver --- ld/testsuite/ld-elfvers/vers29.ver 26 Oct 2004 21:00:23 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers29.ver 6 Jun 2006 04:20:16 -0000 @@ -1,3 +1,3 @@ Version definitions: -1 0x01 0x0965d95f vers29.so -2 0x00 0x0965d95f vers29.so +[1-2] 0x01 0x0965d95f vers29.so +[1-2] 0x00 0x0965d95f vers29.so Index: ld/testsuite/ld-elfvers/vers30.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers30.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers30.ver --- ld/testsuite/ld-elfvers/vers30.ver 17 Aug 2005 10:08:30 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers30.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0966695f vers30.so -2 0x00 0x079239b0 VERS_30.0 +[1-2] 0x01 0x0966695f vers30.so +[1-2] 0x00 0x079239b0 VERS_30.0 Index: ld/testsuite/ld-elfvers/vers31.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers31.ver,v retrieving revision 1.1 diff -u -p -r1.1 vers31.ver --- ld/testsuite/ld-elfvers/vers31.ver 13 Oct 2005 17:29:57 -0000 1.1 +++ ld/testsuite/ld-elfvers/vers31.ver 6 Jun 2006 04:20:16 -0000 @@ -1,3 +1,3 @@ Version definitions: -1 0x01 0x0966595f vers31.so -2 0x00 0x07923ab0 VERS_31.0 +[1-2] 0x01 0x0966595f vers31.so +[1-2] 0x00 0x07923ab0 VERS_31.0 Index: ld/testsuite/ld-elfvers/vers4a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers4a.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers4a.ver --- ld/testsuite/ld-elfvers/vers4a.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers4a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x07cc96a1 vers4a -2 0x00 0x0a7922b0 VERS_2.0 +[1-2] 0x01 0x07cc96a1 vers4a +[1-2] 0x00 0x0a7922b0 VERS_2.0 Index: ld/testsuite/ld-elfvers/vers7a.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers7a.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers7a.ver --- ld/testsuite/ld-elfvers/vers7a.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers7a.ver 6 Jun 2006 04:20:16 -0000 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x096d595f vers7a.so -2 0x00 0x05aa7921 VERS_1 +[1-2] 0x01 0x096d595f vers7a.so +[1-2] 0x00 0x05aa7921 VERS_1 Index: ld/testsuite/ld-elfvers/vers8.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers8.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers8.ver --- ld/testsuite/ld-elfvers/vers8.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers8.ver 6 Jun 2006 04:20:16 -0000 @@ -1,8 +1,8 @@ Version definitions: -1 0x01 0x0c96b25f vers8.so -2 0x00 0x0a7927b1 VERS_1.1 -3 0x00 0x0a7927b2 VERS_1.2 +[1-4] 0x01 0x0c96b25f vers8.so +[1-4] 0x00 0x0a7927b1 VERS_1.1 +[1-4] 0x00 0x0a7927b2 VERS_1.2 VERS_1.1 -4 0x00 0x0a7922b0 VERS_2.0 +[1-4] 0x00 0x0a7922b0 VERS_2.0 VERS_1.2 Index: ld/testsuite/ld-elfvers/vers9.ver =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-elfvers/vers9.ver,v retrieving revision 1.2 diff -u -p -r1.2 vers9.ver --- ld/testsuite/ld-elfvers/vers9.ver 18 May 2001 01:25:34 -0000 1.2 +++ ld/testsuite/ld-elfvers/vers9.ver 6 Jun 2006 04:20:16 -0000 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x007cc969 vers9 -2 0x00 0x0a7927b1 VERS_1.1 -3 0x00 0x0a7927b2 VERS_1.2 +[1-3] 0x01 0x007cc969 vers9 +[1-3] 0x00 0x0a7927b1 VERS_1.1 +[1-3] 0x00 0x0a7927b2 VERS_1.2 -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-06 4:30 ` Increment Alan Modra 2006-06-06 10:52 ` Increment Alan Modra @ 2006-06-07 1:40 ` Thiemo Seufer 2006-06-07 5:02 ` Increment Alan Modra 2006-06-09 13:42 ` Increment Andreas Schwab 2 siblings, 1 reply; 17+ messages in thread From: Thiemo Seufer @ 2006-06-07 1:40 UTC (permalink / raw) To: binutils Alan Modra wrote: > On Fri, May 26, 2006 at 02:46:47PM -0700, Ian Lance Taylor wrote: > > bfd_hash_lookup in bfd/hash.c has an incorrectly indented and > > misplaced increment of table->count: > > This seems to have fallen through the cracks. Applying the obvious > fix. > > * hash.c (bfd_hash_lookup): Correct stray line. > > Index: bfd/hash.c > =================================================================== > RCS file: /cvs/src/src/bfd/hash.c,v > retrieving revision 1.22 > diff -u -p -r1.22 hash.c > --- bfd/hash.c 3 May 2006 04:20:52 -0000 1.22 > +++ bfd/hash.c 6 Jun 2006 03:02:53 -0000 > @@ -455,7 +455,6 @@ bfd_hash_lookup (struct bfd_hash_table * > if (copy) > { > char *new; > - table->count ++; > > new = objalloc_alloc ((struct objalloc *) table->memory, len + 1); > if (!new) > @@ -470,6 +469,7 @@ bfd_hash_lookup (struct bfd_hash_table * > hashp->hash = hash; > hashp->next = table->table[index]; > table->table[index] = hashp; > + table->count++; > > if (table->count > table->size * 3 / 4) > { This change broke two MIPS (mips-linux) ld testcases, I'm not sure if this indicates breakage or invalid tests: /home/ths/gcc/binutils-upstream/head-build/ld/../gas/as-new -EB -32 -KPIC -o tmpdir/dump0.o /home/ths/gcc/binutils-upstream/head/ld/testsuite/ld-mips-elf/multi-got-1-1.s /home/ths/gcc/binutils-upstream/head-build/ld/../gas/as-new -EB -32 -KPIC -o tmpdir/dump1.o /home/ths/gcc/binutils-upstream/head/ld/testsuite/ld-mips-elf/multi-got-1-2.s ./ld-new -L/home/ths/gcc/binutils-upstream/head/ld/testsuite/ld-mips-elf -melf32btsmip -shared -o tmpdir/dump tmpdir/dump0.o tmpdir/dump1.o /home/ths/gcc/binutils-upstream/head-build/ld/../binutils/readelf -d -r tmpdir/dump > tmpdir/dump.out regexp_diff match failure regexp "^^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_3817$" line "000c447c 00200b03 R_MIPS_REL32 0009ffdc sym_2_4428" regexp_diff match failure regexp "^^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_1864$" line "000c99ac 00200c03 R_MIPS_REL32 0009fa64 sym_2_4078" regexp_diff match failure regexp "^^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_771$" line "000c6380 00200d03 R_MIPS_REL32 0009c1b4 sym_2_450" regexp_diff match failure regexp "^^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_4264$" line "000ca434 00200e03 R_MIPS_REL32 0009c120 sym_2_413" [snip many more lines] regexp_diff match failure regexp "^^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_2228$" line "000c8f48 00400903 R_MIPS_REL32 0009fdb4 sym_2_4290" regexp_diff match failure regexp "^^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_2140$" line "000cb328 00400a03 R_MIPS_REL32 0009f8a4 sym_2_3966" FAIL: MIPS multi-got-1 [snip] /home/ths/gcc/binutils-upstream/head-build/ld/../gas/as-new -o tmpdir/tls-multi-got-1-1.o -EB -march=mips1 -32 -KPIC /home/ths/gcc/binutils-upstream/head/ld/testsuite/ld-mips-elf/tls-multi-got-1-1.s /home/ths/gcc/binutils-upstream/head-build/ld/../gas/as-new -o tmpdir/tls-multi-got-1-2.o -EB -march=mips1 -32 -KPIC /home/ths/gcc/binutils-upstream/head/ld/testsuite/ld-mips-elf/tls-multi-got-1-2.s /home/ths/gcc/binutils-upstream/head-build/ld/ld-new -o tmpdir/tlslib-multi.so -L/home/ths/gcc/binutils-upstream/head/ld/testsuite/ld-mips-elf -shared -melf32btsmip -T mips-lib.ld tmpdir/tls-multi-got-1-1.o tmpdir/tls-multi-got-1-2.o /home/ths/gcc/binutils-upstream/head-build/ld/../binutils/readelf -d -r tmpdir/tlslib-multi.so > dump.out regexp_diff match failure regexp "^001495d8 00000c2f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie$" line "001495d8 00000b2f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie" regexp_diff match failure regexp "^0013f950 00000c2f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie$" line "0013f950 00000b2f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie" regexp_diff match failure regexp "^00135fcc 00000e03 R_MIPS_REL32 000e0a4c sym_2_8355$" line "00143f7c 00000e03 R_MIPS_REL32 000d8048 sym_1_9526" regexp_diff match failure regexp "^001424ac 00000f03 R_MIPS_REL32 000d3594 sym_1_4745$" line "00143768 00000f03 R_MIPS_REL32 000d66a4 sym_1_7885" extra regexps in /home/ths/gcc/binutils-upstream/head/ld/testsuite/ld-mips-elf/tls-multi-got-1.r starting with "^001369b0 004e2c03 R_MIPS_REL32 000da930 sym_2_2140$" EOF from dump.out FAIL: Shared library with multiple GOTs and TLS ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-07 1:40 ` Increment Thiemo Seufer @ 2006-06-07 5:02 ` Alan Modra 0 siblings, 0 replies; 17+ messages in thread From: Alan Modra @ 2006-06-07 5:02 UTC (permalink / raw) To: Thiemo Seufer; +Cc: binutils On Tue, Jun 06, 2006 at 09:59:25PM +0100, Thiemo Seufer wrote: > Alan Modra wrote: > > * hash.c (bfd_hash_lookup): Correct stray line. > > This change broke two MIPS (mips-linux) ld testcases, I'm not sure if > this indicates breakage or invalid tests: Expanding a hash table will change the order of entries seen by a hash table traversal. That is almost certainly why both these tests are failing, but whether the test output indicates a problem in the MIPS backend or is OK but just different to previous output, I can't tell. BTW, have you looked at testsuite output from some of the more unusual MIPS targets lately? eg. $ grep FAIL mipsisa32el-linux/check.log0 FAIL: MIPS dli (mips3) FAIL: MIPS dli (mips4) FAIL: MIPS dli (mips5) FAIL: MIPS dli (mips64) FAIL: MIPS dli (mips64r2) FAIL: MIPS dli (r4000) FAIL: MIPS dli (sb1) FAIL: MIPS dli (vr5400) FAIL: MIPS MIPS64 MIPS-3D ASE instructions (sb1) FAIL: SB-1 MDMX subset and extensions FAIL: SB-1 paired single extensions FAIL: MIPS ELF reloc 2 FAIL: MIPS ld-st-la constants (ABI o32) FAIL: MIPS ld-st-la constants (ABI o32, shared) FAIL: MIPS multi-got-1 FAIL: MIPS multi-got-no-shared FAIL: MIPS rel32 n32 FAIL: MIPS rel64 n64 FAIL: MIPS textrel-1 FAIL: Shared library with multiple GOTs and TLS $ grep FAIL mips-ecoff/check.log0 FAIL: ar symbol table FAIL: APP with macro without NO_APP FAIL: APP with macro then NO_APP FAIL: APP with macro then NO_APP then more code FAIL: included file with .if 0 wrapped in APP/NO_APP, no final NO_APP, macro in main file FAIL: MIPS abs (mips1) FAIL: MIPS abs (mips2) FAIL: MIPS abs (mips3) FAIL: MIPS abs (mips4) FAIL: MIPS abs (mips5) FAIL: MIPS abs (mips32) FAIL: MIPS abs (mips32r2) FAIL: MIPS abs (mips64) FAIL: MIPS abs (mips64r2) FAIL: MIPS abs (r3000) FAIL: MIPS abs (r3900) FAIL: MIPS abs (r4000) FAIL: MIPS abs (sb1) FAIL: MIPS abs (vr5400) FAIL: MIPS add (mips1) FAIL: MIPS add (mips2) FAIL: MIPS add (mips3) FAIL: MIPS add (mips4) FAIL: MIPS add (mips5) FAIL: MIPS add (mips32) FAIL: MIPS add (mips32r2) FAIL: MIPS add (mips64) FAIL: MIPS add (mips64r2) FAIL: MIPS add (r3000) FAIL: MIPS add (r3900) FAIL: MIPS add (r4000) FAIL: MIPS add (sb1) FAIL: MIPS add (vr5400) FAIL: MIPS and (mips1) FAIL: MIPS and (mips2) FAIL: MIPS and (mips3) FAIL: MIPS and (mips4) FAIL: MIPS and (mips5) FAIL: MIPS and (mips32) FAIL: MIPS and (mips32r2) FAIL: MIPS and (mips64) FAIL: MIPS and (mips64r2) FAIL: MIPS and (r3000) FAIL: MIPS and (r3900) FAIL: MIPS and (r4000) FAIL: MIPS and (sb1) FAIL: MIPS and (vr5400) FAIL: MIPS 20-bit break FAIL: MIPS beq (mips2) FAIL: MIPS beq (mips3) FAIL: MIPS beq (mips4) FAIL: MIPS beq (mips5) FAIL: MIPS beq (mips32) FAIL: MIPS beq (mips32r2) FAIL: MIPS beq (mips64) FAIL: MIPS beq (mips64r2) FAIL: MIPS beq (r4000) FAIL: MIPS beq (sb1) FAIL: MIPS beq (vr5400) FAIL: MIPS bge (mips2) FAIL: MIPS bge (mips3) FAIL: MIPS bge (mips4) FAIL: MIPS bge (mips5) FAIL: MIPS bge (mips32) FAIL: MIPS bge (mips32r2) FAIL: MIPS bge (mips64) FAIL: MIPS bge (mips64r2) FAIL: MIPS bge (r4000) FAIL: MIPS bge (sb1) FAIL: MIPS bge (vr5400) FAIL: MIPS bgeu (mips2) FAIL: MIPS bgeu (mips3) FAIL: MIPS bgeu (mips4) FAIL: MIPS bgeu (mips5) FAIL: MIPS bgeu (mips32) FAIL: MIPS bgeu (mips32r2) FAIL: MIPS bgeu (mips64) FAIL: MIPS bgeu (mips64r2) FAIL: MIPS bgeu (r4000) FAIL: MIPS bgeu (sb1) FAIL: MIPS bgeu (vr5400) FAIL: MIPS blt (mips2) FAIL: MIPS blt (mips3) FAIL: MIPS blt (mips4) FAIL: MIPS blt (mips5) FAIL: MIPS blt (mips32) FAIL: MIPS blt (mips32r2) FAIL: MIPS blt (mips64) FAIL: MIPS blt (mips64r2) FAIL: MIPS blt (r4000) FAIL: MIPS blt (sb1) FAIL: MIPS blt (vr5400) FAIL: MIPS bltu (mips2) FAIL: MIPS bltu (mips3) FAIL: MIPS bltu (mips4) FAIL: MIPS bltu (mips5) FAIL: MIPS bltu (mips32) FAIL: MIPS bltu (mips32r2) FAIL: MIPS bltu (mips64) FAIL: MIPS bltu (mips64r2) FAIL: MIPS bltu (r4000) FAIL: MIPS bltu (sb1) FAIL: MIPS bltu (vr5400) FAIL: MIPS branch-misc-1 (mips1) FAIL: MIPS branch-misc-1 (mips2) FAIL: MIPS branch-misc-1 (mips3) FAIL: MIPS branch-misc-1 (mips4) FAIL: MIPS branch-misc-1 (mips5) FAIL: MIPS branch-misc-1 (mips32) FAIL: MIPS branch-misc-1 (mips32r2) FAIL: MIPS branch-misc-1 (mips64) FAIL: MIPS branch-misc-1 (mips64r2) FAIL: MIPS branch-misc-1 (r3000) FAIL: MIPS branch-misc-1 (r3900) FAIL: MIPS branch-misc-1 (r4000) FAIL: MIPS branch-misc-1 (sb1) FAIL: MIPS branch-misc-1 (vr5400) FAIL: MIPS branch-misc-2 (mips1) FAIL: MIPS branch-misc-2 (mips2) FAIL: MIPS branch-misc-2 (mips3) FAIL: MIPS branch-misc-2 (mips4) FAIL: MIPS branch-misc-2 (mips5) FAIL: MIPS branch-misc-2 (mips32) FAIL: MIPS branch-misc-2 (mips32r2) FAIL: MIPS branch-misc-2 (mips64) FAIL: MIPS branch-misc-2 (mips64r2) FAIL: MIPS branch-misc-2 (r3000) FAIL: MIPS branch-misc-2 (r3900) FAIL: MIPS branch-misc-2 (r4000) FAIL: MIPS branch-misc-2 (sb1) FAIL: MIPS branch-misc-2 (vr5400) FAIL: MIPS branch-misc-2pic (mips1) FAIL: MIPS branch-misc-2pic (mips2) FAIL: MIPS branch-misc-2pic (mips3) FAIL: MIPS branch-misc-2pic (mips4) FAIL: MIPS branch-misc-2pic (mips5) FAIL: MIPS branch-misc-2pic (mips32) FAIL: MIPS branch-misc-2pic (mips32r2) FAIL: MIPS branch-misc-2pic (mips64) FAIL: MIPS branch-misc-2pic (mips64r2) FAIL: MIPS branch-misc-2pic (r3000) FAIL: MIPS branch-misc-2pic (r3900) FAIL: MIPS branch-misc-2pic (r4000) FAIL: MIPS branch-misc-2pic (sb1) FAIL: MIPS branch-misc-2pic (vr5400) FAIL: MIPS branch-misc-2-64 (mips3) FAIL: MIPS branch-misc-2-64 (mips4) FAIL: MIPS branch-misc-2-64 (mips5) FAIL: MIPS branch-misc-2-64 (mips64) FAIL: MIPS branch-misc-2-64 (mips64r2) FAIL: MIPS branch-misc-2-64 (r4000) FAIL: MIPS branch-misc-2-64 (sb1) FAIL: MIPS branch-misc-2-64 (vr5400) FAIL: MIPS branch-misc-2-64 (mips3) FAIL: MIPS branch-misc-2-64 (mips4) FAIL: MIPS branch-misc-2-64 (mips5) FAIL: MIPS branch-misc-2-64 (mips64) FAIL: MIPS branch-misc-2-64 (mips64r2) FAIL: MIPS branch-misc-2-64 (r4000) FAIL: MIPS branch-misc-2-64 (sb1) FAIL: MIPS branch-misc-2-64 (vr5400) FAIL: MIPS coprocessor branches FAIL: MIPS branch-swap FAIL: MIPS dli (mips3) FAIL: MIPS dli (mips4) FAIL: MIPS dli (mips5) FAIL: MIPS dli (mips64) FAIL: MIPS dli (mips64r2) FAIL: MIPS dli (r4000) FAIL: MIPS dli (sb1) FAIL: MIPS dli (vr5400) FAIL: MIPS jal FAIL: MIPS jal-range (mips1) FAIL: MIPS jal-range (mips2) FAIL: MIPS jal-range (mips3) FAIL: MIPS jal-range (mips4) FAIL: MIPS jal-range (mips5) FAIL: MIPS jal-range (mips32) FAIL: MIPS jal-range (mips32r2) FAIL: MIPS jal-range (mips64) FAIL: MIPS jal-range (mips64r2) FAIL: MIPS jal-range (r3000) FAIL: MIPS jal-range (r3900) FAIL: MIPS jal-range (r4000) FAIL: MIPS jal-range (sb1) FAIL: MIPS jal-range (vr5400) FAIL: MIPS la FAIL: MIPS lb (mips1) FAIL: MIPS lb (r3000) FAIL: MIPS lb (r3900) FAIL: MIPS ld FAIL: MIPS li (mips1) FAIL: MIPS li (mips2) FAIL: MIPS li (mips3) FAIL: MIPS li (mips4) FAIL: MIPS li (mips5) FAIL: MIPS li (mips32) FAIL: MIPS li (mips32r2) FAIL: MIPS li (mips64) FAIL: MIPS li (mips64r2) FAIL: MIPS li (r3000) FAIL: MIPS li (r3900) FAIL: MIPS li (r4000) FAIL: MIPS li (sb1) FAIL: MIPS li (vr5400) FAIL: MIPS lifloat FAIL: MIPS macro rol/ror (mips1) FAIL: MIPS macro rol/ror (mips2) FAIL: MIPS macro rol/ror (mips3) FAIL: MIPS macro rol/ror (mips4) FAIL: MIPS macro rol/ror (mips5) FAIL: MIPS macro rol/ror (mips32) FAIL: MIPS macro rol/ror (mips64) FAIL: MIPS macro rol/ror (r3000) FAIL: MIPS macro rol/ror (r3900) FAIL: MIPS macro rol/ror (r4000) FAIL: MIPS macro rol/ror (sb1) FAIL: MIPS hardware rol/ror (mips32r2) FAIL: MIPS hardware rol/ror (mips64r2) FAIL: MIPS hardware rol/ror (vr5400) FAIL: MIPS sb FAIL: MIPS trunc FAIL: MIPS ulh FAIL: ulh2 -EB (mips1) FAIL: ulh2 -EB (mips2) FAIL: ulh2 -EB (mips3) FAIL: ulh2 -EB (mips4) FAIL: ulh2 -EB (mips5) FAIL: ulh2 -EB (mips32) FAIL: ulh2 -EB (mips32r2) FAIL: ulh2 -EB (mips64) FAIL: ulh2 -EB (mips64r2) FAIL: ulh2 -EB (r3000) FAIL: ulh2 -EB (r3900) FAIL: ulh2 -EB (r4000) FAIL: ulh2 -EB (sb1) FAIL: ulh2 -EB (vr5400) FAIL: ulh2 -EL (mips1) FAIL: ulh2 -EL (mips2) FAIL: ulh2 -EL (mips3) FAIL: ulh2 -EL (mips4) FAIL: ulh2 -EL (mips5) FAIL: ulh2 -EL (mips32) FAIL: ulh2 -EL (mips32r2) FAIL: ulh2 -EL (mips64) FAIL: ulh2 -EL (mips64r2) FAIL: ulh2 -EL (r3000) FAIL: ulh2 -EL (r3900) FAIL: ulh2 -EL (r4000) FAIL: ulh2 -EL (sb1) FAIL: ulh2 -EL (vr5400) FAIL: MIPS ulw FAIL: MIPS uld FAIL: MIPS ush FAIL: MIPS usw FAIL: MIPS usd FAIL: ulw2 -EB non-interlocked (mips1) FAIL: ulw2 -EB non-interlocked (r3000) FAIL: ulw2 -EB interlocked (mips2) FAIL: ulw2 -EB interlocked (mips3) FAIL: ulw2 -EB interlocked (mips4) FAIL: ulw2 -EB interlocked (mips5) FAIL: ulw2 -EB interlocked (mips32) FAIL: ulw2 -EB interlocked (mips32r2) FAIL: ulw2 -EB interlocked (mips64) FAIL: ulw2 -EB interlocked (mips64r2) FAIL: ulw2 -EB interlocked (r3900) FAIL: ulw2 -EB interlocked (r4000) FAIL: ulw2 -EB interlocked (sb1) FAIL: ulw2 -EB interlocked (vr5400) FAIL: ulw2 -EL non-interlocked (mips1) FAIL: ulw2 -EL non-interlocked (r3000) FAIL: ulw2 -EL interlocked (mips2) FAIL: ulw2 -EL interlocked (mips3) FAIL: ulw2 -EL interlocked (mips4) FAIL: ulw2 -EL interlocked (mips5) FAIL: ulw2 -EL interlocked (mips32) FAIL: ulw2 -EL interlocked (mips32r2) FAIL: ulw2 -EL interlocked (mips64) FAIL: ulw2 -EL interlocked (mips64r2) FAIL: ulw2 -EL interlocked (r3900) FAIL: ulw2 -EL interlocked (r4000) FAIL: ulw2 -EL interlocked (sb1) FAIL: ulw2 -EL interlocked (vr5400) FAIL: MIPS mips-no-jalx FAIL: MIPS 4010 FAIL: MIPS 4650 FAIL: MIPS VR4111 FAIL: MIPS VR4120 FAIL: MIPS vr4120 workarounds FAIL: MIPS VR4130 workarounds FAIL: MIPS VR5400 FAIL: MIPS VR5500 FAIL: assembly line numbers FAIL: sync instructions FAIL: MIPS MIPS32 instructions (mips32) FAIL: MIPS MIPS32 instructions (mips32r2) FAIL: MIPS MIPS32 instructions (mips64) FAIL: MIPS MIPS32 instructions (mips64r2) FAIL: MIPS MIPS32 instructions (sb1) FAIL: MIPS MIPS32r2 instructions (mips32r2) FAIL: MIPS MIPS32r2 instructions (mips64r2) FAIL: MIPS mips32r2-ill (mips32r2) FAIL: MIPS mips32r2-ill-fp64 (mips64r2) FAIL: MIPS MIPS64 instructions (mips64) FAIL: MIPS MIPS64 instructions (mips64r2) FAIL: MIPS MIPS64 instructions (sb1) FAIL: MIPS relax FAIL: MIPS1 branch relaxation with swapping FAIL: MIPS2 branch relaxation with swapping FAIL: MIPS2 branch likely relaxation with swapping FAIL: MIPS illegal FAIL: MIPS baddata1 FAIL: MIPS -mgp32 -mfp32 FAIL: MIPS -mgp32 -mfp64 FAIL: MIPS -mgp64 -mfp32 FAIL: MIPS -mgp64 -mfp64 FAIL: MIPS CP0 with sel register disassembly (numeric) FAIL: MIPS CP0 with sel register disassembly (mips32) FAIL: MIPS CP0 with sel register disassembly (mips32r2) FAIL: MIPS CP0 with sel register disassembly (mips64) FAIL: MIPS CP0 with sel register disassembly (mips64r2) FAIL: MIPS CP0 with sel register disassembly (sb1) FAIL: MIPS HWR disassembly (numeric) FAIL: MIPS HWR disassembly (mips32r2) FAIL: MIPS HWR disassembly (mips64r2) FAIL: MIPS ld-st-la constants (ABI o32) FAIL: MIPS ld-st-la constants (ABI o32, mips3) FAIL: MIPS ld-st-la constants (ABI o32, shared) FAIL: MIPS ld-st-la constants (ABI o32, mips3, shared) FAIL: MIPS ld-st-la bad constants (ABI o32) FAIL: MIPS ld-st-la bad constants (ABI o32, mips3) FAIL: MIPS ld-st-la bad constants (ABI o32, shared) FAIL: MIPS ld-st-la bad constants (ABI o32, mips3, shared) FAIL: MIPS ld-st-la (EABI64) FAIL: gas/mips/macro-warn-1 FAIL: gas/mips/macro-warn-2 FAIL: gas/mips/macro-warn-3 FAIL: gas/mips/macro-warn-4 FAIL: gas/mips/noat-1 FAIL: MIPS16e (mips32) FAIL: MIPS16e (mips32r2) FAIL: MIPS16e (mips64) FAIL: MIPS16e (mips64r2) FAIL: MIPS16e (sb1) FAIL: mips16e save/restore FAIL: gas/mips/vxworks1 FAIL: gas/mips/vxworks1-xgot FAIL: gas/mips/vxworks1-el FAIL: gas/mips/vxworks1-xgot-el FAIL: noreorder test FAIL: ld-scripts/align2a FAIL: ld-scripts/align2b -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-06 4:30 ` Increment Alan Modra 2006-06-06 10:52 ` Increment Alan Modra 2006-06-07 1:40 ` Increment Thiemo Seufer @ 2006-06-09 13:42 ` Andreas Schwab 2006-06-12 4:32 ` Increment Alan Modra 2 siblings, 1 reply; 17+ messages in thread From: Andreas Schwab @ 2006-06-09 13:42 UTC (permalink / raw) To: dj; +Cc: binutils Alan Modra <amodra@bigpond.net.au> writes: > On Fri, May 26, 2006 at 02:46:47PM -0700, Ian Lance Taylor wrote: >> bfd_hash_lookup in bfd/hash.c has an incorrectly indented and >> misplaced increment of table->count: > > This seems to have fallen through the cracks. Applying the obvious > fix. > > * hash.c (bfd_hash_lookup): Correct stray line. The linker is now crashing very often with an assertion failure in _bfd_elf_strtab_delref. Apparently the hash resizing was never properly tested, since with the misplaced increment it was unlikely to ever trigger. In fact, disabling it will fix the crashes. Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-09 13:42 ` Increment Andreas Schwab @ 2006-06-12 4:32 ` Alan Modra 2006-06-12 10:50 ` Increment Andreas Schwab 0 siblings, 1 reply; 17+ messages in thread From: Alan Modra @ 2006-06-12 4:32 UTC (permalink / raw) To: Andreas Schwab; +Cc: dj, binutils On Fri, Jun 09, 2006 at 03:36:59PM +0200, Andreas Schwab wrote: > Alan Modra <amodra@bigpond.net.au> writes: > > * hash.c (bfd_hash_lookup): Correct stray line. > > The linker is now crashing very often with an assertion failure in > _bfd_elf_strtab_delref. Apparently the hash resizing was never properly > tested, since with the misplaced increment it was unlikely to ever > trigger. In fact, disabling it will fix the crashes. How do you get these crashes? I've built an entire powerpc biarch toolchain, binutils+gcc+glibc+gdb, mainline cvs for everything except gcc which was 4.1 branch cvs. No assertions noticed. Perhaps you are hitting a compiler bug? -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-12 4:32 ` Increment Alan Modra @ 2006-06-12 10:50 ` Andreas Schwab 2006-06-12 18:53 ` Increment DJ Delorie 2006-06-12 19:13 ` Increment H. J. Lu 0 siblings, 2 replies; 17+ messages in thread From: Andreas Schwab @ 2006-06-12 10:50 UTC (permalink / raw) To: dj; +Cc: binutils Alan Modra <amodra@bigpond.net.au> writes: > On Fri, Jun 09, 2006 at 03:36:59PM +0200, Andreas Schwab wrote: >> Alan Modra <amodra@bigpond.net.au> writes: >> > * hash.c (bfd_hash_lookup): Correct stray line. >> >> The linker is now crashing very often with an assertion failure in >> _bfd_elf_strtab_delref. Apparently the hash resizing was never properly >> tested, since with the misplaced increment it was unlikely to ever >> trigger. In fact, disabling it will fix the crashes. > > How do you get these crashes? Just by linking any moderately big binary. > I've built an entire powerpc biarch toolchain, binutils+gcc+glibc+gdb, > mainline cvs for everything except gcc which was 4.1 branch cvs. No > assertions noticed. Are you sure that the hash resizing was actually triggered in your tests? Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-12 10:50 ` Increment Andreas Schwab @ 2006-06-12 18:53 ` DJ Delorie 2006-06-12 19:13 ` Increment H. J. Lu 1 sibling, 0 replies; 17+ messages in thread From: DJ Delorie @ 2006-06-12 18:53 UTC (permalink / raw) To: schwab; +Cc: binutils > Are you sure that the hash resizing was actually triggered in your tests? I tested it with a 1Gb+ executable, and the change made a significant improvement, and the resize was definitely happening. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-12 10:50 ` Increment Andreas Schwab 2006-06-12 18:53 ` Increment DJ Delorie @ 2006-06-12 19:13 ` H. J. Lu 2006-06-12 23:55 ` Increment Andreas Schwab 1 sibling, 1 reply; 17+ messages in thread From: H. J. Lu @ 2006-06-12 19:13 UTC (permalink / raw) To: Andreas Schwab; +Cc: dj, binutils On Mon, Jun 12, 2006 at 11:19:24AM +0200, Andreas Schwab wrote: > Alan Modra <amodra@bigpond.net.au> writes: > > > On Fri, Jun 09, 2006 at 03:36:59PM +0200, Andreas Schwab wrote: > >> Alan Modra <amodra@bigpond.net.au> writes: > >> > * hash.c (bfd_hash_lookup): Correct stray line. > >> > >> The linker is now crashing very often with an assertion failure in > >> _bfd_elf_strtab_delref. Apparently the hash resizing was never properly > >> tested, since with the misplaced increment it was unlikely to ever > >> trigger. In fact, disabling it will fix the crashes. > > > > How do you get these crashes? > > Just by linking any moderately big binary. Will building gcc on x86, x86-64 and ia64 trigger this? H.J. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-12 19:13 ` Increment H. J. Lu @ 2006-06-12 23:55 ` Andreas Schwab 2006-06-13 1:11 ` Increment Alan Modra 2006-06-13 8:53 ` Increment H. J. Lu 0 siblings, 2 replies; 17+ messages in thread From: Andreas Schwab @ 2006-06-12 23:55 UTC (permalink / raw) To: H. J. Lu; +Cc: dj, binutils "H. J. Lu" <hjl@lucon.org> writes: > On Mon, Jun 12, 2006 at 11:19:24AM +0200, Andreas Schwab wrote: >> Alan Modra <amodra@bigpond.net.au> writes: >> >> > On Fri, Jun 09, 2006 at 03:36:59PM +0200, Andreas Schwab wrote: >> >> Alan Modra <amodra@bigpond.net.au> writes: >> >> > * hash.c (bfd_hash_lookup): Correct stray line. >> >> >> >> The linker is now crashing very often with an assertion failure in >> >> _bfd_elf_strtab_delref. Apparently the hash resizing was never properly >> >> tested, since with the misplaced increment it was unlikely to ever >> >> trigger. In fact, disabling it will fix the crashes. >> > >> > How do you get these crashes? >> >> Just by linking any moderately big binary. > > Will building gcc on x86, x86-64 and ia64 trigger this? For the particular case of builing the libsndfile package it triggers on x86, x86-64 and ia64, but not on ppc/ppc64. gcc -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -fno-strict-aliasing -W -Wall -Wstrict-prototypes -Wpointer-arith -Wno-unused-parameter -std=gnu99 -W -Wall -Wdeclaration-after-statement -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wbad-function-cast -Wwrite-strings -pipe -o .libs/sndfile-regtest sndfile-regtest.o database.o checksum.o ../src/.libs/libsndfile.so /usr/lib/libFLAC.so /usr/lib/libsqlite3.so -lpthread -lm collect2: ld terminated with signal 11 [Segmentation fault] /usr/lib/gcc/ia64-suse-linux/4.1.2/../../../../ia64-suse-linux/bin/ld: BFD 2.17.50.0.2 20060526 (SUSE Linux) assertion fail ../../bfd/elf-strtab.c:200 Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-12 23:55 ` Increment Andreas Schwab @ 2006-06-13 1:11 ` Alan Modra 2006-06-13 10:52 ` Increment Andreas Schwab 2006-06-13 8:53 ` Increment H. J. Lu 1 sibling, 1 reply; 17+ messages in thread From: Alan Modra @ 2006-06-13 1:11 UTC (permalink / raw) To: Andreas Schwab; +Cc: H. J. Lu, dj, binutils On Mon, Jun 12, 2006 at 11:10:55PM +0200, Andreas Schwab wrote: > /usr/lib/gcc/ia64-suse-linux/4.1.2/../../../../ia64-suse-linux/bin/ld: BFD 2.17.50.0.2 20060526 (SUSE Linux) assertion fail ../../bfd/elf-strtab.c:200 Please try FSF mainline binutils. -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-13 1:11 ` Increment Alan Modra @ 2006-06-13 10:52 ` Andreas Schwab 0 siblings, 0 replies; 17+ messages in thread From: Andreas Schwab @ 2006-06-13 10:52 UTC (permalink / raw) To: H. J. Lu; +Cc: dj, binutils Alan Modra <amodra@bigpond.net.au> writes: > On Mon, Jun 12, 2006 at 11:10:55PM +0200, Andreas Schwab wrote: >> /usr/lib/gcc/ia64-suse-linux/4.1.2/../../../../ia64-suse-linux/bin/ld: BFD 2.17.50.0.2 20060526 (SUSE Linux) assertion fail ../../bfd/elf-strtab.c:200 > > Please try FSF mainline binutils. I did, all the same. Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-12 23:55 ` Increment Andreas Schwab 2006-06-13 1:11 ` Increment Alan Modra @ 2006-06-13 8:53 ` H. J. Lu 2006-06-13 13:49 ` Increment Andreas Schwab 1 sibling, 1 reply; 17+ messages in thread From: H. J. Lu @ 2006-06-13 8:53 UTC (permalink / raw) To: Andreas Schwab; +Cc: dj, binutils On Mon, Jun 12, 2006 at 11:10:55PM +0200, Andreas Schwab wrote: > "H. J. Lu" <hjl@lucon.org> writes: > > > On Mon, Jun 12, 2006 at 11:19:24AM +0200, Andreas Schwab wrote: > >> Alan Modra <amodra@bigpond.net.au> writes: > >> > >> > On Fri, Jun 09, 2006 at 03:36:59PM +0200, Andreas Schwab wrote: > >> >> Alan Modra <amodra@bigpond.net.au> writes: > >> >> > * hash.c (bfd_hash_lookup): Correct stray line. > >> >> > >> >> The linker is now crashing very often with an assertion failure in > >> >> _bfd_elf_strtab_delref. Apparently the hash resizing was never properly > >> >> tested, since with the misplaced increment it was unlikely to ever > >> >> trigger. In fact, disabling it will fix the crashes. > >> > > >> > How do you get these crashes? > >> > >> Just by linking any moderately big binary. > > > > Will building gcc on x86, x86-64 and ia64 trigger this? > > For the particular case of builing the libsndfile package it triggers on > x86, x86-64 and ia64, but not on ppc/ppc64. > > gcc -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -fno-strict-aliasing -W -Wall -Wstrict-prototypes -Wpointer-arith -Wno-unused-parameter -std=gnu99 -W -Wall -Wdeclaration-after-statement -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wbad-function-cast -Wwrite-strings -pipe -o .libs/sndfile-regtest sndfile-regtest.o database.o checksum.o ../src/.libs/libsndfile.so /usr/lib/libFLAC.so /usr/lib/libsqlite3.so -lpthread -lm > collect2: ld terminated with signal 11 [Segmentation fault] > /usr/lib/gcc/ia64-suse-linux/4.1.2/../../../../ia64-suse-linux/bin/ld: BFD 2.17.50.0.2 20060526 (SUSE Linux) assertion fail ../../bfd/elf-strtab.c:200 > Can you provide a self-contained testcase? H.J. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-13 8:53 ` Increment H. J. Lu @ 2006-06-13 13:49 ` Andreas Schwab 2006-06-13 14:49 ` Increment Alan Modra 0 siblings, 1 reply; 17+ messages in thread From: Andreas Schwab @ 2006-06-13 13:49 UTC (permalink / raw) To: H. J. Lu; +Cc: dj, binutils "H. J. Lu" <hjl@lucon.org> writes: > Can you provide a self-contained testcase? <ftp://ftp.suse.com/pub/people/schwab/hash-resize-test.tar.gz> Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-13 13:49 ` Increment Andreas Schwab @ 2006-06-13 14:49 ` Alan Modra 2006-06-13 14:52 ` Increment Alan Modra 0 siblings, 1 reply; 17+ messages in thread From: Alan Modra @ 2006-06-13 14:49 UTC (permalink / raw) To: Andreas Schwab; +Cc: H. J. Lu, dj, binutils On Tue, Jun 13, 2006 at 12:52:09PM +0200, Andreas Schwab wrote: > <ftp://ftp.suse.com/pub/people/schwab/hash-resize-test.tar.gz> The sym table is being resized while an as-needed lib is being loaded. Some extra hash table state needs to be restored, table, size and count. -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Increment 2006-06-13 14:49 ` Increment Alan Modra @ 2006-06-13 14:52 ` Alan Modra 0 siblings, 0 replies; 17+ messages in thread From: Alan Modra @ 2006-06-13 14:52 UTC (permalink / raw) To: binutils, Andreas Schwab On Wed, Jun 14, 2006 at 12:08:12AM +0930, Alan Modra wrote: > On Tue, Jun 13, 2006 at 12:52:09PM +0200, Andreas Schwab wrote: > > <ftp://ftp.suse.com/pub/people/schwab/hash-resize-test.tar.gz> > > The sym table is being resized while an as-needed lib is being loaded. > Some extra hash table state needs to be restored, table, size and > count. * elflink.c (elf_link_add_object_symbols): Save and restore struct bfd_hash_table table, size and count fields for as-needed libs. Index: bfd/elflink.c =================================================================== RCS file: /cvs/src/src/bfd/elflink.c,v retrieving revision 1.218 diff -u -p -r1.218 elflink.c --- bfd/elflink.c 12 Jun 2006 11:12:51 -0000 1.218 +++ bfd/elflink.c 13 Jun 2006 14:43:41 -0000 @@ -3080,6 +3080,9 @@ elf_link_add_object_symbols (bfd *abfd, struct elf_link_hash_table *htab; bfd_size_type amt; void *alloc_mark = NULL; + struct bfd_hash_entry **old_table = NULL; + unsigned int old_size = 0; + unsigned int old_count = 0; void *old_tab = NULL; void *old_hash; void *old_ent; @@ -3504,6 +3507,9 @@ elf_link_add_object_symbols (bfd *abfd, memcpy (old_hash, sym_hash, hashsize); old_undefs = htab->root.undefs; old_undefs_tail = htab->root.undefs_tail; + old_table = htab->root.table.table; + old_size = htab->root.table.size; + old_count = htab->root.table.count; old_dynsymcount = htab->dynsymcount; for (i = 0; i < htab->root.table.size; i++) @@ -4151,6 +4157,9 @@ elf_link_add_object_symbols (bfd *abfd, old_hash = (char *) old_tab + tabsize; old_ent = (char *) old_hash + hashsize; sym_hash = elf_sym_hashes (abfd); + htab->root.table.table = old_table; + htab->root.table.size = old_size; + htab->root.table.count = old_count; memcpy (htab->root.table.table, old_tab, tabsize); memcpy (sym_hash, old_hash, hashsize); htab->root.undefs = old_undefs; -- Alan Modra IBM OzLabs - Linux Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2006-06-13 14:49 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-05-27 16:33 Increment Ian Lance Taylor 2006-06-06 4:30 ` Increment Alan Modra 2006-06-06 10:52 ` Increment Alan Modra 2006-06-07 1:40 ` Increment Thiemo Seufer 2006-06-07 5:02 ` Increment Alan Modra 2006-06-09 13:42 ` Increment Andreas Schwab 2006-06-12 4:32 ` Increment Alan Modra 2006-06-12 10:50 ` Increment Andreas Schwab 2006-06-12 18:53 ` Increment DJ Delorie 2006-06-12 19:13 ` Increment H. J. Lu 2006-06-12 23:55 ` Increment Andreas Schwab 2006-06-13 1:11 ` Increment Alan Modra 2006-06-13 10:52 ` Increment Andreas Schwab 2006-06-13 8:53 ` Increment H. J. Lu 2006-06-13 13:49 ` Increment Andreas Schwab 2006-06-13 14:49 ` Increment Alan Modra 2006-06-13 14:52 ` Increment Alan Modra
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).