On Mon, 26 Feb 2024 21:20:25 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:
>> make/autoconf/flags-cflags.m4 line 126: >> >>> 124: DEBUG_PREFIX_MAP_GCC_INCLUDE_PATHS >>> 125: DEBUG_PREFIX_CFLAGS="$DEBUG_PREFIX_CFLAGS >>> -fdebug-prefix-map=\$(SUPPORT_OUTPUTDIR)/=" >>> 126: DEBUG_PREFIX_CFLAGS="$DEBUG_PREFIX_CFLAGS >>> -fdebug-prefix-map=\$(HOTSPOT_OUTPUTDIR)/=" >> >> This is only a problem if the build directory is located outside the >> workspace root. In the case where the build directory is inside the root, I >> think it would be preferable to stick to just the one prefix map, for >> consistent relative paths for all affected files. If the build directory is >> outside, like in your example, I would suggest adding just `$(OUTPUTDIR)/=` >> to both `-fdebug-prefix-map` and `-fmacro-prefix-map` for consistency. We >> don't seem to have a variable indicating if the OUTPUTDIR is inside >> WORKSPACE_ROOT or not, but we can add one in basic.m4 where the OUTPUTDIR is >> initialized. Then you can conditionally add the extra prefix maps based on >> that variable. > > I have not thought this fully through, but just throwing out a question: > would this work even if one build directory were inside the workspace root, > and the other not? Oh you are right, we should always add the OUTPUTDIR to both maps regardless of if it's internal to the WORKSPACE_ROOT or not. Paths relative to the OUTPUTDIR should be stable across builds in different output directories, but paths inside the OUTPUTDIR, expressed as relative to the WORKSPACE_ROOT will vary. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/18009#discussion_r1503367524