@@ -1016,20 +1016,8 @@ void ElfFile<ElfFileParamNames>::modifySoname(sonameMode op, const std::string &
1016
1016
Elf_Shdr & shdrDynStr = findSection (" .dynstr" );
1017
1017
char * strTab = (char *) contents + rdi (shdrDynStr.sh_offset );
1018
1018
1019
- /* Find the DT_STRTAB entry in the dynamic section. */
1020
- Elf_Dyn * dyn = (Elf_Dyn *) (contents + rdi (shdrDynamic.sh_offset ));
1021
- Elf_Addr strTabAddr = 0 ;
1022
- for ( ; rdi (dyn->d_tag ) != DT_NULL; dyn++)
1023
- if (rdi (dyn->d_tag ) == DT_STRTAB)
1024
- strTabAddr = rdi (dyn->d_un .d_ptr );
1025
- if (!strTabAddr) error (" strange: no string table" );
1026
-
1027
- /* We assume that the virtual address in the DT_STRTAB entry
1028
- of the dynamic section corresponds to the .dynstr section. */
1029
- assert (strTabAddr == rdi (shdrDynStr.sh_addr ));
1030
-
1031
1019
/* Walk through the dynamic section, look for the DT_SONAME entry. */
1032
- dyn = (Elf_Dyn *) (contents + rdi (shdrDynamic.sh_offset ));
1020
+ Elf_Dyn * dyn = (Elf_Dyn *) (contents + rdi (shdrDynamic.sh_offset ));
1033
1021
Elf_Dyn * dynSoname = 0 ;
1034
1022
char * soname = 0 ;
1035
1023
for ( ; rdi (dyn->d_tag ) != DT_NULL; dyn++) {
@@ -1123,15 +1111,6 @@ void ElfFile<ElfFileParamNames>::modifyRPath(RPathOp op,
1123
1111
Elf_Shdr & shdrDynStr = findSection (" .dynstr" );
1124
1112
char * strTab = (char *) contents + rdi (shdrDynStr.sh_offset );
1125
1113
1126
- /* Find the DT_STRTAB entry in the dynamic section. */
1127
- Elf_Dyn * dyn = (Elf_Dyn *) (contents + rdi (shdrDynamic.sh_offset ));
1128
- Elf_Addr strTabAddr = 0 ;
1129
- for ( ; rdi (dyn->d_tag ) != DT_NULL; dyn++)
1130
- if (rdi (dyn->d_tag ) == DT_STRTAB) strTabAddr = rdi (dyn->d_un .d_ptr );
1131
- if (!strTabAddr) error (" strange: no string table" );
1132
-
1133
- assert (strTabAddr == rdi (shdrDynStr.sh_addr ));
1134
-
1135
1114
1136
1115
/* Walk through the dynamic section, look for the RPATH/RUNPATH
1137
1116
entry.
@@ -1146,7 +1125,7 @@ void ElfFile<ElfFileParamNames>::modifyRPath(RPathOp op,
1146
1125
generates a DT_RPATH and DT_RUNPATH pointing at the same
1147
1126
string. */
1148
1127
std::vector<std::string> neededLibs;
1149
- dyn = (Elf_Dyn *) (contents + rdi (shdrDynamic.sh_offset ));
1128
+ Elf_Dyn * dyn = (Elf_Dyn *) (contents + rdi (shdrDynamic.sh_offset ));
1150
1129
Elf_Dyn * dynRPath = 0 , * dynRunPath = 0 ;
1151
1130
char * rpath = 0 ;
1152
1131
for ( ; rdi (dyn->d_tag ) != DT_NULL; dyn++) {
0 commit comments