https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108464
Bug ID: 108464 Summary: [13 Regression] Broken -fdebug-prefix-map since r13-3599 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- Starting with r13-3599-ge5c15eb183f17e806ad -fdebug-prefix-map stopped working in some cases (breaks ccache testsuite among other things). Reproducer: mkdir -p foobar1/include foobar1/src echo 'int test;' > foobar1/include/test.h echo '#include <test.h>' > foobar1/src/test.c ln -sf foobar1 foobar2 cd foobar2 gcc -S -I include/ -fdebug-prefix-map=`pwd`=XXXX -g -dA src/test.c -o test.s; grep 'XXXX\|foobar' test.s Before r13-3599, all the way back from r0-82686-gc8aea42ce2c691e4e8 when -fdebug-prefix-map= has been introduced, this prints XXXX (once or multiple times depending on exact version) and doesn't print any foobar strings. Even r13-3598 prints .long .LASF1 # DW_AT_comp_dir: "XXXX" .long .LASF1 # Directory Entry: 0: "XXXX" .string "XXXX" but starting with r13-3599 we print .long .LASF1 # DW_AT_comp_dir: "/home/jakub/foobar2" .long .LASF1 # Directory Entry: 0: "/home/jakub/foobar2" .string "/home/jakub/foobar2" instead, which is wrong because user asked for remapping of /home/jakub/foobar2 and it wasn't done.