summaryrefslogtreecommitdiff
path: root/gold/object.h
diff options
context:
space:
mode:
authorJames Clarke <jrtc27@jrtc27.com>2017-11-08 15:13:53 -0800
committerCary Coutant <ccoutant@gmail.com>2017-11-08 15:13:53 -0800
commit333d0055f6f162c334c36f1946b6fcdb5c92b681 (patch)
treee2f634ea32928beaa5801afc966ea07f5e5520cc /gold/object.h
parent08228b11557016f6f12d537ebff5f169fdf9bc6c (diff)
downloadbinutils-gdb-333d0055f6f162c334c36f1946b6fcdb5c92b681.tar.gz
Fix problems with -r.
The fix committed for PR gold/19291 ended up breaking other cases. The commit added adjustment code to write_local_symbols, but in many cases compute_final_local_value_internal had already subtracted the output section's address. To fix this, all other adjustments are now removed, so only the one in write_local_symbols is left. gold/ PR gold/22266 * object.cc (Sized_relobj_file::compute_final_local_value_internal): Drop relocatable parameter and stop adjusting output value based on it. (Sized_relobj_file::compute_final_local_value): Stop passing relocatable to compute_final_local_value_internal. (Sized_relobj_file::do_finalize_local_symbols): Ditto. * object.h (Sized_relobj_file::compute_final_local_value_internal): Drop relocatable parameter.
Diffstat (limited to 'gold/object.h')
-rw-r--r--gold/object.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/gold/object.h b/gold/object.h
index 508e79cb3c0..c6c49277402 100644
--- a/gold/object.h
+++ b/gold/object.h
@@ -2772,8 +2772,7 @@ class Sized_relobj_file : public Sized_relobj<size, big_endian>
// LV_IN points to a local symbol value containing the input value.
// LV_OUT points to a local symbol value storing the final output value,
// which must not be a merged symbol value since before calling this
- // method to avoid memory leak. RELOCATABLE indicates whether we are
- // linking a relocatable output. OUT_SECTIONS is an array of output
+ // method to avoid memory leak. OUT_SECTIONS is an array of output
// sections. OUT_OFFSETS is an array of offsets of the sections. SYMTAB
// points to a symbol table.
//
@@ -2785,7 +2784,6 @@ class Sized_relobj_file : public Sized_relobj<size, big_endian>
compute_final_local_value_internal(unsigned int r_sym,
const Symbol_value<size>* lv_in,
Symbol_value<size>* lv_out,
- bool relocatable,
const Output_sections& out_sections,
const std::vector<Address>& out_offsets,
const Symbol_table* symtab);