Use the generic support with arguments are on the stack. Same as arm
and m68k.
Signed-off-by: Christoph Hellwig <[email protected]>
---
arch/riscv/Kconfig | 2 ++
arch/riscv/include/asm/Kbuild | 1 +
2 files changed, 3 insertions(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 0c4b12205632..2e3b60cdeef4 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -17,7 +17,9 @@ config RISCV
select OF
select OF_EARLY_FLATTREE
select OF_IRQ
+ select ARCH_HAS_BINFMT_FLAT
select ARCH_WANT_FRAME_POINTERS
+ select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
select CLONE_BACKWARDS
select COMMON_CLK
select GENERIC_CLOCKEVENTS
diff --git a/arch/riscv/include/asm/Kbuild b/arch/riscv/include/asm/Kbuild
index 5ee646619cc3..1efaeddf1e4b 100644
--- a/arch/riscv/include/asm/Kbuild
+++ b/arch/riscv/include/asm/Kbuild
@@ -5,6 +5,7 @@ generic-y += compat.h
generic-y += device.h
generic-y += div64.h
generic-y += extable.h
+generic-y += flat.h
generic-y += dma.h
generic-y += dma-contiguous.h
generic-y += dma-mapping.h
--
2.20.1
On 6/10/19 10:20 PM, Christoph Hellwig wrote:
> Use the generic support with arguments are on the stack. Same as arm
> and m68k.
Out of curiosity, what is reason for keeping arguments on the stack?
ARM port of uClibc has following comment around manipulating of argv/argc:
/*
* uClinux/arm stacks look a little different from normal
* MMU-full Linux/arm stacks (for no good reason)
*/
So I though it is kind of legacy.
Thanks
Vladimir
>
> Signed-off-by: Christoph Hellwig <[email protected]>
> ---
> arch/riscv/Kconfig | 2 ++
> arch/riscv/include/asm/Kbuild | 1 +
> 2 files changed, 3 insertions(+)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 0c4b12205632..2e3b60cdeef4 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -17,7 +17,9 @@ config RISCV
> select OF
> select OF_EARLY_FLATTREE
> select OF_IRQ
> + select ARCH_HAS_BINFMT_FLAT
> select ARCH_WANT_FRAME_POINTERS
> + select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
> select CLONE_BACKWARDS
> select COMMON_CLK
> select GENERIC_CLOCKEVENTS
> diff --git a/arch/riscv/include/asm/Kbuild b/arch/riscv/include/asm/Kbuild
> index 5ee646619cc3..1efaeddf1e4b 100644
> --- a/arch/riscv/include/asm/Kbuild
> +++ b/arch/riscv/include/asm/Kbuild
> @@ -5,6 +5,7 @@ generic-y += compat.h
> generic-y += device.h
> generic-y += div64.h
> generic-y += extable.h
> +generic-y += flat.h
> generic-y += dma.h
> generic-y += dma-contiguous.h
> generic-y += dma-mapping.h
>
On Tue, Jun 11, 2019 at 09:16:43AM +0100, Vladimir Murzin wrote:
> On 6/10/19 10:20 PM, Christoph Hellwig wrote:
> > Use the generic support with arguments are on the stack. Same as arm
> > and m68k.
>
> Out of curiosity, what is reason for keeping arguments on the stack?
>
> ARM port of uClibc has following comment around manipulating of argv/argc:
>
> /*
> * uClinux/arm stacks look a little different from normal
> * MMU-full Linux/arm stacks (for no good reason)
> */
>
> So I though it is kind of legacy.
I just copied m68k and arm. But dropping this makes the uclinux
crt1 code simpler, so I'll drop the flag for the next version.