1 2001-10-31 Jakub Jelinek <jakub@redhat.com>
3 * frame.c (fde_merge): Choose just one from FDEs for the
4 same function in erratic array.
6 --- gcc/unwind-dw2-fde.c.jj Fri Jan 11 14:01:21 2002
7 +++ gcc/unwind-dw2-fde.c Tue Jan 15 15:58:27 2002
8 @@ -535,7 +535,7 @@ fde_merge (struct object *ob, fde_compar
9 struct fde_vector *v1, struct fde_vector *v2)
17 @@ -544,6 +544,17 @@ fde_merge (struct object *ob, fde_compar
21 + if (fde2 != NULL && fde_compare (ob, v2->array[i2], fde2) == 0)
23 + /* Some linkers (e.g. 2.10.91.0.2 or 2.11.92.0.8) resolve
24 + section relative relocations against removed linkonce
25 + section to corresponding location in the output linkonce
26 + section. Always use the earliest fde in that case. */
27 + fde2 = v2->array[i2];
28 + v1->array[i1+i2+1] = fde2;
29 + v1->array[i1+i2] = fde2;
33 while (i1 > 0 && fde_compare (ob, v1->array[i1-1], fde2) > 0)