[JITLink][MachO] Handle muliple symbols at same offset when splitting C-strings.
The C-string section splitting support added in f9649d12 triggered an assert ("Duplicate canonical symbol at address") when multiple symbols were defined at the the same offset within a C-string block (this triggered on arm64, where we always add a block start symbol). The bug was caused by a failure to update the record of the last canonical symbol address. The fix was to maintain this record correctly, and move the auto-generation of the block-start symbol above the handling for symbols defined in the object itself so that all symbols (auto-generated and defined) are processed in address order.
Loading
Please sign in to comment