mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 05:37:54 +00:00
2f9d430c00
This patch adds support for running Genode/Linux on the AARCH64 architecture. - The kernel-agnostic startup code (crt0) had to be extended to capture the initial stack pointer, which the Linux kernel uses to pass the process environment. This is in line with the existing startup code for x86_32 and x86_64. - The link order of the host libraries linked to lx_hybrid programs had to be adjusted such that libgcc appears at last because the other libraries depend on symbols provided by libgcc. - When using AARCH64 Linux as host, one can execute run scripts via 'make run/<script> KERNEL=linux BOARD=linux' now. Issue #4136
28 lines
1015 B
Makefile
28 lines
1015 B
Makefile
HOST_INC_DIR += $(dir $(call select_from_repositories,src/lib/syscall/linux_syscalls.h))
|
||
HOST_INC_DIR += $(dir $(CUSTOM_HOST_CC))/../$(shell $(CUSTOM_HOST_CC) -dumpmachine)/libc/usr/include
|
||
HOST_INC_DIR += /usr/include
|
||
|
||
# needed for Ubuntu >= 11.04
|
||
HOST_INC_DIR += /usr/include/$(shell $(CUSTOM_HOST_CC) -dumpmachine)
|
||
|
||
#
|
||
# Explicitly add some well-known paths as the dumpmachine magic above does not
|
||
# suffice on all Linux distros (e.g., Debian Stretch).
|
||
#
|
||
HOST_INC_DIR += /usr/include/i386-linux-gnu
|
||
HOST_INC_DIR += /usr/include/x86_64-linux-gnu
|
||
HOST_INC_DIR += /usr/include/aarch64-linux-gnu
|
||
|
||
#
|
||
# Some header files installed on GNU/Linux test for the GNU compiler. For
|
||
# example, 'stdio.h' might complain with the following error otherwise:
|
||
#
|
||
# /usr/include/stdio.h:432:27: error: expected initializer before ‘throw’
|
||
# /usr/include/stdio.h:488:6: error: expected initializer before ‘throw’
|
||
#
|
||
# By manually defining '_GNU_SOURCE', the header files are processed as
|
||
# expected.
|
||
#
|
||
CC_OPT += -D_GNU_SOURCE
|
||
|