Re: Error "No source file named"

Jeffrey Walton via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAH8yC8=dHr7pn5hr97ct9ajdOYXPxfK-mNLCsXNv72J66pAwCQ@mail.gmail.com>
On Sun, Aug 8, 2021 at 1:15 PM Mahmood Naderan <[email protected]> wrote:
>
> >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.
>
> That gcc switch needs two paths (old and new).
> I don't know what is old and new then.

I use a script like the one shown below.

I assume you are installing your warez into $HOME. You would use
--prefix=$HOME when configuring. So binaries are in $HOME/bin,
libraries are in $HOME/lib, etc.

Use -fdebug-prefix-map as an option to CFLAGS and CXXFLAGS like so:

    -fdebug-prefix-map=${PWD}="${HOME}/src/gpu-simulator"

Then, after configure, make and make install, execute the script:

    # run from the gpu-simulator directory, where you configure
    bash copy-sources.sh "${PWD}" "${HOME}/src/gpu-simulator"

Here's the copy-sources.sh script:

$ cat copy-sources.sh
#!/usr/bin/env bash

src_dir="$1"
dest_dir="$2"

if [[ -z "${src_dir}" ]]; then
    echo "Please specify a source directory"
    exit 1
fi

if [[ ! -d "${src_dir}" ]]; then
    echo "Source directory is not valid"
    exit 1
fi

if [[ -z "${dest_dir}" ]]; then
    echo "Please specify a destination directory"
    exit 1
fi

cd "${src_dir}" || exit 1
rm -rf "${dest_dir}"
mkdir -p "${dest_dir}"

IFS= find "./" \( -name '*.h' -o -name '*.hpp' -o -name '*.hxx' -o \
                  -name '*.c' -o -name '*.cc' -o \
                  -name '*.cpp' -o -name '*.cxx' -o -name '*.CC' -o \
                  -name '*.s' -o -name '*.S' \) -print | while read -r file
do
    # This trims the leading "./" in "./foo.c".
    file=$(echo -n "${file}" | tr -s '/' | cut -c 3-);
    cp --parents --preserve=timestamps "${file}" "${dest_dir}"
done

exit 0

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.