fix stripdebug

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@190 4ee2a332-4b2b-5046-8439-1ba90f034370
This commit is contained in:
shirait 2007-07-13 09:21:16 +00:00
parent 00f83c526a
commit 958a9f5810

View File

@ -511,17 +511,19 @@ u16 ELi_LoadObject( ELHandle* ElfHandle, void* obj_offset, void* buf)
CurrentShdrEx->Shdr.sh_offset = (CurrentShdrEx->loaded_adr - (u32)buf); CurrentShdrEx->Shdr.sh_offset = (CurrentShdrEx->loaded_adr - (u32)buf);
} }
/*セクションヘッダをstripped elfイメージへコピー*/ /*セクションヘッダをstripped elfイメージへコピー*/
CurrentShdrEx->Shdr.sh_link = shdr_table[CurrentShdrEx->Shdr.sh_link]; //セクション番号更新 CurrentShdrEx->Shdr.sh_info = shdr_table[CurrentShdrEx->Shdr.sh_info]; //セクション番号更新
if( CurrentShdrEx->Shdr.sh_type == SHT_SYMTAB) { if( CurrentShdrEx->Shdr.sh_type == SHT_SYMTAB) {
/*シンボルテーブルのsh_typeはシンボルエントリのインデックスを表す*/ /*シンボルテーブルのsh_typeはシンボルエントリのインデックスを表す*/
//SYMTABの場合は406行目で既にsh_linkを変換済みなのでここでは必要なし
}else{ }else{
CurrentShdrEx->Shdr.sh_info = shdr_table[CurrentShdrEx->Shdr.sh_info]; //セクション番号更新 CurrentShdrEx->Shdr.sh_link = shdr_table[CurrentShdrEx->Shdr.sh_link]; //セクション番号更新
} }
memcpy( (u8*)tmp_buf, &(CurrentShdrEx->Shdr), memcpy( (u8*)tmp_buf, &(CurrentShdrEx->Shdr),
sizeof( Elf32_Shdr)); sizeof( Elf32_Shdr));
section_num++; /*セクション数更新*/ section_num++; /*セクション数更新*/
} }
} }
// コピー終了後 // コピー終了後
ElfHandle->process = EL_COPIED; ElfHandle->process = EL_COPIED;
/*------------------------------------------------------------*/ /*------------------------------------------------------------*/