From 80204627486be0267ec4dc51415a30aaf717f706 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Mon, 5 Nov 2012 17:15:03 +0100 Subject: [PATCH] Linux: Build hybrid library with Genode tool chain Using the host compiler in this case seems to be an artifact from an older change. On x86_64, this approach ended in unsable hybrid binaries due to incompatible handling of non-trivial return values, i.e. structures. See '-freg-struct-return' in GCC manual page: "[...] If there is no standard convention, GCC defaults to -fpcc-struct-return, except on targets where GCC is the principal compiler. In those cases, we can choose the standard, and we chose the more efficient register return alternative." In other words: All x86_64 Linux systems break the ABI standard :-( --- base-linux/lib/mk/lx_hybrid.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/base-linux/lib/mk/lx_hybrid.mk b/base-linux/lib/mk/lx_hybrid.mk index 8597540413..f2065dc3bd 100644 --- a/base-linux/lib/mk/lx_hybrid.mk +++ b/base-linux/lib/mk/lx_hybrid.mk @@ -3,5 +3,3 @@ LIBS += syscall env vpath new_delete.cc $(BASE_DIR)/src/base/cxx vpath lx_hybrid.cc $(REP_DIR)/src/platform - -CUSTOM_CXX = g++