gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
authorRasmus Villemoes <rv@rasmusvillemoes.dk>
Wed, 2 Nov 2022 16:01:22 +0000 (10:01 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Wed, 2 Nov 2022 16:01:22 +0000 (10:01 -0600)
-ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
and -fdebug-prefix-map. However, when building .S or .s files, gas is
not called with the appropriate --debug-prefix-map option when
-ffile-prefix-map is used.

While the user can specify -fdebug-prefix-map when building assembly
files via gcc, it's more ergonomic to also support -ffile-prefix-map;
especially since for .S files that could contain the __FILE__ macro,
one would then also have to specify -fmacro-prefix-map.

gcc:
PR driver/93371
* gcc.cc (ASM_MAP): Honour -ffile-prefix-map.

gcc/gcc.cc

index afb23cd..98a239c 100644 (file)
@@ -877,7 +877,7 @@ proper position among the other output files.  */
 #endif
 
 #ifdef HAVE_AS_DEBUG_PREFIX_MAP
-#define ASM_MAP " %{fdebug-prefix-map=*:--debug-prefix-map %*}"
+#define ASM_MAP " %{ffile-prefix-map=*:--debug-prefix-map %*} %{fdebug-prefix-map=*:--debug-prefix-map %*}"
 #else
 #define ASM_MAP ""
 #endif