This should fix https://bugs.llvm.org//show_bug.cgi?id=34189
This change makes it so that if writing a K_GNU style archive, you need to output a > 32-bit offset it should output in K_GNU64 style instead.
Differential D36812
Add support for writing 64-bit symbol tables for archives when offsets become too large for 32-bit jakehehrlich on Aug 16 2017, 5:39 PM. Authored by
Details
This should fix https://bugs.llvm.org//show_bug.cgi?id=34189 This change makes it so that if writing a K_GNU style archive, you need to output a > 32-bit offset it should output in K_GNU64 style instead.
Diff Detail
Event TimelineComment Actions You have a bunch of changes here to support individual members >=4G, but I'm not sure there is any need for that.
Comment Actions
option 1) seems the least invasive to me personally. Comment Actions I agree with Rafael's comment. K_MIPS64 is now K_GNU64 and printNBits now uses Kind to determine the size. Comment Actions
Comment Actions With r314844 in place it should now be much easier to check if a 64 bit symbol table is needed or not. Comment Actions I updated this to use the new changes that rafael made. Much clearner. Thanks Rafael! Comment Actions This change adds --print-armap to the test. After https://reviews.llvm.org/D39379 lands this test will work. If the wrong index is used for "main" then the correct file is unlikely to show up making so this test should check that "main" is being looked up in the correct place. |