[PATCH] D20956: [ELF] - Assign sh_link field of SHT_GNU_versym section to DynSymTab section index

Ed Maste via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 3 14:39:01 PDT 2016


emaste added a comment.

> I think verdef and verneed should point to DynStrTab in sh_link field, when 

>  versym points to DynSymTab. At least that how that stuff works in binutils now I believe.


Sorry for the confusion, you are correct. I dropped one level of indirection.

I believe these are true:

- versym must point to dynsym (as fixed by this change)
- dynsym must point to dynstr (already a given)
- typically verdef, versym and dynsym all point to dynstr
- no spec requires verdef and versym to point to dynstr
- GNU readelf will not work correctly if verdef or versym do not point to dynstr because it accesses the string table for version strings via versym->sh_info->sh_info not verdef->sh_info and verneed->sh_info (the presumed bug)


http://reviews.llvm.org/D20956





More information about the llvm-commits mailing list