aboutsummaryrefslogtreecommitdiff
path: root/gold/gc.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-03-15 07:51:32 +0000
committerAlan Modra <amodra@gmail.com>2013-03-15 07:51:32 +0000
commitad3d8a2f047cb50d8a18c01c1d0dad03e32df5d1 (patch)
tree4a7064d3f5793dd85b233b401e7168ec01e676e4 /gold/gc.h
parent0a251e08fa4e7130f05462ecc9f60e6683cdefca (diff)
downloadfsf-binutils-gdb-ad3d8a2f047cb50d8a18c01c1d0dad03e32df5d1.zip
fsf-binutils-gdb-ad3d8a2f047cb50d8a18c01c1d0dad03e32df5d1.tar.gz
fsf-binutils-gdb-ad3d8a2f047cb50d8a18c01c1d0dad03e32df5d1.tar.bz2
* gc.h (gc_process_relocs): Don't look through function descriptors.
* icf.cc (get_section_contents): Do so here instead.
Diffstat (limited to 'gold/gc.h')
-rw-r--r--gold/gc.h32
1 files changed, 2 insertions, 30 deletions
diff --git a/gold/gc.h b/gold/gc.h
index 6930ace..4224a66 100644
--- a/gold/gc.h
+++ b/gold/gc.h
@@ -253,21 +253,7 @@ gc_process_relocs(
{
Address symvalue = dst_off - addend;
if (is_ordinary)
- {
- Symbol_location loc;
- loc.object = dst_obj;
- loc.shndx = dst_indx;
- loc.offset = convert_types<off_t, Address>(dst_off);
- // Look through function descriptors.
- parameters->target().function_location(&loc);
- if (loc.shndx != dst_indx)
- {
- // Modify symvalue/addend to the code entry.
- symvalue = loc.offset;
- addend = 0;
- }
- (*secvec).push_back(Section_id(loc.object, loc.shndx));
- }
+ (*secvec).push_back(Section_id(dst_obj, dst_indx));
else
(*secvec).push_back(Section_id(NULL, 0));
(*symvec).push_back(NULL);
@@ -343,21 +329,7 @@ gc_process_relocs(
{
Address symvalue = dst_off - addend;
if (is_ordinary && gsym->source() == Symbol::FROM_OBJECT)
- {
- Symbol_location loc;
- loc.object = dst_obj;
- loc.shndx = dst_indx;
- loc.offset = convert_types<off_t, Address>(dst_off);
- // Look through function descriptors.
- parameters->target().function_location(&loc);
- if (loc.shndx != dst_indx)
- {
- // Modify symvalue/addend to the code entry.
- symvalue = loc.offset;
- addend = 0;
- }
- (*secvec).push_back(Section_id(loc.object, loc.shndx));
- }
+ (*secvec).push_back(Section_id(dst_obj, dst_indx));
else
(*secvec).push_back(Section_id(NULL, 0));
(*symvec).push_back(gsym);