base-linux: add ARM support

This patch introduces a new platform 'linux_arm' for building and running
Genode/Linux on an ARM device.

Known limitations:

- libc 'setjmp()'/'longjmp()' doesn't currently save/restore floating
  point registers

Fixes #746.
This commit is contained in:
Christian Prochaska
2013-05-24 11:04:42 +02:00
committed by Norman Feske
parent 314d5c0975
commit 4a9b1c6aab
20 changed files with 350 additions and 11 deletions

View File

@ -97,8 +97,12 @@ USE_HOST_LD_SCRIPT = yes
ifeq (x86_64,$(findstring x86_64,$(SPECS)))
CXX_LINK_OPT += -Wl,--dynamic-linker=/lib64/ld-linux-x86-64.so.2
else
ifeq (arm,$(findstring arm,$(SPECS)))
CXX_LINK_OPT += -Wl,--dynamic-linker=/lib/ld-linux.so.3
else
CXX_LINK_OPT += -Wl,--dynamic-linker=/lib/ld-linux.so.2
endif
endif
# because we use the host compiler's libgcc, omit the Genode toolchain's version
LD_LIBGCC =

View File

@ -1,9 +1,9 @@
HOST_INC_DIR += $(dir $(call select_from_repositories,src/platform/linux_syscalls.h))
HOST_INC_DIR += /usr/include
# needed for Ubuntu 11.04
# needed for Ubuntu >= 11.04
HOST_INC_DIR += /usr/include/$(shell gcc -dumpmachine)
HOST_INC_DIR += /usr/include/i386-linux-gnu
HOST_INC_DIR += /usr/include/x86_64-linux-gnu
#
# Some header files installed on GNU/Linux test for the GNU compiler. For