diff options
author | Lang Hames <lhames@gmail.com> | 2021-06-09 18:56:30 +1000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2021-06-09 19:16:49 +1000 |
commit | 82f8aef3deb196ad323a3ef57c03276c6e93a246 (patch) | |
tree | 24ad279a9858006500d9b024eab7cec20cbe00d8 /llvm/docs/tutorial/MyFirstLanguageFrontend | |
parent | e978f6bc97064603a5665a6797d6e613a231479a (diff) | |
download | llvm-82f8aef3deb196ad323a3ef57c03276c6e93a246.zip llvm-82f8aef3deb196ad323a3ef57c03276c6e93a246.tar.gz llvm-82f8aef3deb196ad323a3ef57c03276c6e93a246.tar.bz2 |
[JITLink][MachO] Handle muliple symbols at same offset when splitting C-strings.
The C-string section splitting support added in f9649d123db 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.
Diffstat (limited to 'llvm/docs/tutorial/MyFirstLanguageFrontend')
0 files changed, 0 insertions, 0 deletions