diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-10-25 17:45:33 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-10-25 17:45:33 +0000 |
commit | f78195df56ebc335ac9872938339ca0143593aa8 (patch) | |
tree | 147961909c57d4b88243533932a83eb753df6270 /bfd/xcofflink.c | |
parent | 1764521ffe075bb948ef763b4e26e119c9551b96 (diff) | |
download | fsf-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.c | 12 |
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)) |