Skip to content

Commit c39b534

Browse files
committed
Add llvm_gnu_pubnames to Interface and set llvm_debug_info for native target
1 parent 5536c45 commit c39b534

3 files changed

Lines changed: 14 additions & 1 deletion

File tree

src/interface.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,8 @@ function llvm_debug_info(@nospecialize(job::CompilerJob))
258258
end
259259
end
260260

261+
# Whether to emit gnu_pubnames
262+
llvm_gnu_pubnames(@nospecialize(job::CompilerJob)) = false
261263

262264
## extension points at important stages of compilation
263265

src/jlgen.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,11 +561,12 @@ function compile_method_instance(@nospecialize(job::CompilerJob); ctx::JuliaCont
561561

562562
# set-up the compiler interface
563563
debug_info_kind = llvm_debug_info(job)
564+
gnu_pubnames = llvm_gnu_pubnames(job)
564565
cgparams = (;
565566
track_allocations = false,
566567
code_coverage = false,
567568
prefer_specsig = true,
568-
gnu_pubnames = false,
569+
gnu_pubnames = Bool(gnu_pubnames),
569570
debug_info_kind = Cint(debug_info_kind),
570571
lookup = Base.unsafe_convert(Ptr{Nothing}, lookup_cb))
571572
@static if v"1.9.0-DEV.1660" <= VERSION < v"1.9.0-beta1" || VERSION >= v"1.10-"

src/native.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,13 @@ end
3737

3838
runtime_slug(job::CompilerJob{NativeCompilerTarget}) = "native_$(job.config.target.cpu)-$(hash(job.config.target.features))$(job.config.target.jlruntime ? "-jlrt" : "")"
3939
uses_julia_runtime(job::CompilerJob{NativeCompilerTarget}) = job.config.target.jlruntime
40+
41+
function llvm_debug_info(@nospecialize(job::CompilerJob{NativeCompilerTarget}))
42+
if uses_julia_runtime(job)
43+
Base.default_debug_info_kind()
44+
else
45+
invoke(llvm_debug_info, Tuple{CompilerJob}, job)
46+
end
47+
end
48+
49+
llvm_gnu_pubnames(@nospecialize(job::CompilerJob{NativeCompilerTarget})) = true

0 commit comments

Comments
 (0)