Hi Alex,
On 04/10/2018 04:39 PM, Alex Bennée wrote:
> As hello-arm is a bare bones syscall test it needs specific compiler
> flags so it doesn't try and link against glibc.
>
> Signed-off-by: Alex Bennée
> ---
> tests/tcg/arm/Makefile.target | 6 ++
> 1 file changed, 6 insertions(+)
> create mode 100644 tests/tcg/arm/Makefile.target
>
> diff --git a/tests/tcg/arm/Makefile.target b/tests/tcg/arm/Makefile.target
> new file mode 100644
> index 00..b7c146c88e
> --- /dev/null
> +++ b/tests/tcg/arm/Makefile.target
> @@ -0,0 +1,6 @@
> +# -*- Mode: makefile -*-
> +#
> +# ARM specific tweaks
... (Thumb mode explicitly disabled)
> +
> +hello-arm: CFLAGS+=-marm -ffreestanding
> +hello-arm: LDFLAGS+=-nostdlib
What about enforcing ARM mode for the swi call by the _syscallX()
functions with:
-- >8 --
#define _syscall0(type,name) \
+__attribute__((target("arm"))) \
type name(void) { \
long __res; \
__asm__ __volatile__ (\
--
(and so for _syscall[1..5])
So main() Thumb mode can also be tested.
tested with the following tests/tcg/arm/Makefile.include:
-- >8 --
DOCKER_IMAGE=debian-armel-cross
DOCKER_CROSS_COMPILER=arm-linux-gnueabi-gcc
--
Reviewed-by: Philippe Mathieu-Daudé
Tested-by: Philippe Mathieu-Daudé