[v1,18/24] tests/tcg/arm: fix hello-arm

Message ID 20180410193919.28026-19-alex.bennee@linaro.org
State New
Headers show
Series
  • fix building of tests/tcg
Related show

Commit Message

Alex Bennée April 10, 2018, 7:39 p.m.
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 <alex.bennee@linaro.org>

---
 tests/tcg/arm/Makefile.target | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 tests/tcg/arm/Makefile.target

-- 
2.16.2

Comments

Thomas Huth April 11, 2018, 3:42 p.m. | #1
On 10.04.2018 21:39, 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 <alex.bennee@linaro.org>

> ---

>  tests/tcg/arm/Makefile.target | 6 ++++++

>  1 file changed, 6 insertions(+)

>  create mode 100644 tests/tcg/arm/Makefile.target


Reviewed-by: Thomas Huth <thuth@redhat.com>
Philippe Mathieu-Daudé April 16, 2018, 1:28 a.m. | #2
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 <alex.bennee@linaro.org>

> ---

>  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 0000000000..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é <f4bug@amsat.org>

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Patch

diff --git a/tests/tcg/arm/Makefile.target b/tests/tcg/arm/Makefile.target
new file mode 100644
index 0000000000..b7c146c88e
--- /dev/null
+++ b/tests/tcg/arm/Makefile.target
@@ -0,0 +1,6 @@ 
+# -*- Mode: makefile -*-
+#
+# ARM specific tweaks
+
+hello-arm: CFLAGS+=-marm -ffreestanding
+hello-arm: LDFLAGS+=-nostdlib