Re: [PATCH 1/1] tools: use basename to identify file in gen-mach-types

From: Sverdlin, Alexander

Date: Thu Sep 24 2026 - 05:01:27 EST


Hi all,

On Tue, 2025-08-26 at 16:25 +0200, Alexander Stein wrote:
> From: Bruce Ashfield <bruce.ashfield@xxxxxxxxx>
>
> FILENAME is replaced by the full path to the executing script. If
> the script is executed via a fully specified path, that is captured
> in the output. Although it doesn't impact the output, it does trigger
> reproducibility warnings/errors.
>
> So we introduce a basename() function in the script and use it to
> make sure the output file contains only the name of the awk script.
> The motivation for this change is Yocto emitting a build warning
>   WARNING: linux-tq-6.12.41+git-r0 do_package_qa: QA Issue: File /usr/src/debug/linux-tq/6.12.41+git/arch/arm/include/generated/asm/mach-types.h in package linux-tq-src contains reference to TMPDIR [buildpaths]
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@xxxxxxxxx>
> Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>

we use it for quite some time for TI AM335x builds, so the issue is
real and long-standing. The fix also makes sense to me.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>
Tested-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>

Arnd, would you consider the patch for the soc tree?
Or should I rather add the patch to Russell's patch system?

> ---
>  arch/arm/tools/gen-mach-types | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/tools/gen-mach-types b/arch/arm/tools/gen-mach-types
> index cbe1c33bb8710..ab69d408f9e12 100644
> --- a/arch/arm/tools/gen-mach-types
> +++ b/arch/arm/tools/gen-mach-types
> @@ -21,10 +21,14 @@ NF == 3 {
>     num[nr] = ""; nr++
>   }
>  
> + function basename(file) {
> +    sub(".*/", "", file)
> +    return file
> + }
>  
>  END {
>     printf("/*\n");
> -   printf(" * This was automagically generated from %s!\n", FILENAME);
> +   printf(" * This was automagically generated from %s!\n", basename(FILENAME));
>     printf(" * Do NOT edit\n");
>     printf(" */\n\n");
>     printf("#ifndef __ASM_ARM_MACH_TYPE_H\n");

--
Alexander Sverdlin
Siemens AG
www.siemens.com