================
@@ -187,13 +161,174 @@ void ModuleSymbolTable::CollectAsmSymbols(
   }
 }
 
+static void
+addSymbols(RecordStreamer &Streamer,
+           function_ref<void(StringRef, BasicSymbolRef::Flags)> AsmSymbol) {
+  Streamer.flushSymverDirectives();
+
+  for (const auto &[Name, State] : Streamer) {
+    // FIXME: For now we just assume that all asm symbols are executable.
+    uint32_t Res = BasicSymbolRef::SF_Executable;
----------------
asavonic wrote:

In general case we may not be able to distinguish functions from global 
variables, I think.
There are STT_FUNC and STT_OBJECT in ELF, but they are not processed in 
`RecordStreamer`. They are also not present in `BasicSymbolRef::Flags` bitmask 
that we use for elements of `global-asm-symbols`.

https://github.com/llvm/llvm-project/pull/174995
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to