http://sourceware.org/bugzilla/show_bug.cgi?id=13505

             Bug #: 13505
           Summary: apply_relocation always use 64bit little endian
                    relocation
           Product: binutils
           Version: 2.23 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gold
        AssignedTo: i...@airs.com
        ReportedBy: hjl.to...@gmail.com
                CC: ccout...@google.com
    Classification: Unclassified


There are

template<int size, bool big_endian, typename Target_type,
        typename Relocate>
void
apply_relocation(const Relocate_info<size, big_endian>* relinfo,
                Target_type* target,
                typename elfcpp::Elf_types<size>::Elf_Addr r_offset,
                unsigned int r_type,
                typename elfcpp::Elf_types<size>::Elf_Swxword r_addend,
                const Symbol* gsym,
                unsigned char* view,
                typename elfcpp::Elf_types<size>::Elf_Addr address,
                section_size_type view_size)
{
 // Construct the ELF relocation in a temporary buffer.
 const int reloc_size = elfcpp::Elf_sizes<64>::rela_size;
 unsigned char relbuf[reloc_size];
 elfcpp::Rela<64, false> rel(relbuf);
 elfcpp::Rela_write<64, false> orel(relbuf);
 orel.put_r_offset(r_offset);
 orel.put_r_info(elfcpp::elf_r_info<64>(0, r_type));
 orel.put_r_addend(r_addend);
...

in target-reloc.h.  It always uses Rela<64, false> even for 32bit or big
endian target.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to