By using an index instead of a pointer for verdef we can put the index next to the alignment field. This uses the otherwise wasted area and reduces the shared symbol size.
By itself the performance change of this is in the noise, but I have a followup patch to remove another 8 bytes that improves performance when combined with this.
If you can trigger this by passing a malformed object file, this should be a fatal() instead of assert().