summaryrefslogtreecommitdiff
path: root/ld/ldwrite.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-09-07 15:01:56 +0000
committerNick Clifton <nickc@redhat.com>2010-09-07 15:01:56 +0000
commit96f16fd1febc370781b139c54a9bd08e98d3cf02 (patch)
tree3a033f39dc181a29b1e6e66405c012558bea977f /ld/ldwrite.c
parentbff398636ead2600fca75759440d4656a96d9808 (diff)
downloadbinutils-redhat-96f16fd1febc370781b139c54a9bd08e98d3cf02.tar.gz
* ldwrite.c (clone_section): Call bfd_copy_private_section_data on
newly cloned section. * ld-x86-64/split-by-file.rd: New test. * ld-x86-64/split-by-file1.s: New test source code. * ld-x86-64/split-by-file2.s: New test source code. * ld-x86-64/x86-64.exp: Run the new test. * readelf.c (process_section_headers): Mention meaning of 'l' section flag for x86-64 targets.
Diffstat (limited to 'ld/ldwrite.c')
-rw-r--r--ld/ldwrite.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ld/ldwrite.c b/ld/ldwrite.c
index 2ff95472d6..7eb8b2b01d 100644
--- a/ld/ldwrite.c
+++ b/ld/ldwrite.c
@@ -358,7 +358,7 @@ clone_section (bfd *abfd, asection *s, const char *name, int *count)
}
tname[5] = 0;
}
-
+
if ((sname = bfd_get_unique_section_name (abfd, tname, count)) == NULL
|| (n = bfd_make_section_anyway (abfd, sname)) == NULL
|| (h = bfd_link_hash_lookup (link_info.hash,
@@ -369,7 +369,7 @@ clone_section (bfd *abfd, asection *s, const char *name, int *count)
return NULL;
}
free (tname);
-
+
/* Set up section symbol. */
h->type = bfd_link_hash_defined;
h->u.def.value = 0;
@@ -385,6 +385,9 @@ clone_section (bfd *abfd, asection *s, const char *name, int *count)
n->orelocation = 0;
n->reloc_count = 0;
n->alignment_power = s->alignment_power;
+
+ bfd_copy_private_section_data (abfd, s, abfd, n);
+
return n;
}