[PATCH v2] arm: Fix rustgcc unknown argument '-mno-fdpic'

Rudraksha Gupta posted 1 patch 6 months, 3 weeks ago
rust/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] arm: Fix rustgcc unknown argument '-mno-fdpic'
Posted by Rudraksha Gupta 6 months, 3 weeks ago
Currently rust on arm fails to compile due to '-mno-fdpic'. This flag
disables a GCC feature that we don't want for kernel builds, so let's
skip it as it doesn't apply to Clang.

    UPD     include/generated/asm-offsets.h
    CALL    scripts/checksyscalls.sh
    RUSTC L rust/core.o
    BINDGEN rust/bindings/bindings_generated.rs
    BINDGEN rust/bindings/bindings_helpers_generated.rs
    CC      rust/helpers/helpers.o
    Unable to generate bindings: clang diagnosed error: error: unknown argument: '-mno-fdpic'
    make[2]: *** [rust/Makefile:369: rust/bindings/bindings_helpers_generated.rs] Error 1
    make[2]: *** Deleting file 'rust/bindings/bindings_helpers_generated.rs'
    make[2]: *** Waiting for unfinished jobs....
    Unable to generate bindings: clang diagnosed error: error: unknown argument: '-mno-fdpic'
    make[2]: *** [rust/Makefile:349: rust/bindings/bindings_generated.rs] Error 1
    make[2]: *** Deleting file 'rust/bindings/bindings_generated.rs'
    make[1]: *** [/home/pmos/build/src/linux-next-next-20250521/Makefile:1285: prepare] Error 2
    make: *** [Makefile:248: __sub-make] Error 2

Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Closes: https://lore.kernel.org/all/CA+G9fYvOanQBYXKSg7C6EU30k8sTRC0JRPJXYu7wWK51w38QUQ@mail.gmail.com/
Suggested-by: Miguel Ojeda <ojeda@kernel.org>
Tested-by: Rudraksha Gupta <guptarud@gmail.com>
Acked-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
---
Changes in v2:
- Fixed patch formatting issues
- Link to v1: https://lore.kernel.org/r/20250520-rust-mno-fdpic-arm-fix-v1-1-44e77fe6b2a1@gmail.com
---
 rust/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rust/Makefile b/rust/Makefile
index 3aca903a7d08..f207ba0ed466 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -273,7 +273,7 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
 	-fzero-call-used-regs=% -fno-stack-clash-protection \
 	-fno-inline-functions-called-once -fsanitize=bounds-strict \
 	-fstrict-flex-arrays=% -fmin-function-alignment=% \
-	-fzero-init-padding-bits=% \
+	-fzero-init-padding-bits=% -mno-fdpic \
 	--param=% --param asan-%
 
 # Derived from `scripts/Makefile.clang`.

---
base-commit: a5806cd506af5a7c19bcd596e4708b5c464bfd21
change-id: 20250520-rust-mno-fdpic-arm-fix-940a58bf9433

Best regards,
-- 
Rudraksha Gupta <guptarud@gmail.com>
Re: [PATCH v2] arm: Fix rustgcc unknown argument '-mno-fdpic'
Posted by Miguel Ojeda 6 months, 3 weeks ago
On Thu, May 22, 2025 at 2:02 PM Rudraksha Gupta <guptarud@gmail.com> wrote:
>
> Currently rust on arm fails to compile due to '-mno-fdpic'. This flag
> disables a GCC feature that we don't want for kernel builds, so let's
> skip it as it doesn't apply to Clang.
>
>     UPD     include/generated/asm-offsets.h
>     CALL    scripts/checksyscalls.sh
>     RUSTC L rust/core.o
>     BINDGEN rust/bindings/bindings_generated.rs
>     BINDGEN rust/bindings/bindings_helpers_generated.rs
>     CC      rust/helpers/helpers.o
>     Unable to generate bindings: clang diagnosed error: error: unknown argument: '-mno-fdpic'
>     make[2]: *** [rust/Makefile:369: rust/bindings/bindings_helpers_generated.rs] Error 1
>     make[2]: *** Deleting file 'rust/bindings/bindings_helpers_generated.rs'
>     make[2]: *** Waiting for unfinished jobs....
>     Unable to generate bindings: clang diagnosed error: error: unknown argument: '-mno-fdpic'
>     make[2]: *** [rust/Makefile:349: rust/bindings/bindings_generated.rs] Error 1
>     make[2]: *** Deleting file 'rust/bindings/bindings_generated.rs'
>     make[1]: *** [/home/pmos/build/src/linux-next-next-20250521/Makefile:1285: prepare] Error 2
>     make: *** [Makefile:248: __sub-make] Error 2
>
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> Closes: https://lore.kernel.org/all/CA+G9fYvOanQBYXKSg7C6EU30k8sTRC0JRPJXYu7wWK51w38QUQ@mail.gmail.com/
> Suggested-by: Miguel Ojeda <ojeda@kernel.org>
> Tested-by: Rudraksha Gupta <guptarud@gmail.com>
> Acked-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>

