diff options
| author | Tw <tw19881113@gmail.com> | 2023-04-20 19:12:41 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-20 11:12:41 +0000 |
| commit | 31b6d14bf76fa6b78013a6a32d3066e882d64043 (patch) | |
| tree | 7a31da91ca6515f1fbb2bcea8023e6b4c9aea63a /src/codegen/llvm.zig | |
| parent | d80e6ca5a6843cb3911ec2d0b2da8b4ae515202a (diff) | |
| download | zig-31b6d14bf76fa6b78013a6a32d3066e882d64043.tar.gz zig-31b6d14bf76fa6b78013a6a32d3066e882d64043.zip | |
llvm: emit metadata for exported global variables (#15349)
* llvm: emit metadata for global variable
One use case is to genearte BTF information from global variable's metadata.
Signed-off-by: Tw <weii.tan>
Diffstat (limited to 'src/codegen/llvm.zig')
| -rw-r--r-- | src/codegen/llvm.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 80c9f0d024..47b47cc807 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -2549,7 +2549,7 @@ pub const DeclGen = struct { const line_number = decl.src_line + 1; const is_internal_linkage = !dg.module.decl_exports.contains(decl_index); - const di_global = dib.createGlobalVariable( + const di_global = dib.createGlobalVariableExpression( di_file.toScope(), decl.name, global.getValueName(), @@ -2559,7 +2559,8 @@ pub const DeclGen = struct { is_internal_linkage, ); - try dg.object.di_map.put(dg.gpa, dg.decl, di_global.toNode()); + try dg.object.di_map.put(dg.gpa, dg.decl, di_global.getVariable().toNode()); + if (!is_internal_linkage) global.attachMetaData(di_global); } } } |
