Re: Error "No source file named"

Jeffrey Walton via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAH8yC8nAn1LUmBwvGpe51jrUBjda2W4qQ68-NYxFAK5+6Vh5Og@mail.gmail.com>
On Sun, Aug 8, 2021 at 12:35 PM Mahmood Naderan via Gdb
<[email protected]> wrote:
>
> >Could you have two copies of shader.o hanging about?
>
> Jonah, Thanks for the tip. I checked more and see
>
>
> g++  -g3 -fPIC -DCUDART_VERSION=11020 -Wall -DDEBUG -DTRACING_ON=1 -std=c++0x -ggdb \
>      -I/usr/local/cuda-11.2/include -I/home/mahmood/accel-sim-framework/gpu-simulator/gpgpu-sim/src/gpuwattch/ \
>      -DGPGPUSIM_POWER_MODEL -o /home/mahmood/accel-sim-framework/gpu-simulator/gpgpu-sim/build/gcc-9.3.0/cuda-11020/debug/gpgpu-sim/shader.o \
>      -c shader.cc
>
>
> ar rcs  /home/mahmood/accel-sim-framework/gpu-simulator/gpgpu-sim/build/gcc-9.3.0/cuda-11020/debug/gpgpu-sim/libgpu_uarch_sim.a \
>         /home/mahmood/accel-sim-framework/gpu-simulator/gpgpu-sim/build/gcc-9.3.0/cuda-11020/debug/gpgpu-sim/shader.o \
>         ...
>
>
> g++ -shared -Wl,-soname,libcudart.so -Wl,--version-script=linux-so-version.txt \
>         ...
>         /home/mahmood/accel-sim-framework/gpu-simulator/gpgpu-sim/build/gcc-9.3.0/cuda-11020/debug/gpgpu-sim/*.o \
>         -o lib/gcc-9.3.0/cuda-11020/debug/libcudart.so
>
>
>
>
>
> And the final binary depends on the libcudart.so
>
> $ ldd gpu-simulator/bin/debug/accel-sim.out
>         linux-vdso.so.1 (0x00007fffc01c3000)
>         libcudart.so => /home/mahmood/accel-sim-framework/gpu-simulator/gpgpu-sim/lib/gcc-9.3.0/cuda-11020/debug/libcudart.so (0x00007f7c3e8f4000)
>         libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7c3e6f0000)
>         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7c3e6d5000)
>         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7c3e6b2000)
>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7c3e4c0000)
>         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f7c3e4a2000)
>         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7c3e353000)
>         /lib64/ld-linux-x86-64.so.2 (0x00007f7c3f2dc000)
>
> Do you also confirm that shader.cc symbols must be in the final binary?

You might also find -fdebug-prefix-map useful. It allows you to tell
the debugger where to locate source files for object files if the
source files have been relocated to a directory like /lib/src. It may
help here, too.

Jeff
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.