[PATCH] modpost: amend ppc symnames for -Os build

Christophe Leroy christophe.leroy at csgroup.eu
Wed Nov 19 01:25:14 AEDT 2025


Hi,

Le 18/11/2025 à 13:17, René Rebe a écrit :
> [Vous ne recevez pas souvent de courriers de rene at exactco.de. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
> 
> Building a size optimized ppc kernel, gcc emmits more symbols than
> currently allowed listed in scripts/mod/modpost.c. Add to fix:

You should say when the problem started to happen, and what those 
functions are supposed to save and restore.

As an exemple see commit 8fe9c93e7453 ("powerpc: Add vr save/restore 
functions")

Also confirm it is only needed on powerpc64, if so make it clear in the 
commit message.

Christophe


> 
> MODPOST Module.symvers
> ERROR: modpost: "_restfpr_20" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_restfpr_26" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_restfpr_22" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_savegpr1_27" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_savegpr1_25" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_restfpr_28" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_savegpr1_29" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_savefpr_20" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_savefpr_22" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> ERROR: modpost: "_restfpr_15" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> WARNING: modpost: suppressed 56 unresolved symbol warnings because there were too many)
> 
> Signed-off-by: René Rebe <rene at exactco.de>
> 
> ---
>   scripts/mod/modpost.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index 47c8aa2a6939..133dfa16308a 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -602,6 +602,10 @@ static int ignore_undef_symbol(struct elf_info *info, const char *symname)
>                  /* Special register function linked on all modules during final link of .ko */
>                  if (strstarts(symname, "_restgpr0_") ||
>                      strstarts(symname, "_savegpr0_") ||
> +                   strstarts(symname, "_restgpr1_") ||
> +                   strstarts(symname, "_savegpr1_") ||
> +                   strstarts(symname, "_restfpr_") ||
> +                   strstarts(symname, "_savefpr_") ||
>                      strstarts(symname, "_restvr_") ||
>                      strstarts(symname, "_savevr_") ||
>                      strcmp(symname, ".TOC.") == 0)
> --
> 2.46.0
> 
> --
> René Rebe, ExactCODE GmbH, Berlin, Germany
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexactco.de%2F&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7Cbdf81becff764b00d8a708de269c7176%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638990651958650397%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=2A4ilqQu%2BNxeycBQUMFIN6GVW3x4jkwjpIwwEzVag5w%3D&reserved=0https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ft2linux.com%2F&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7Cbdf81becff764b00d8a708de269c7176%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638990651958676828%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=6toFxcnt16OW6NLOHBJEAN0DFy2UWNYV7GxZ5hqpwlQ%3D&reserved=0https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatreon.com%2Frenerebe&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7Cbdf81becff764b00d8a708de269c7176%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638990651958693482%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=u1j5OGCbVwcEDwlfw0CZhTE75Sy%2BJiT4VA3OPeSebX4%3D&reserved=0



More information about the Linuxppc-dev mailing list