On 2022-08-28, Rasmus Villemoes wrote: > On 26/08/2022 22.59, Tom Rini wrote: >> On Thu, Aug 18, 2022 at 10:31:34AM -0700, Vagrant Cascadian wrote: >> >>> From: Vagrant Cascadian <vagr...@reproducible-builds.org> >>> >>> The KBUILD_CFLAGS and KBUILD_AFLAGS variables are adjusted to use >>> -ffile-prefix-map and --debug-prefix-map, respectively, to use >>> relative paths for occurrences of __FILE__ and debug paths. >>> >>> This enables reproducible builds regardless of the absolute path to >>> the build directory: >>> >>> https://reproducible-builds.org/docs/build-path/ >>> >>> Signed-off-by: Vagrant Cascadian <vagr...@reproducible-builds.org> >>> Acked-by: Rasmus Villemoes <rasmus.villem...@prevas.dk> >> >> This needs some sort of clang check and then perhaps different flag >> used? How does the linux kernel handle this? > > Well, interestingly it seems that the kernel doesn't do anything like > this for debug info, they only apply the -fmacro-prefix-map. Which one > should probably raise with them at some point. > > It seems we're not actually calling gas directly, but always invokes > $(CC) whatever that may be to compile assembler files. So I think the > right fix is to simply pass the same -ffile-prefix-map in both > KBUILD_CFLAGS as in KBUILD_AFLAGS - and if there's some variable that > ends up being included in both automatically, then just adding it there > should do the trick.
I tried just adding -ffile-prefix-map and that helped, but was not sufficient to solve the reproducibility issues. It also needs the --debug-prefix-map to make it the assembly code build reproducibly. Though I guess I didn't try adding -ffile-prefix-map to KBUILD_AFLAGS, now that I think about it... will test that too, thanks! live well, vagrant
signature.asc
Description: PGP signature