Applied to `rust-next` -- thanks everyone!

    [ Naresh provided the draft diff [1].

      Ben explained [2]:

        FDPIC is only relevant with no-MMU targets, and then only for userspace.
        When configured for the arm-*-uclinuxfdpiceabi target, GCC enables FDPIC
        by default to facilitate compiling userspace programs. FDPIC is never
        used for the kernel, and we pass -mno-fdpic when building the kernel to
        override the default and make sure FDPIC is disabled.

      and [3]:

        -mno-fdpic disables a GCC feature that we don't want for kernel builds.
        clang does not support this feature, so it always behaves as though
        -mno-fdpic is passed. Therefore, it should be fine to mix the two, at
        least as far as FDPIC is concerned.

      [1] https://lore.kernel.org/rust-for-linux/CA+G9fYt4otQK4pHv8pJBW9e28yHSGCDncKquwuJiJ_1ou0pq0w@mail.gmail.com/
      [2] https://lore.kernel.org/rust-for-linux/aAKrq2InExQk7f_k@dell-precision-5540/
      [3] https://lore.kernel.org/rust-for-linux/aAo_F_UP1Gd4jHlZ@dell-precision-5540/

        - Miguel ]

    [ Reworded title. - Miguel ]

Cheers,
Miguel
Re: [PATCH v2] arm: Fix rustgcc unknown argument '-mno-fdpic'
Posted by Miguel Ojeda 6 months, 3 weeks ago
On Thu, May 22, 2025 at 2:02 PM Rudraksha Gupta <guptarud@gmail.com> wrote:
>
> Currently rust on arm fails to compile due to '-mno-fdpic'. This flag
> disables a GCC feature that we don't want for kernel builds, so let's
> skip it as it doesn't apply to Clang.
>
>     UPD     include/generated/asm-offsets.h
>     CALL    scripts/checksyscalls.sh
>     RUSTC L rust/core.o
>     BINDGEN rust/bindings/bindings_generated.rs
>     BINDGEN rust/bindings/bindings_helpers_generated.rs
>     CC      rust/helpers/helpers.o
>     Unable to generate bindings: clang diagnosed error: error: unknown argument: '-mno-fdpic'
>     make[2]: *** [rust/Makefile:369: rust/bindings/bindings_helpers_generated.rs] Error 1
>     make[2]: *** Deleting file 'rust/bindings/bindings_helpers_generated.rs'
>     make[2]: *** Waiting for unfinished jobs....
>     Unable to generate bindings: clang diagnosed error: error: unknown argument: '-mno-fdpic'
>     make[2]: *** [rust/Makefile:349: rust/bindings/bindings_generated.rs] Error 1
>     make[2]: *** Deleting file 'rust/bindings/bindings_generated.rs'
>     make[1]: *** [/home/pmos/build/src/linux-next-next-20250521/Makefile:1285: prepare] Error 2
>     make: *** [Makefile:248: __sub-make] Error 2
>
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> Closes: https://lore.kernel.org/all/CA+G9fYvOanQBYXKSg7C6EU30k8sTRC0JRPJXYu7wWK51w38QUQ@mail.gmail.com/
> Suggested-by: Miguel Ojeda <ojeda@kernel.org>
> Tested-by: Rudraksha Gupta <guptarud@gmail.com>
> Acked-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>

Thanks for sending a v2! I was going to fix it myself, but this is
even better :)

By the way, submitting a patch typically requires / generally implies
that you actually tested it, so your own Tested-by is usually not
provided.

Cheers,
Miguel
Re: [PATCH v2] arm: Fix rustgcc unknown argument '-mno-fdpic'
Posted by Rudraksha Gupta 6 months, 3 weeks ago
> Thanks for sending a v2! I was going to fix it myself, but this is
> even better :)
>
> By the way, submitting a patch typically requires / generally implies
> that you actually tested it, so your own Tested-by is usually not
> provided.

Thanks! :D Happy to send in a v3 if needed


Rudraksha

>
> Cheers,
> Miguel
Re: [PATCH v2] arm: Fix rustgcc unknown argument '-mno-fdpic'
Posted by Miguel Ojeda 6 months, 3 weeks ago
On Thu, May 22, 2025 at 3:27 PM Rudraksha Gupta <guptarud@gmail.com> wrote:
>
> Thanks! :D Happy to send in a v3 if needed

No worries, I will apply this one :)

I will remove the tag, unless you want it there for some reason (e.g.
because you want to point out some extra testing that goes beyond what
would normally be done).

Thanks!

Cheers,
Miguel
Re: [PATCH v2] arm: Fix rustgcc unknown argument '-mno-fdpic'
Posted by Rudraksha Gupta 6 months, 3 weeks ago
> No worries, I will apply this one :)
>
> I will remove the tag, unless you want it there for some reason (e.g.
> because you want to point out some extra testing that goes beyond what
> would normally be done).
>
> Thanks!

Removing the tag is fine by me :)


Rudraksha

>
> Cheers,
> Miguel