summaryrefslogtreecommitdiffstats
path: root/make/lib
diff options
context:
space:
mode:
authorXerxes Rånby <[email protected]>2016-12-12 08:32:08 +0100
committerXerxes Rånby <[email protected]>2016-12-12 08:32:08 +0100
commite7db4d356f264b45d178839798b7d3d552019fc1 (patch)
tree4dd62740aca7c8b1ff903d365cc35c8eb92db326 /make/lib
parent00ea29eb954a29aaf2fd2adffd6677e580ab2850 (diff)
Bug 1295: Add linux-aarch64 GNU/Linux AArch64 crosscompile support
make/lib/gluegen-cpptasks-linux-aarch64.xml: Add missing -DisLinux=true required when crosscompiling Remove -marm -mfloat-abi=hard flags unrecognisable by aarch64 crosscompile toolchain make/lib/toolchain/aarch64-linux-gnueabi/bin/*: Symlink to /usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-* make/scripts/make.gluegen.all.linux-aarch64-cross.sh: New crosscompile script make/stub_includes/platform/glibc-compat-symbols.h: glibc 2.17 is the first glibc version that support aarch64 however memcpy is not versioned for aarch64 Disable versioning for linux glibc/aarch64 Signed-off-by: Xerxes Rånby <[email protected]>
Diffstat (limited to 'make/lib')
-rw-r--r--make/lib/gluegen-cpptasks-linux-aarch64.xml5
l---------make/lib/toolchain/aarch64-linux-gnueabi/bin/c++1
l---------make/lib/toolchain/aarch64-linux-gnueabi/bin/cc1
l---------make/lib/toolchain/aarch64-linux-gnueabi/bin/g++1
l---------make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc1
l---------make/lib/toolchain/aarch64-linux-gnueabi/bin/ld1
l---------make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump1
l---------make/lib/toolchain/aarch64-linux-gnueabi/bin/strip1
8 files changed, 8 insertions, 4 deletions
diff --git a/make/lib/gluegen-cpptasks-linux-aarch64.xml b/make/lib/gluegen-cpptasks-linux-aarch64.xml
index 45a7fdb..8606fae 100644
--- a/make/lib/gluegen-cpptasks-linux-aarch64.xml
+++ b/make/lib/gluegen-cpptasks-linux-aarch64.xml
@@ -19,6 +19,7 @@
<target name="gluegen.cpptasks.detect.os.custom">
<property name="gluegen.cpptasks.detected.os" value="true" />
<property name="isUnix" value="true" />
+ <property name="isLinux" value="true" />
<property name="isLinuxARM64" value="true" />
<property name="isX11" value="true" />
<property name="jvmDataModel.arg" value="-Djnlp.no.jvm.data.model.set=true" />
@@ -40,8 +41,6 @@
<define name="NDEBUG" unless="c.compiler.use-debug"/>
</defineset>
<compilerarg value="-fpic" />
- <compilerarg value="-marm" />
- <compilerarg value="-mfloat-abi=hard" />
<compilerarg value="-include"/>
<compilerarg value="${gluegen.root.abs-path}/make/stub_includes/platform/glibc-compat-symbols.h" />
</compiler>
@@ -49,8 +48,6 @@
<linker id="linker.cfg.linux.aarch64" name="gcc">
<linkerarg value="-fpic" />
<linkerarg value="-march=armv8-a" />
- <linkerarg value="-marm" />
- <linkerarg value="-mfloat-abi=hard" />
<linkerarg value="-nostdlib" />
<linkerarg value="-Bdynamic" />
<linkerarg value="-static-libgcc" if="isGCC"/>
diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/c++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/c++
new file mode 120000
index 0000000..15c86f4
--- /dev/null
+++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/c++
@@ -0,0 +1 @@
+/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-c++ \ No newline at end of file
diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/cc b/make/lib/toolchain/aarch64-linux-gnueabi/bin/cc
new file mode 120000
index 0000000..925bc00
--- /dev/null
+++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/cc
@@ -0,0 +1 @@
+/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-cc \ No newline at end of file
diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/g++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/g++
new file mode 120000
index 0000000..eabecfb
--- /dev/null
+++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/g++
@@ -0,0 +1 @@
+/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-g++ \ No newline at end of file
diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc b/make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc
new file mode 120000
index 0000000..9b6db98
--- /dev/null
+++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc
@@ -0,0 +1 @@
+/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc \ No newline at end of file
diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/ld b/make/lib/toolchain/aarch64-linux-gnueabi/bin/ld
new file mode 120000
index 0000000..38af46a
--- /dev/null
+++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/ld
@@ -0,0 +1 @@
+/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-ld \ No newline at end of file
diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump b/make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump
new file mode 120000
index 0000000..3fafc10
--- /dev/null
+++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump
@@ -0,0 +1 @@
+/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-objdump \ No newline at end of file
diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/strip b/make/lib/toolchain/aarch64-linux-gnueabi/bin/strip
new file mode 120000
index 0000000..de7e179
--- /dev/null
+++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/strip
@@ -0,0 +1 @@
+/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-strip \ No newline at end of file