[PATCH] D66405: [llvm-ifs] llvm Interface Stubs merging + object file generation tool.

Saleem Abdulrasool via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 17:05:13 PDT 2019


compnerd added a comment.

I think it may make some sense to strip the user label prefix from the symbols that are listed in the interface, and then add that in when generating the ELF/TBD.



================
Comment at: llvm/test/tools/llvm-ifs/a-conflict-header-version.ifs:7
+
+# CHECK-IFS: error: Interface Stub: IfsVersion Mismatch.
+# CHECK-IFS2: error: Interface Stub: Bad IfsVersion: 0.0, llvm-ifs supported version: 1.0.
----------------
Does it matter if the version is mismatched between the two versions as long as you can deserialise and merge?


================
Comment at: llvm/test/tools/llvm-ifs/a-conflict-type.ifs:13
+Symbols:
+  a: { Type: Object, Size: 1}
+...
----------------
Missing space before the `}`.


================
Comment at: llvm/test/tools/llvm-ifs/a-conflict-undefined.ifs:6
+# merge in conflict.
+# CHECK-IFS: error: Interface Stub: Undefined Mismatch for a.
+
----------------
Why do we even need undefined symbols for the interfaces?  Interfaces should be fully defined no?


================
Comment at: llvm/test/tools/llvm-ifs/a-conflict-weak.ifs:7
+# when llvm-ifs has support for resolving these kinds of conflicts.
+# CHECK-IFS: error: Interface Stub: Weak Mismatch for a.
+
----------------
mmm...I think that we should verify that this is appropriate behaviour.  I think that the linker will normally accept the weak definition and replace it with the strong definition and we should just upgrade to the strong definition.


================
Comment at: llvm/test/tools/llvm-ifs/b-conflict-size.ifs:13
+Symbols:
+  b: { Type: Object, Size: 1}
+...
----------------
Missing space before `}`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66405/new/

https://reviews.llvm.org/D66405





More information about the llvm-commits mailing list