aboutsummaryrefslogtreecommitdiff
path: root/bfd/xcofflink.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-10-25 17:45:33 +0000
committerIan Lance Taylor <ian@airs.com>1995-10-25 17:45:33 +0000
commitf78195df56ebc335ac9872938339ca0143593aa8 (patch)
tree147961909c57d4b88243533932a83eb753df6270 /bfd/xcofflink.c
parent1764521ffe075bb948ef763b4e26e119c9551b96 (diff)
downloadfsf-binutils-gdb-f78195df56ebc335ac9872938339ca0143593aa8.zip
fsf-binutils-gdb-f78195df56ebc335ac9872938339ca0143593aa8.tar.gz
fsf-binutils-gdb-f78195df56ebc335ac9872938339ca0143593aa8.tar.bz2
tweak line number and gc handling
Diffstat (limited to 'bfd/xcofflink.c')
-rw-r--r--bfd/xcofflink.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
index 723eefd..55a0cf1 100644
--- a/bfd/xcofflink.c
+++ b/bfd/xcofflink.c
@@ -1062,6 +1062,13 @@ xcoff_link_add_symbols (abfd, info)
break;
}
csect->lineno_count += (linp - linpstart) / linesz;
+ /* The setting of line_filepos will only be
+ useful if all the line number entries for a
+ csect are contiguous; this only matters for
+ error reporting. */
+ if (csect->line_filepos == 0)
+ csect->line_filepos =
+ auxlin.x_sym.x_fcnary.x_fcn.x_lnnoptr;
}
}
}
@@ -2014,7 +2021,10 @@ bfd_xcoff_size_dynamic_sections (output_bfd, info, libpath, entry,
|| hentry == NULL
|| (hentry->root.type != bfd_link_hash_defined
&& hentry->root.type != bfd_link_hash_defweak))
- xcoff_hash_table (info)->gc = false;
+ {
+ gc = false;
+ xcoff_hash_table (info)->gc = false;
+ }
else
{
if (! xcoff_mark (info, hentry->root.u.def.section))