aboutsummaryrefslogtreecommitdiff
path: root/bfd/coff-rs6000.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-10-26 18:25:13 +0000
committerIan Lance Taylor <ian@airs.com>1995-10-26 18:25:13 +0000
commit867d923d18ef7eed7d016fdc04e8cf494d3c5db4 (patch)
tree5a28d483a9744201ad00936f826b774ff6a82bed /bfd/coff-rs6000.c
parent328e5a48e87d75e0d0b63669c533025da6242a5e (diff)
downloadgdb-867d923d18ef7eed7d016fdc04e8cf494d3c5db4.zip
gdb-867d923d18ef7eed7d016fdc04e8cf494d3c5db4.tar.gz
gdb-867d923d18ef7eed7d016fdc04e8cf494d3c5db4.tar.bz2
* xcofflink.c: Numerous changes to get closer to a working XCOFF
linker. * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr, toc_section, and entry_section fields. (struct xcoff_section_tdata): Remove ldrel_count field. * libcoff.h: Rebuild. * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data fields. (coff_compute_section_file_positions): If RS6000COFF_C, generate full a.out header if full_aouthdr is set in xcoff_data. (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc based on sections stored in xcoff_data. * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data fields. * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the value stored in ret rather than returning a pointer value.
Diffstat (limited to 'bfd/coff-rs6000.c')
-rw-r--r--bfd/coff-rs6000.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 10d5450..f837a08 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -102,7 +102,16 @@ xcoff_copy_private_bfd_data (ibfd, obfd)
return true;
ix = xcoff_data (ibfd);
ox = xcoff_data (obfd);
+ ox->full_aouthdr = ix->full_aouthdr;
ox->toc = ix->toc;
+ if (ix->toc_section == NULL)
+ ox->toc_section = NULL;
+ else
+ ox->toc_section = ix->toc_section->output_section;
+ if (ix->entry_section == NULL)
+ ox->entry_section = NULL;
+ else
+ ox->entry_section = ix->entry_section->output_section;
ox->text_align_power = ix->text_align_power;
ox->data_align_power = ix->data_align_power;
ox->modtype = ix->modtype;