[BOLT] Fix ORC to properly update symbols
Summary: In new ORC, the sequence of how sections are allocated and loaded is changed. Now everything is delayed until emitAndFinalize() is called, and all actions are supposed to happen via notification functors. There are two functors that we pass to new ObjectLinkingLayer object. One is used to notify when objects are loaded, and the other - once they are finalized. We use the first one to remap sections to proper addresses, and that's the earliest place where we can do it. However, ORC decides to update symbols right before that, and as a result they are updated with non-mapped values. There are two possible fixes for that. This diff postpones the update to the symbol table until the notifier is called. I don't know what other tools depend on the existing sequence, and the proper fix may involve creating a third notifier to be called before the symbol table update. (cherry picked from FBD7280973)
Loading
Please sign in to comment