From 31b6d14bf76fa6b78013a6a32d3066e882d64043 Mon Sep 17 00:00:00 2001 From: Tw Date: Thu, 20 Apr 2023 19:12:41 +0800 Subject: 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 --- src/codegen/llvm.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/codegen/llvm.zig') 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); } } } -- cgit v1.2.3