Skip to content

Commit 5439ad0

Browse files
committed
Add llvm_gnu_pubnames to Interface and set llvm_debug_info for native target
1 parent 78eaff3 commit 5439ad0

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
@@ -371,6 +371,8 @@ function llvm_debug_info(@nospecialize(job::CompilerJob))
371371
end
372372
end
373373

374+
# Whether to emit gnu_pubnames
375+
llvm_gnu_pubnames(@nospecialize(job::CompilerJob)) = false
374376

375377
## extension points at important stages of compilation
376378

src/jlgen.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -798,11 +798,12 @@ function compile_method_instance(@nospecialize(job::CompilerJob))
798798

799799
# set-up the compiler interface
800800
debug_info_kind = llvm_debug_info(job)
801+
gnu_pubnames = llvm_gnu_pubnames(job)
801802
cgparams = (;
802803
track_allocations = false,
803804
code_coverage = false,
804805
prefer_specsig = true,
805-
gnu_pubnames = false,
806+
gnu_pubnames = Bool(gnu_pubnames),
806807
debug_info_kind = Cint(debug_info_kind),
807808
safepoint_on_entry = can_safepoint(job),
808809
gcstack_arg = false)

src/native.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,13 @@ end
3636
runtime_slug(job::CompilerJob{NativeCompilerTarget}) = "native_$(job.config.target.cpu)-$(hash(job.config.target.features))$(job.config.target.jlruntime ? "-jlrt" : "")"
3737
uses_julia_runtime(job::CompilerJob{NativeCompilerTarget}) = job.config.target.jlruntime
3838
can_vectorize(job::CompilerJob{NativeCompilerTarget}) = true
39+
40+
function llvm_debug_info(@nospecialize(job::CompilerJob{NativeCompilerTarget}))
41+
if uses_julia_runtime(job)
42+
Base.default_debug_info_kind()
43+
else
44+
invoke(llvm_debug_info, Tuple{CompilerJob}, job)
45+
end
46+
end
47+
48+
llvm_gnu_pubnames(@nospecialize(job::CompilerJob{NativeCompilerTarget})) = true

0 commit comments

Comments
 (0)