Robert P. J. DAY says:
apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
1 http://sources.redhat.com/ml/binutils/2004-06/msg00010.html
2 --- binutils-2.15.90.0.3-old/bfd/elf32-arm.h 2004-04-12 14:56:33.000000000 -0500
3 +++ binutils-2.15.90.0.3/bfd/elf32-arm.h 2004-09-03 06:56:40.000000000 -0500
6 static bfd_boolean allocate_dynrelocs
7 PARAMS ((struct elf_link_hash_entry *h, PTR inf));
8 +static bfd_boolean elf32_arm_readonly_dynrelocs
9 + PARAMS ((struct elf_link_hash_entry *, PTR));
10 static bfd_boolean create_got_section
11 PARAMS ((bfd * dynobj, struct bfd_link_info * info));
12 static bfd_boolean elf32_arm_create_dynamic_sections
13 @@ -3531,6 +3533,37 @@
17 +/* Find any dynamic relocs that apply to read-only sections. */
20 +elf32_arm_readonly_dynrelocs (h, inf)
21 + struct elf_link_hash_entry *h;
24 + struct elf32_arm_link_hash_entry *eh;
25 + struct elf32_arm_relocs_copied *p;
27 + if (h->root.type == bfd_link_hash_warning)
28 + h = (struct elf_link_hash_entry *) h->root.u.i.link;
30 + eh = (struct elf32_arm_link_hash_entry *) h;
31 + for (p = eh->relocs_copied; p != NULL; p = p->next)
33 + asection *s = p->section;
35 + if (s != NULL && (s->flags & SEC_READONLY) != 0)
37 + struct bfd_link_info *info = (struct bfd_link_info *) inf;
39 + info->flags |= DF_TEXTREL;
41 + /* Not an error, just cut short the traversal. */
48 /* Set the sizes of the dynamic sections. */
51 @@ -3740,6 +3773,12 @@
55 + /* If any dynamic relocs apply to a read-only section,
56 + then we need a DT_TEXTREL entry. */
57 + if ((info->flags & DF_TEXTREL) == 0)
58 + elf_link_hash_traverse (&htab->root, elf32_arm_readonly_dynrelocs,
61 if ((info->flags & DF_TEXTREL) != 0)
63 if (!add_dynamic_entry (DT_TEXTREL, 0))