* 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-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 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-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).