Re: [PATCH v2] kbuild: make all file references relative to source root

From: Thomas Weißschuh
Date: Mon May 05 2025 - 03:30:54 EST


On 2025-04-29 22:51:17+0300, Ville Syrjälä wrote:
> On Sat, Mar 15, 2025 at 02:20:14PM +0100, Thomas Weißschuh wrote:
> > -fmacro-prefix-map only affects __FILE__ and __BASE_FILE__.
> > Other references, for example in debug information, are not affected.
> > This makes handling of file references in the compiler outputs harder to
> > use and creates problems for reproducible builds.
> >
> > Switch to -ffile-prefix map which affects all references.
> >
> > Also drop the documentation section advising manual specification of
> > -fdebug-prefix-map for reproducible builds, as it is not necessary
> > anymore.
>
> Hi,
>
> This broke 'objdump -S' completely for me.
>
> I see the following difference in the debug info:
> - <12> DW_AT_name : (indirect line string, offset: 0): drivers/gpu/drm/i915/i915_config.c
> - <16> DW_AT_comp_dir : (indirect line string, offset: 0x23): /home/.../src/linux-2.6/build
> + <12> DW_AT_name : (indirect line string, offset: 0): ../drivers/gpu/drm/i915/i915_config.c
> + <16> DW_AT_comp_dir : (indirect line string, offset: 0x26): /home/.../src/linux-2.6/build
>
> Looks like I can work around it with some combination of --prefix and
> --prefix-strip, but that seems far too tedious to have to do every
> time I need to decode an oops.

Yeah the --prefix and --prefix-strip mechanism is only an ugly
workaround.
Unfortunately I don't see a nice for this issue at the moment.

Masahiro, could you revert this commit for now?
I'll try to come up with something better.


Thomas