Error "No source file named"
Jeffrey Walton
noloader@gmail.com
Sun Aug 8 16:45:00 GMT 2021
On Sun, Aug 8, 2021 at 12:35 PM Mahmood Naderan via Gdb
<gdb@sourceware.org> 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
More information about the Gdb
mailing list