Skip to content

std::offload lacks debug locations #150391

@ZuseZ4

Description

@ZuseZ4

I tried this code:

https://rustc-dev-guide.rust-lang.org/offload/usage.html#usage
with LIBOMPTARGET_INFO=-1 ./main
I expected to see this happen: passes or errors, with some debug locations in the info lines:

omptarget device 0 info: Entering OpenMP kernel at unknown:0:0 with 1 arguments:
omptarget device 0 info: tofrom(unknown)[1024] 

This should show the line of the function and argument.

Instead, this happened: returns unknown instead of the lines/columns

Meta

main branch / head

Running: LIBOMPTARGET_INFO=-1 ./main
returns

The first element is zero 0.000000
omptarget device 0 info: Entering OpenMP data region with being_mapper at unknown:0:0 with 1 arguments:
omptarget device 0 info: tofrom(unknown)[1024] 
omptarget device 0 info: Creating new map entry with HstPtrBase=0x000058177095b880, HstPtrBegin=0x000058177095b880, TgtAllocBegin=0x00005817709353b0, TgtPtrBegin=0x00005817709353b0, Size=1024, DynRefCount=1, HoldRefCount=0, Name=unknown
omptarget device 0 info: Copying data from host to device, HstPtr=0x000058177095b880, TgtPtr=0x00005817709353b0, Size=1024, Name=unknown
omptarget device 0 info: OpenMP Host-Device pointer mappings after block at unknown:0:0:
omptarget device 0 info: Host Ptr           Target Ptr         Size (B) DynRefCount HoldRefCount Declaration
omptarget device 0 info: 0x000058177095b880 0x00005817709353b0 1024     1           0            unknown at unknown:0:0
omptarget device 1 info: OpenMP Host-Device pointer mappings table empty
omptarget device 2 info: OpenMP Host-Device pointer mappings table empty
omptarget device 3 info: OpenMP Host-Device pointer mappings table empty
omptarget device 0 info: Entering OpenMP kernel at unknown:0:0 with 1 arguments:
omptarget device 0 info: tofrom(unknown)[1024] 
omptarget error: Host ptr 0x00005817327328f1 does not have a matching target pointer.
omptarget device 0 info: OpenMP Host-Device pointer mappings after block at unknown:0:0:
omptarget device 0 info: Host Ptr           Target Ptr         Size (B) DynRefCount HoldRefCount Declaration
omptarget device 0 info: 0x000058177095b880 0x00005817709353b0 1024     1           0            unknown at unknown:0:0
omptarget device 1 info: OpenMP Host-Device pointer mappings table empty
omptarget device 2 info: OpenMP Host-Device pointer mappings table empty
omptarget device 3 info: OpenMP Host-Device pointer mappings table empty
omptarget error: Source location information not present. Compile with -g or -gline-tables-only.
omptarget fatal error 1: failure of target construct while offloading is mandatory
Aborted (core dumped)

Examples of locations which should be updated:
compiler/rustc_codegen_llvm/src/builder/gpu_offload.rs line 31 and 161.

@ivarflakstad you had asked me to ping you if I encounter issues that aren't blocked. I think this would be a good example if you're still curious about helping offload!

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)C-bugCategory: This is a bug.C-enhancementCategory: An issue proposing an enhancement or a PR with one.F-gpu_offload`#![feature(gpu_offload)]`

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions