]> git.pld-linux.org Git - packages/gcc.git/blame - gcc32-fde-merge-compat.patch
- s/ppc/powerpc, I believe this might fix libgnat-.so stuff on ppc
[packages/gcc.git] / gcc32-fde-merge-compat.patch
CommitLineData
5384b728 12001-10-31 Jakub Jelinek <jakub@redhat.com>
2
3 * frame.c (fde_merge): Choose just one from FDEs for the
4 same function in erratic array.
5
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)
10 {
11 size_t i1, i2;
12- fde * fde2;
13+ fde * fde2 = NULL;
14
15 i2 = v2->count;
16 if (i2 > 0)
17@@ -544,6 +544,17 @@ fde_merge (struct object *ob, fde_compar
18 do
19 {
20 i2--;
21+ if (fde2 != NULL && fde_compare (ob, v2->array[i2], fde2) == 0)
22+ {
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;
30+ continue;
31+ }
32 fde2 = v2->array[i2];
33 while (i1 > 0 && fde_compare (ob, v1->array[i1-1], fde2) > 0)
34 {
This page took 0.109854 seconds and 4 git commands to generate.