Notes for u-boot - reproducible builds result

Version annotated: 2021.04~rc4+dfsg-1
Identified issues:
Identifier: gcc_captures_build_path
Description Captures build path, e.g., /build/1st/foo-42.0 v. /build/foo-42.0/2nd
.
Until early 2024 we varied the build path when testing packages from unstable
and experimental, which we have stopped doing now as the build path is recorded
as part of the environment and thus can be used when rebuilding.
.
This issue is kept here for the time being.
.
dpkg-buildflags version 1.20.6+ sets -ffile-prefix-map by default
(and -fdebug-prefix-map in older versions) which fixes this issue
in many cases, but not all (see: records_build_flags).
.
There are patches submitted upstream to address this specific issue, but they
are unlikely to be merged at this point:
.
https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00513.html
.
When this is accepted into GCC upstream, we could remove this note.
In the meantime, please do not remove this issue, nor mark it as deterministic,
nor untag these packages.
Identifier: build_path_captured_in_assembly_objects
URL https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93371
Description This is issue has been fixed for GCC 13 on 2022-11-02.
.
Before GNU as didn't support BUILD_PATH_PREFIX_MAP, so objects compiled from
assembly sources captured the build path.
.
Before GNU "as" only supported --debug-prefix-map=BUILDPATH=. which can
sometimes be passed via ASMFLAGS, ASFLAGS, or similar variables.
Comments: u-boot 2021.04~rc4 had a regression with build paths that was
fixed in earlier versions. Some new part of the build is probably
not using -fmacro-prefix-map, -ffile-prefix-map or
-fdebug-prefix-map arguments... mitigated by passing
KCFLAGS="-ffile-prefix-map=$(CURDIR)=."
Build path captured in assembly objects mitigated by passing
KAFLAGS="--debug-prefix-map=$(CURDIR)=."
 

Our notes about issues affecting packages are stored in notes.git and are targeted at packages in Debian in 'unstable/amd64' (unless they say otherwise).