mirror of
https://github.com/serge1/ELFIO.git
synced 2025-02-05 18:40:08 +00:00
Change relocation type to unsigned
This commit is contained in:
parent
21fa533df3
commit
01f8fed8ad
@ -703,99 +703,100 @@ constexpr unsigned char STV_PROTECTED = 3;
|
||||
constexpr Elf_Word STN_UNDEF = 0;
|
||||
|
||||
// Relocation types
|
||||
constexpr unsigned char R_386_NONE = 0;
|
||||
constexpr unsigned char R_X86_64_NONE = 0;
|
||||
constexpr unsigned char R_AMDGPU_NONE = 0;
|
||||
constexpr unsigned char R_386_32 = 1;
|
||||
constexpr unsigned char R_X86_64_64 = 1;
|
||||
constexpr unsigned char R_AMDGPU_ABS32_LO = 1;
|
||||
constexpr unsigned char R_386_PC32 = 2;
|
||||
constexpr unsigned char R_X86_64_PC32 = 2;
|
||||
constexpr unsigned char R_AMDGPU_ABS32_HI = 2;
|
||||
constexpr unsigned char R_386_GOT32 = 3;
|
||||
constexpr unsigned char R_X86_64_GOT32 = 3;
|
||||
constexpr unsigned char R_AMDGPU_ABS64 = 3;
|
||||
constexpr unsigned char R_386_PLT32 = 4;
|
||||
constexpr unsigned char R_X86_64_PLT32 = 4;
|
||||
constexpr unsigned char R_AMDGPU_REL32 = 4;
|
||||
constexpr unsigned char R_386_COPY = 5;
|
||||
constexpr unsigned char R_X86_64_COPY = 5;
|
||||
constexpr unsigned char R_AMDGPU_REL64 = 5;
|
||||
constexpr unsigned char R_386_GLOB_DAT = 6;
|
||||
constexpr unsigned char R_X86_64_GLOB_DAT = 6;
|
||||
constexpr unsigned char R_AMDGPU_ABS32 = 6;
|
||||
constexpr unsigned char R_386_JMP_SLOT = 7;
|
||||
constexpr unsigned char R_X86_64_JUMP_SLOT = 7;
|
||||
constexpr unsigned char R_AMDGPU_GOTPCREL = 7;
|
||||
constexpr unsigned char R_386_RELATIVE = 8;
|
||||
constexpr unsigned char R_X86_64_RELATIVE = 8;
|
||||
constexpr unsigned char R_AMDGPU_GOTPCREL32_LO = 8;
|
||||
constexpr unsigned char R_386_GOTOFF = 9;
|
||||
constexpr unsigned char R_X86_64_GOTPCREL = 9;
|
||||
constexpr unsigned char R_AMDGPU_GOTPCREL32_HI = 9;
|
||||
constexpr unsigned char R_386_GOTPC = 10;
|
||||
constexpr unsigned char R_X86_64_32 = 10;
|
||||
constexpr unsigned char R_AMDGPU_REL32_LO = 10;
|
||||
constexpr unsigned char R_386_32PLT = 11;
|
||||
constexpr unsigned char R_X86_64_32S = 11;
|
||||
constexpr unsigned char R_AMDGPU_REL32_HI = 11;
|
||||
constexpr unsigned char R_X86_64_16 = 12;
|
||||
constexpr unsigned char R_X86_64_PC16 = 13;
|
||||
constexpr unsigned char R_AMDGPU_RELATIVE64 = 13;
|
||||
constexpr unsigned char R_386_TLS_TPOFF = 14;
|
||||
constexpr unsigned char R_X86_64_8 = 14;
|
||||
constexpr unsigned char R_386_TLS_IE = 15;
|
||||
constexpr unsigned char R_X86_64_PC8 = 15;
|
||||
constexpr unsigned char R_386_TLS_GOTIE = 16;
|
||||
constexpr unsigned char R_X86_64_DTPMOD64 = 16;
|
||||
constexpr unsigned char R_386_TLS_LE = 17;
|
||||
constexpr unsigned char R_X86_64_DTPOFF64 = 17;
|
||||
constexpr unsigned char R_386_TLS_GD = 18;
|
||||
constexpr unsigned char R_X86_64_TPOFF64 = 18;
|
||||
constexpr unsigned char R_386_TLS_LDM = 19;
|
||||
constexpr unsigned char R_X86_64_TLSGD = 19;
|
||||
constexpr unsigned char R_386_16 = 20;
|
||||
constexpr unsigned char R_X86_64_TLSLD = 20;
|
||||
constexpr unsigned char R_386_PC16 = 21;
|
||||
constexpr unsigned char R_X86_64_DTPOFF32 = 21;
|
||||
constexpr unsigned char R_386_8 = 22;
|
||||
constexpr unsigned char R_X86_64_GOTTPOFF = 22;
|
||||
constexpr unsigned char R_386_PC8 = 23;
|
||||
constexpr unsigned char R_X86_64_TPOFF32 = 23;
|
||||
constexpr unsigned char R_386_TLS_GD_32 = 24;
|
||||
constexpr unsigned char R_X86_64_PC64 = 24;
|
||||
constexpr unsigned char R_386_TLS_GD_PUSH = 25;
|
||||
constexpr unsigned char R_X86_64_GOTOFF64 = 25;
|
||||
constexpr unsigned char R_386_TLS_GD_CALL = 26;
|
||||
constexpr unsigned char R_X86_64_GOTPC32 = 26;
|
||||
constexpr unsigned char R_386_TLS_GD_POP = 27;
|
||||
constexpr unsigned char R_X86_64_GOT64 = 27;
|
||||
constexpr unsigned char R_386_TLS_LDM_32 = 28;
|
||||
constexpr unsigned char R_X86_64_GOTPCREL64 = 28;
|
||||
constexpr unsigned char R_386_TLS_LDM_PUSH = 29;
|
||||
constexpr unsigned char R_X86_64_GOTPC64 = 29;
|
||||
constexpr unsigned char R_386_TLS_LDM_CALL = 30;
|
||||
constexpr unsigned char R_X86_64_GOTPLT64 = 30;
|
||||
constexpr unsigned char R_386_TLS_LDM_POP = 31;
|
||||
constexpr unsigned char R_X86_64_PLTOFF64 = 31;
|
||||
constexpr unsigned char R_386_TLS_LDO_32 = 32;
|
||||
constexpr unsigned char R_386_TLS_IE_32 = 33;
|
||||
constexpr unsigned char R_386_TLS_LE_32 = 34;
|
||||
constexpr unsigned char R_X86_64_GOTPC32_TLSDESC = 34;
|
||||
constexpr unsigned char R_386_TLS_DTPMOD32 = 35;
|
||||
constexpr unsigned char R_X86_64_TLSDESC_CALL = 35;
|
||||
constexpr unsigned char R_386_TLS_DTPOFF32 = 36;
|
||||
constexpr unsigned char R_X86_64_TLSDESC = 36;
|
||||
constexpr unsigned char R_386_TLS_TPOFF32 = 37;
|
||||
constexpr unsigned char R_X86_64_IRELATIVE = 37;
|
||||
constexpr unsigned char R_386_SIZE32 = 38;
|
||||
constexpr unsigned char R_386_TLS_GOTDESC = 39;
|
||||
constexpr unsigned char R_386_TLS_DESC_CALL = 40;
|
||||
constexpr unsigned char R_386_TLS_DESC = 41;
|
||||
constexpr unsigned char R_386_IRELATIVE = 42;
|
||||
constexpr unsigned char R_386_GOT32X = 43;
|
||||
constexpr unsigned char R_X86_64_GNU_VTINHERIT = 250;
|
||||
constexpr unsigned char R_X86_64_GNU_VTENTRY = 251;
|
||||
// X86
|
||||
constexpr unsigned R_386_NONE = 0;
|
||||
constexpr unsigned R_X86_64_NONE = 0;
|
||||
constexpr unsigned R_AMDGPU_NONE = 0;
|
||||
constexpr unsigned R_386_32 = 1;
|
||||
constexpr unsigned R_X86_64_64 = 1;
|
||||
constexpr unsigned R_AMDGPU_ABS32_LO = 1;
|
||||
constexpr unsigned R_386_PC32 = 2;
|
||||
constexpr unsigned R_X86_64_PC32 = 2;
|
||||
constexpr unsigned R_AMDGPU_ABS32_HI = 2;
|
||||
constexpr unsigned R_386_GOT32 = 3;
|
||||
constexpr unsigned R_X86_64_GOT32 = 3;
|
||||
constexpr unsigned R_AMDGPU_ABS64 = 3;
|
||||
constexpr unsigned R_386_PLT32 = 4;
|
||||
constexpr unsigned R_X86_64_PLT32 = 4;
|
||||
constexpr unsigned R_AMDGPU_REL32 = 4;
|
||||
constexpr unsigned R_386_COPY = 5;
|
||||
constexpr unsigned R_X86_64_COPY = 5;
|
||||
constexpr unsigned R_AMDGPU_REL64 = 5;
|
||||
constexpr unsigned R_386_GLOB_DAT = 6;
|
||||
constexpr unsigned R_X86_64_GLOB_DAT = 6;
|
||||
constexpr unsigned R_AMDGPU_ABS32 = 6;
|
||||
constexpr unsigned R_386_JMP_SLOT = 7;
|
||||
constexpr unsigned R_X86_64_JUMP_SLOT = 7;
|
||||
constexpr unsigned R_AMDGPU_GOTPCREL = 7;
|
||||
constexpr unsigned R_386_RELATIVE = 8;
|
||||
constexpr unsigned R_X86_64_RELATIVE = 8;
|
||||
constexpr unsigned R_AMDGPU_GOTPCREL32_LO = 8;
|
||||
constexpr unsigned R_386_GOTOFF = 9;
|
||||
constexpr unsigned R_X86_64_GOTPCREL = 9;
|
||||
constexpr unsigned R_AMDGPU_GOTPCREL32_HI = 9;
|
||||
constexpr unsigned R_386_GOTPC = 10;
|
||||
constexpr unsigned R_X86_64_32 = 10;
|
||||
constexpr unsigned R_AMDGPU_REL32_LO = 10;
|
||||
constexpr unsigned R_386_32PLT = 11;
|
||||
constexpr unsigned R_X86_64_32S = 11;
|
||||
constexpr unsigned R_AMDGPU_REL32_HI = 11;
|
||||
constexpr unsigned R_X86_64_16 = 12;
|
||||
constexpr unsigned R_X86_64_PC16 = 13;
|
||||
constexpr unsigned R_AMDGPU_RELATIVE64 = 13;
|
||||
constexpr unsigned R_386_TLS_TPOFF = 14;
|
||||
constexpr unsigned R_X86_64_8 = 14;
|
||||
constexpr unsigned R_386_TLS_IE = 15;
|
||||
constexpr unsigned R_X86_64_PC8 = 15;
|
||||
constexpr unsigned R_386_TLS_GOTIE = 16;
|
||||
constexpr unsigned R_X86_64_DTPMOD64 = 16;
|
||||
constexpr unsigned R_386_TLS_LE = 17;
|
||||
constexpr unsigned R_X86_64_DTPOFF64 = 17;
|
||||
constexpr unsigned R_386_TLS_GD = 18;
|
||||
constexpr unsigned R_X86_64_TPOFF64 = 18;
|
||||
constexpr unsigned R_386_TLS_LDM = 19;
|
||||
constexpr unsigned R_X86_64_TLSGD = 19;
|
||||
constexpr unsigned R_386_16 = 20;
|
||||
constexpr unsigned R_X86_64_TLSLD = 20;
|
||||
constexpr unsigned R_386_PC16 = 21;
|
||||
constexpr unsigned R_X86_64_DTPOFF32 = 21;
|
||||
constexpr unsigned R_386_8 = 22;
|
||||
constexpr unsigned R_X86_64_GOTTPOFF = 22;
|
||||
constexpr unsigned R_386_PC8 = 23;
|
||||
constexpr unsigned R_X86_64_TPOFF32 = 23;
|
||||
constexpr unsigned R_386_TLS_GD_32 = 24;
|
||||
constexpr unsigned R_X86_64_PC64 = 24;
|
||||
constexpr unsigned R_386_TLS_GD_PUSH = 25;
|
||||
constexpr unsigned R_X86_64_GOTOFF64 = 25;
|
||||
constexpr unsigned R_386_TLS_GD_CALL = 26;
|
||||
constexpr unsigned R_X86_64_GOTPC32 = 26;
|
||||
constexpr unsigned R_386_TLS_GD_POP = 27;
|
||||
constexpr unsigned R_X86_64_GOT64 = 27;
|
||||
constexpr unsigned R_386_TLS_LDM_32 = 28;
|
||||
constexpr unsigned R_X86_64_GOTPCREL64 = 28;
|
||||
constexpr unsigned R_386_TLS_LDM_PUSH = 29;
|
||||
constexpr unsigned R_X86_64_GOTPC64 = 29;
|
||||
constexpr unsigned R_386_TLS_LDM_CALL = 30;
|
||||
constexpr unsigned R_X86_64_GOTPLT64 = 30;
|
||||
constexpr unsigned R_386_TLS_LDM_POP = 31;
|
||||
constexpr unsigned R_X86_64_PLTOFF64 = 31;
|
||||
constexpr unsigned R_386_TLS_LDO_32 = 32;
|
||||
constexpr unsigned R_386_TLS_IE_32 = 33;
|
||||
constexpr unsigned R_386_TLS_LE_32 = 34;
|
||||
constexpr unsigned R_X86_64_GOTPC32_TLSDESC = 34;
|
||||
constexpr unsigned R_386_TLS_DTPMOD32 = 35;
|
||||
constexpr unsigned R_X86_64_TLSDESC_CALL = 35;
|
||||
constexpr unsigned R_386_TLS_DTPOFF32 = 36;
|
||||
constexpr unsigned R_X86_64_TLSDESC = 36;
|
||||
constexpr unsigned R_386_TLS_TPOFF32 = 37;
|
||||
constexpr unsigned R_X86_64_IRELATIVE = 37;
|
||||
constexpr unsigned R_386_SIZE32 = 38;
|
||||
constexpr unsigned R_386_TLS_GOTDESC = 39;
|
||||
constexpr unsigned R_386_TLS_DESC_CALL = 40;
|
||||
constexpr unsigned R_386_TLS_DESC = 41;
|
||||
constexpr unsigned R_386_IRELATIVE = 42;
|
||||
constexpr unsigned R_386_GOT32X = 43;
|
||||
constexpr unsigned R_X86_64_GNU_VTINHERIT = 250;
|
||||
constexpr unsigned R_X86_64_GNU_VTENTRY = 251;
|
||||
|
||||
// Segment types
|
||||
constexpr Elf_Word PT_NULL = 0;
|
||||
|
@ -83,11 +83,11 @@ template <class S> class relocation_section_accessor_template
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool get_entry( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf_Word& symbol,
|
||||
unsigned char& type,
|
||||
Elf_Sxword& addend ) const
|
||||
bool get_entry( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf_Word& symbol,
|
||||
unsigned& type,
|
||||
Elf_Sxword& addend ) const
|
||||
{
|
||||
if ( index >= get_entries_num() ) { // Is index valid
|
||||
return false;
|
||||
@ -118,13 +118,13 @@ template <class S> class relocation_section_accessor_template
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool get_entry( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf64_Addr& symbolValue,
|
||||
std::string& symbolName,
|
||||
unsigned char& type,
|
||||
Elf_Sxword& addend,
|
||||
Elf_Sxword& calcValue ) const
|
||||
bool get_entry( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf64_Addr& symbolValue,
|
||||
std::string& symbolName,
|
||||
unsigned& type,
|
||||
Elf_Sxword& addend,
|
||||
Elf_Sxword& calcValue ) const
|
||||
{
|
||||
// Do regular job
|
||||
Elf_Word symbol;
|
||||
@ -185,11 +185,11 @@ template <class S> class relocation_section_accessor_template
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool set_entry( Elf_Xword index,
|
||||
Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned char type,
|
||||
Elf_Sxword addend )
|
||||
bool set_entry( Elf_Xword index,
|
||||
Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned type,
|
||||
Elf_Sxword addend )
|
||||
{
|
||||
if ( index >= get_entries_num() ) { // Is index valid
|
||||
return false;
|
||||
@ -231,7 +231,7 @@ template <class S> class relocation_section_accessor_template
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void add_entry( Elf64_Addr offset, Elf_Word symbol, unsigned char type )
|
||||
void add_entry( Elf64_Addr offset, Elf_Word symbol, unsigned type )
|
||||
{
|
||||
Elf_Xword info;
|
||||
if ( elf_file.get_class() == ELFCLASS32 ) {
|
||||
@ -256,10 +256,10 @@ template <class S> class relocation_section_accessor_template
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void add_entry( Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned char type,
|
||||
Elf_Sxword addend )
|
||||
void add_entry( Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned type,
|
||||
Elf_Sxword addend )
|
||||
{
|
||||
Elf_Xword info;
|
||||
if ( elf_file.get_class() == ELFCLASS32 ) {
|
||||
@ -282,7 +282,7 @@ template <class S> class relocation_section_accessor_template
|
||||
unsigned char other,
|
||||
Elf_Half shndx,
|
||||
Elf64_Addr offset,
|
||||
unsigned char type )
|
||||
unsigned type )
|
||||
{
|
||||
Elf_Word str_index = str_writer.add_string( str );
|
||||
Elf_Word sym_index = sym_writer.add_symbol( str_index, value, size,
|
||||
@ -293,10 +293,10 @@ template <class S> class relocation_section_accessor_template
|
||||
//------------------------------------------------------------------------------
|
||||
void swap_symbols( Elf_Xword first, Elf_Xword second )
|
||||
{
|
||||
Elf64_Addr offset;
|
||||
Elf_Word symbol;
|
||||
unsigned char rtype;
|
||||
Elf_Sxword addend;
|
||||
Elf64_Addr offset;
|
||||
Elf_Word symbol;
|
||||
unsigned rtype;
|
||||
Elf_Sxword addend;
|
||||
for ( Elf_Word i = 0; i < get_entries_num(); i++ ) {
|
||||
get_entry( i, offset, symbol, rtype, addend );
|
||||
if ( symbol == first ) {
|
||||
@ -318,11 +318,11 @@ template <class S> class relocation_section_accessor_template
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
template <class T>
|
||||
void generic_get_entry_rel( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf_Word& symbol,
|
||||
unsigned char& type,
|
||||
Elf_Sxword& addend ) const
|
||||
void generic_get_entry_rel( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf_Word& symbol,
|
||||
unsigned& type,
|
||||
Elf_Sxword& addend ) const
|
||||
{
|
||||
const endianess_convertor& convertor = elf_file.get_convertor();
|
||||
|
||||
@ -338,11 +338,11 @@ template <class S> class relocation_section_accessor_template
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
template <class T>
|
||||
void generic_get_entry_rela( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf_Word& symbol,
|
||||
unsigned char& type,
|
||||
Elf_Sxword& addend ) const
|
||||
void generic_get_entry_rela( Elf_Xword index,
|
||||
Elf64_Addr& offset,
|
||||
Elf_Word& symbol,
|
||||
unsigned& type,
|
||||
Elf_Sxword& addend ) const
|
||||
{
|
||||
const endianess_convertor& convertor = elf_file.get_convertor();
|
||||
|
||||
@ -358,10 +358,10 @@ template <class S> class relocation_section_accessor_template
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
template <class T>
|
||||
void generic_set_entry_rel( Elf_Xword index,
|
||||
Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned char type,
|
||||
void generic_set_entry_rel( Elf_Xword index,
|
||||
Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned type,
|
||||
Elf_Sxword )
|
||||
{
|
||||
const endianess_convertor& convertor = elf_file.get_convertor();
|
||||
@ -383,11 +383,11 @@ template <class S> class relocation_section_accessor_template
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
template <class T>
|
||||
void generic_set_entry_rela( Elf_Xword index,
|
||||
Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned char type,
|
||||
Elf_Sxword addend )
|
||||
void generic_set_entry_rela( Elf_Xword index,
|
||||
Elf64_Addr offset,
|
||||
Elf_Word symbol,
|
||||
unsigned type,
|
||||
Elf_Sxword addend )
|
||||
{
|
||||
const endianess_convertor& convertor = elf_file.get_convertor();
|
||||
|
||||
|
@ -160,12 +160,12 @@ void checkRelocation( const relocation_section_accessor* pRT,
|
||||
Elf_Sxword addend_,
|
||||
Elf_Sxword calcValue_ )
|
||||
{
|
||||
Elf64_Addr offset;
|
||||
Elf64_Addr symbolValue;
|
||||
std::string symbolName;
|
||||
unsigned char type;
|
||||
Elf_Sxword addend;
|
||||
Elf_Sxword calcValue;
|
||||
Elf64_Addr offset;
|
||||
Elf64_Addr symbolValue;
|
||||
std::string symbolName;
|
||||
unsigned type;
|
||||
Elf_Sxword addend;
|
||||
Elf_Sxword calcValue;
|
||||
|
||||
ASSERT_EQ( pRT->get_entry( index, offset, symbolValue, symbolName, type,
|
||||
addend, calcValue ),
|
||||
|
@ -91,7 +91,7 @@ bool write_obj_i386( bool is64bit )
|
||||
|
||||
symbol_section_accessor symbol_writer( writer, sym_sec );
|
||||
Elf_Word nSymIndex = symbol_writer.add_symbol(
|
||||
nStrIndex, 0, 0, STB_LOCAL, STT_NOTYPE, 0, data_sec->get_index() );
|
||||
nStrIndex, 0, 0, STB_LOCAL, STT_NOTYPE, 0, data_sec->get_index() );
|
||||
|
||||
// Another way to add symbol
|
||||
symbol_writer.add_symbol( str_writer, "_start", 0x00000000, 0, STB_WEAK,
|
||||
@ -803,30 +803,30 @@ TEST( ELFIOTest, rearrange_local_symbols_with_reallocation )
|
||||
|
||||
relocation_section_accessor rela( writer, rel_sec );
|
||||
// Add relocation entry (adjust address at offset 11)
|
||||
rela.add_entry( 1, sym1, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 8, sym8, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 6, sym6, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 2, sym2, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 3, sym3, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 8, sym8, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 7, sym7, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 2, sym2, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 11, sym1, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 18, sym8, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 16, sym6, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 12, sym2, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 13, sym3, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 17, sym7, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 14, sym4, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 15, sym5, (unsigned char)R_386_RELATIVE );
|
||||
rela.add_entry( 1, sym1, R_386_RELATIVE );
|
||||
rela.add_entry( 8, sym8, R_386_RELATIVE );
|
||||
rela.add_entry( 6, sym6, R_386_RELATIVE );
|
||||
rela.add_entry( 2, sym2, R_386_RELATIVE );
|
||||
rela.add_entry( 3, sym3, R_386_RELATIVE );
|
||||
rela.add_entry( 8, sym8, R_386_RELATIVE );
|
||||
rela.add_entry( 7, sym7, R_386_RELATIVE );
|
||||
rela.add_entry( 2, sym2, R_386_RELATIVE );
|
||||
rela.add_entry( 11, sym1, R_386_RELATIVE );
|
||||
rela.add_entry( 18, sym8, R_386_RELATIVE );
|
||||
rela.add_entry( 16, sym6, R_386_RELATIVE );
|
||||
rela.add_entry( 12, sym2, R_386_RELATIVE );
|
||||
rela.add_entry( 13, sym3, R_386_RELATIVE );
|
||||
rela.add_entry( 17, sym7, R_386_RELATIVE );
|
||||
rela.add_entry( 14, sym4, R_386_RELATIVE );
|
||||
rela.add_entry( 15, sym5, R_386_RELATIVE );
|
||||
|
||||
std::vector<std::string> before;
|
||||
|
||||
for ( Elf_Word i = 0; i < rela.get_entries_num(); i++ ) {
|
||||
Elf64_Addr offset;
|
||||
Elf_Word symbol;
|
||||
unsigned char rtype;
|
||||
Elf_Sxword addend;
|
||||
Elf64_Addr offset;
|
||||
Elf_Word symbol;
|
||||
unsigned rtype;
|
||||
Elf_Sxword addend;
|
||||
|
||||
rela.get_entry( i, offset, symbol, rtype, addend );
|
||||
symbols.get_symbol( symbol, name, value, size, bind, type,
|
||||
@ -857,10 +857,10 @@ TEST( ELFIOTest, rearrange_local_symbols_with_reallocation )
|
||||
std::vector<std::string> after;
|
||||
|
||||
for ( Elf_Word i = 0; i < rel.get_entries_num(); i++ ) {
|
||||
Elf64_Addr offset;
|
||||
Elf_Word symbol;
|
||||
unsigned char rtype;
|
||||
Elf_Sxword addend;
|
||||
Elf64_Addr offset;
|
||||
Elf_Word symbol;
|
||||
unsigned rtype;
|
||||
Elf_Sxword addend;
|
||||
|
||||
rel.get_entry( i, offset, symbol, rtype, addend );
|
||||
syms.get_symbol( symbol, name, value, size, bind, type, section_index,
|
||||
|
Loading…
x
Reference in New Issue
Block a user