diff options
author | Alan Modra <amodra@bigpond.net.au> | 2013-03-15 07:51:32 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2013-03-15 07:51:32 +0000 |
commit | 471a2b19059fbfa778b95ecf17b875a26db96cab (patch) | |
tree | 8297320a56e6227b75460a83927172da25b38401 /gold/gc.h | |
parent | 4066f9c183ab290f0e8dfc65e3333e63673d3aba (diff) | |
download | binutils-redhat-471a2b19059fbfa778b95ecf17b875a26db96cab.tar.gz |
* 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.h | 32 |
1 files changed, 2 insertions, 30 deletions
@@ -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); |