Move Nixpkgs patching to overlay
parent
a0a31fa548
commit
14fc773ac9
@ -0,0 +1,19 @@
|
||||
MIT License Copyright (c) <year> <copyright holders>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice (including the next
|
||||
paragraph) shall be included in all copies or substantial portions of the
|
||||
Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
|
||||
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@ -0,0 +1,83 @@
|
||||
diff --git a/bfd/config.bfd b/bfd/config.bfd
|
||||
index 6391f35684..f2ab802fb5 100644
|
||||
--- a/bfd/config.bfd
|
||||
+++ b/bfd/config.bfd
|
||||
@@ -554,7 +554,7 @@ case "${targ}" in
|
||||
targ_selvecs=hppa_elf32_vec
|
||||
;;
|
||||
|
||||
- i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
|
||||
+ i[3-7]86-*-elf* | i[3-7]86-*-rtems* | i[3-7]86-*-genode*)
|
||||
targ_defvec=i386_elf32_vec
|
||||
targ_selvecs="iamcu_elf32_vec i386_coff_vec"
|
||||
;;
|
||||
@@ -662,7 +662,7 @@ case "${targ}" in
|
||||
targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
|
||||
want64=true
|
||||
;;
|
||||
- x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia)
|
||||
+ x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia | x86_64-*-genode*)
|
||||
targ_defvec=x86_64_elf64_vec
|
||||
targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec"
|
||||
case "${targ}" in
|
||||
diff --git a/config.sub b/config.sub
|
||||
index c95acc681d..388c305636 100755
|
||||
--- a/config.sub
|
||||
+++ b/config.sub
|
||||
@@ -1376,7 +1376,7 @@ case $os in
|
||||
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
|
||||
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
|
||||
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
|
||||
- | midnightbsd*)
|
||||
+ | midnightbsd* | genode*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
qnx*)
|
||||
diff --git a/gas/configure.tgt b/gas/configure.tgt
|
||||
index 3d0415c1aa..7cd96b6be4 100644
|
||||
--- a/gas/configure.tgt
|
||||
+++ b/gas/configure.tgt
|
||||
@@ -139,7 +139,8 @@ case ${generic_target} in
|
||||
|
||||
arm-*-phoenix*) fmt=elf ;;
|
||||
arm-*-elf) fmt=elf ;;
|
||||
- arm-*-eabi* | arm-*-rtems*) fmt=elf em=armeabi ;;
|
||||
+ arm-*-eabi* | arm-*-rtems* | arm-*-genode*)
|
||||
+ fmt=elf em=armeabi ;;
|
||||
arm-*-symbianelf*) fmt=elf em=symbian ;;
|
||||
arm-*-kaos*) fmt=elf ;;
|
||||
arm-*-conix*) fmt=elf ;;
|
||||
@@ -213,6 +214,7 @@ case ${generic_target} in
|
||||
i386-*-elfiamcu) fmt=elf arch=iamcu ;;
|
||||
i386-*-elf*) fmt=elf ;;
|
||||
i386-*-fuchsia*) fmt=elf ;;
|
||||
+ i386-*-genode*) fmt=elf ;;
|
||||
i386-*-kaos*) fmt=elf ;;
|
||||
i386-*-bsd*) fmt=aout em=386bsd ;;
|
||||
i386-*-nacl*) fmt=elf em=nacl
|
||||
diff --git a/ld/configure.tgt b/ld/configure.tgt
|
||||
index fad8b2e5c8..04f7fa0e70 100644
|
||||
--- a/ld/configure.tgt
|
||||
+++ b/ld/configure.tgt
|
||||
@@ -115,7 +115,7 @@ arm-*-nto*) targ_emul=armnto ;;
|
||||
arm-*-phoenix*) targ_emul=armelf ;;
|
||||
armeb-*-elf | armeb-*-eabi*)
|
||||
targ_emul=armelfb ;;
|
||||
-arm-*-elf | arm*-*-eabi* | arm-*-rtems*)
|
||||
+arm-*-elf | arm*-*-eabi* | arm-*-rtems* | arm-*-genode*)
|
||||
targ_emul=armelf ;;
|
||||
arm*-*-symbianelf*) targ_emul=armsymbian;;
|
||||
arm-*-kaos*) targ_emul=armelf ;;
|
||||
@@ -302,10 +302,10 @@ x86_64-*-netbsd*) targ_emul=elf_x86_64
|
||||
esac ;;
|
||||
i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu
|
||||
targ_extra_emuls=elf_i386 ;;
|
||||
-i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
|
||||
+i[3-7]86-*-elf* | i[3-7]86-*-rtems* | i[3-7]86-*-genode*)
|
||||
targ_emul=elf_i386
|
||||
targ_extra_emuls=elf_iamcu ;;
|
||||
-x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*)
|
||||
+x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia* | x86_64-*-genode*)
|
||||
targ_emul=elf_x86_64
|
||||
targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
|
||||
targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
|
@ -0,0 +1,32 @@
|
||||
set(GENODE 1)
|
||||
|
||||
set(CMAKE_DL_LIBS "")
|
||||
set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
|
||||
set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
|
||||
set(_CMAKE_C_PIE_MAY_BE_SUPPORTED_BY_LINKER YES)
|
||||
set(CMAKE_C_LINK_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE} "-pie")
|
||||
set(CMAKE_C_LINK_OPTIONS_NO_PIE "-no-pie")
|
||||
set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
|
||||
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
|
||||
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
|
||||
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
|
||||
set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
|
||||
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
|
||||
set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
|
||||
|
||||
# Disable the stack protector until a later stage of LLVM migration
|
||||
set(CMAKE_C_FLAGS "-fno-stack-protector")
|
||||
set(CMAKE_CXX_FLAGS "-fno-stack-protector")
|
||||
|
||||
# Shared libraries with no builtin soname may not be linked safely by
|
||||
# specifying the file path.
|
||||
set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
|
||||
|
||||
# Initialize C link type selection flags. These flags are used when
|
||||
# building a shared library, shared module, or executable that links
|
||||
# to other libraries to select whether to use the static or shared
|
||||
# versions of the libraries.
|
||||
foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
|
||||
set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
|
||||
set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
|
||||
endforeach()
|
@ -1,3 +1,40 @@
|
||||
final: prev: {
|
||||
final: prev:
|
||||
with prev; {
|
||||
|
||||
binutils-unwrapped = prev.binutils-unwrapped.overrideAttrs (attrs: {
|
||||
patches = attrs.patches ++ lib.optional targetPlatform.isGenode
|
||||
[ ./binutils/support-genode.patch ];
|
||||
});
|
||||
|
||||
cmake = prev.cmake.overrideAttrs (attrs: {
|
||||
postInstall = with stdenv;
|
||||
if targetPlatform.isGenode then ''
|
||||
local MODULE="$out/share/cmake-${
|
||||
lib.versions.majorMinor attrs.version
|
||||
}/Modules/Platform/Genode.cmake"
|
||||
if [ -e "$MODULE" ]; then
|
||||
echo "Upstream provides $MODULE!"
|
||||
exit 1
|
||||
fi
|
||||
cp ${./cmake/Genode.cmake} $MODULE
|
||||
'' else
|
||||
null;
|
||||
|
||||
});
|
||||
|
||||
genodeHeaders = callPackage ./headers { };
|
||||
genodeLibcCross = callPackage ./libc { stdenv = crossLibcStdenv; };
|
||||
|
||||
libcCrossChooser = name:
|
||||
if stdenv.targetPlatform.isGenode then
|
||||
targetPackages.genodeLibcCross or genodeLibcCross
|
||||
else
|
||||
prev.libcCrossChooser name;
|
||||
|
||||
llvmPackages_8 = callPackage ./llvm-8 ({
|
||||
inherit (stdenvAdapters) overrideCC;
|
||||
buildLlvmTools = buildPackages.llvmPackages_8.tools;
|
||||
targetLlvmLibraries = targetPackages.llvmPackages_8.libraries;
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,63 @@
|
||||
# SPDX-FileCopyrightText: Emery Hemingway
|
||||
#
|
||||
# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1
|
||||
|
||||
{ stdenvNoCC, lib, fetchurl }:
|
||||
|
||||
let
|
||||
stdenv = stdenvNoCC;
|
||||
version = "20.02";
|
||||
platform = stdenv.targetPlatform;
|
||||
in stdenv.mkDerivation {
|
||||
pname = platform.system + "-headers";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/genodelabs/genode/archive/${version}.tar.gz";
|
||||
hash = "sha256-ZY9ND6vDA9u127TAv87uOjPuLzRzBPyp5PzD6iM7uNI=";
|
||||
};
|
||||
|
||||
specs = with platform; []
|
||||
++ lib.optional is32bit "32bit"
|
||||
++ lib.optional is64bit "64bit"
|
||||
++ lib.optional isAarch32 "arm"
|
||||
++ lib.optional isAarch64 "arm_64"
|
||||
++ lib.optional isRiscV "riscv"
|
||||
++ lib.optional isx86 "x86"
|
||||
++ lib.optional isx86_32 "x86_32"
|
||||
++ lib.optional isx86_64 "x86_64";
|
||||
|
||||
builder = builtins.toFile "builder.sh" ''
|
||||
source $stdenv/setup
|
||||
|
||||
tar fx $src \
|
||||
--strip-components=2 \
|
||||
genode-$version/repos/base \
|
||||
genode-$version/repos/demo/include \
|
||||
genode-$version/repos/gems/include \
|
||||
genode-$version/repos/libports/include \
|
||||
genode-$version/repos/os/include \
|
||||
genode-$version/repos/ports/include \
|
||||
|
||||
includeDir=$out/include
|
||||
mkdir -p $includeDir
|
||||
|
||||
for DIR in */include; do
|
||||
for SPEC in $specs; do
|
||||
if [ -d $DIR/spec/$SPEC ]; then
|
||||
cp -r $DIR/spec/$SPEC/* $includeDir/
|
||||
rm -r $DIR/spec/$SPEC
|
||||
fi
|
||||
done
|
||||
rm -rf $DIR/spec
|
||||
cp -r $DIR/* $includeDir
|
||||
done
|
||||
|
||||
mkdir $out/ld
|
||||
cp \
|
||||
base/src/ld/genode_dyn.dl \
|
||||
base/src/ld/genode_dyn.ld \
|
||||
base/src/ld/genode_rel.ld \
|
||||
$out/ld
|
||||
'';
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
--- src/lib/libc/include/stdlib.h.orig 2019-04-18 13:26:58.781188866 +0200
|
||||
+++ src/lib/libc/include/stdlib.h 2019-04-18 13:27:46.100594001 +0200
|
||||
@@ -81,7 +81,8 @@
|
||||
#endif
|
||||
extern int __mb_cur_max;
|
||||
extern int ___mb_cur_max(void);
|
||||
-#define MB_CUR_MAX ((size_t)___mb_cur_max())
|
||||
+/* ASCII only */
|
||||
+#define MB_CUR_MAX 1
|
||||
|
||||
_Noreturn void abort(void);
|
||||
int abs(int) __pure2;
|
||||
|
||||
--- src/lib/libc/include/xlocale/_stdlib.h.orig 2019-04-18 13:28:52.691756865 +0200
|
||||
+++ src/lib/libc/include/xlocale/_stdlib.h 2019-04-18 13:29:13.079500565 +0200
|
||||
@@ -57,5 +57,6 @@
|
||||
int wctomb_l(char *, wchar_t, locale_t);
|
||||
|
||||
int ___mb_cur_max_l(locale_t);
|
||||
-#define MB_CUR_MAX_L(x) ((size_t)___mb_cur_max_l(x))
|
||||
+/* ASCII only */
|
||||
+#define MB_CUR_MAX_L(x) 1
|
||||
|
||||
|
@ -0,0 +1,23 @@
|
||||
--- src/lib/libc/include/runetype.h.orig 2019-04-16 11:51:27.954530199 +0200
|
||||
+++ src/lib/libc/include/runetype.h 2019-04-16 11:51:53.346901123 +0200
|
||||
@@ -88,19 +88,7 @@
|
||||
__BEGIN_DECLS
|
||||
extern const _RuneLocale _DefaultRuneLocale;
|
||||
extern const _RuneLocale *_CurrentRuneLocale;
|
||||
-#if defined(__NO_TLS) || defined(__RUNETYPE_INTERNAL)
|
||||
-extern const _RuneLocale *__getCurrentRuneLocale(void);
|
||||
-#else
|
||||
-extern _Thread_local const _RuneLocale *_ThreadRuneLocale;
|
||||
-static __inline const _RuneLocale *__getCurrentRuneLocale(void)
|
||||
-{
|
||||
-
|
||||
- if (_ThreadRuneLocale)
|
||||
- return _ThreadRuneLocale;
|
||||
- return _CurrentRuneLocale;
|
||||
-}
|
||||
-#endif /* __NO_TLS || __RUNETYPE_INTERNAL */
|
||||
-#define _CurrentRuneLocale (__getCurrentRuneLocale())
|
||||
+#define _CurrentRuneLocale (&_DefaultRuneLocale)
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_RUNETYPE_H_ */
|
@ -0,0 +1,63 @@
|
||||
Prevent the use of the hidden attribute for symbols. In particular,
|
||||
the attribute must not be applied to '__libc'-prefixed symbols to allow
|
||||
overwriting the dummies defined in dummies.cc by other non-weak
|
||||
implementations such as those in 'libc_noux.lib.so'.
|
||||
|
||||
This attribute is applied inconsistently in
|
||||
libc/lib/libc/include/libc_private.h anyway.
|
||||
|
||||
Also, force i386 to call __libc_sigprocmask via PLT to prevent
|
||||
R_386_PC32 relocations, which had to change the text segment. Other
|
||||
architectures do this automatically.
|
||||
|
||||
--- src/lib/libc/sys/sys/cdefs.h
|
||||
+++ src/lib/libc/sys/sys/cdefs.h
|
||||
@@ -447,7 +447,7 @@
|
||||
#if __GNUC_PREREQ__(4, 0)
|
||||
#define __null_sentinel __attribute__((__sentinel__))
|
||||
#define __exported __attribute__((__visibility__("default")))
|
||||
-#define __hidden __attribute__((__visibility__("hidden")))
|
||||
+#define __hidden
|
||||
#else
|
||||
#define __null_sentinel
|
||||
#define __exported
|
||||
--- src/lib/libc/lib/libc/i386/gen/setjmp.S
|
||||
+++ src/lib/libc/lib/libc/i386/gen/setjmp.S
|
||||
@@ -54,7 +54,7 @@
|
||||
pushl %eax /* (sigset_t*)oset */
|
||||
pushl $0 /* (sigset_t*)set */
|
||||
pushl $1 /* SIG_BLOCK */
|
||||
- call __libc_sigprocmask
|
||||
+ call __i386_libc_sigprocmask
|
||||
addl $12,%esp
|
||||
movl 4(%esp),%ecx
|
||||
movl 0(%esp),%edx
|
||||
@@ -76,7 +76,7 @@
|
||||
leal 28(%edx), %eax
|
||||
pushl %eax /* (sigset_t*)set */
|
||||
pushl $3 /* SIG_SETMASK */
|
||||
- call __libc_sigprocmask
|
||||
+ call __i386_libc_sigprocmask
|
||||
addl $12,%esp
|
||||
movl 4(%esp),%edx
|
||||
movl 8(%esp),%eax
|
||||
--- src/lib/libc/lib/libc/i386/gen/sigsetjmp.S
|
||||
+++ src/lib/libc/lib/libc/i386/gen/sigsetjmp.S
|
||||
@@ -63,7 +63,7 @@
|
||||
pushl %eax /* (sigset_t*)oset */
|
||||
pushl $0 /* (sigset_t*)set */
|
||||
pushl $1 /* SIG_BLOCK */
|
||||
- call __libc_sigprocmask
|
||||
+ call __i386_libc_sigprocmask
|
||||
addl $12,%esp
|
||||
movl 4(%esp),%ecx
|
||||
2: movl 0(%esp),%edx
|
||||
@@ -87,7 +87,7 @@
|
||||
leal 28(%edx), %eax
|
||||
pushl %eax /* (sigset_t*)set */
|
||||
pushl $3 /* SIG_SETMASK */
|
||||
- call __libc_sigprocmask
|
||||
+ call __i386_libc_sigprocmask
|
||||
addl $12,%esp
|
||||
movl 4(%esp),%edx
|
||||
2: movl 8(%esp),%eax
|
@ -0,0 +1,111 @@
|
||||
# SPDX-FileCopyrightText: Emery Hemingway
|
||||
#
|
||||
# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1
|
||||
|
||||
{ stdenv, fetchgit, fetchurl, genodeHeaders, bison, flex, glibc, writeText }:
|
||||
|
||||
let
|
||||
archInfo = with stdenv.hostPlatform;
|
||||
if isAarch32 then {
|
||||
inherit isArm isAarch32;
|
||||
} else if isAarch64 then {
|
||||
inherit isArm isAarch64;
|
||||
} else if isx86_32 then {
|
||||
inherit isx86 isx86_32;
|
||||
} else if isx86_64 then {
|
||||
inherit isx86 isx86_64;
|
||||
} else
|
||||
{ };
|
||||
in stdenv.mkDerivation (archInfo // {
|
||||
pname = "libgenode";
|
||||
version = "19.11";
|
||||
|
||||
inherit genodeHeaders;
|
||||
|
||||
depsBuildBuild = [
|
||||
bison
|
||||
flex
|
||||
glibc # provides rpcgen
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.0-RELEASE/src.txz";
|
||||
sha256 = "0da393ac2174168a71c1c527d1453e07372295187d05c288250800cb152a889b";
|
||||
};
|
||||
|
||||
unpackPhase = "tar xf $src $tarFlags";
|
||||
|
||||
tarFlags = [
|
||||
"--strip-components=2"
|
||||
"usr/src/contrib/gdtoa"
|
||||
"usr/src/contrib/libc-vis"
|
||||
"usr/src/contrib/tzcode/stdtime"
|
||||
"usr/src/include"
|
||||
"usr/src/lib/libc"
|
||||
"usr/src/lib/msun"
|
||||
"usr/src/sys/amd64"
|
||||
"usr/src/sys/arm"
|
||||
"usr/src/sys/arm64"
|
||||
"usr/src/sys/bsm"
|
||||
"usr/src/sys/crypto/chacha20"
|
||||
"usr/src/sys/i386"
|
||||
"usr/src/sys/libkern"
|
||||
"usr/src/sys/net"
|
||||
"usr/src/sys/netinet"
|
||||
"usr/src/sys/netinet6"
|
||||
"usr/src/sys/riscv"
|
||||
"usr/src/sys/rpc"
|
||||
"usr/src/sys/sys"
|
||||
"usr/src/sys/vm"
|
||||
"usr/src/sys/x86"
|
||||
];
|
||||
|
||||
patches = [
|
||||
./cdefs_no_hidden.patch
|
||||
./_CurrentRuneLocale.patch
|
||||
./gdtoa.patch
|
||||
./log2.patch
|
||||
./MB_CUR_MAX.patch
|
||||
./mktime.patch
|
||||
./printfcommon.patch
|
||||
./rcmd.patch
|
||||
./res_init_c.patch
|
||||
./runetype.patch
|
||||
./semaphore.patch
|
||||
./thread_local.patch
|
||||
./types.patch
|
||||
./vfwprintf_c_warn.patch
|
||||
./xlocale.patch
|
||||
./xlocale_private.patch
|
||||
./xprintf_float.patch
|
||||
];
|
||||
|
||||
patchFlags = "-p0 --strip 3";
|
||||
|
||||
genodeRelLd = "${genodeHeaders}/ld/genode_rel.ld";
|
||||
|
||||
genodePrgPcIn = ./genode-prg.pc.in;
|
||||
libcSymbols = ./libc.symbols;
|
||||
|
||||
ldSymbols = ./ld.symbols;
|
||||
linkerLd = ./linker.ld;
|
||||
|
||||
vfsSymbols = ./vfs.symbols;
|
||||
|
||||
builder = writeText "builder.sh" ''
|
||||
source $stdenv/setup
|
||||
export includedir=$out/include
|
||||
export pkgconfigdir=$out/lib/pkgconfig
|
||||
export lddir=${genodeHeaders}/ld
|
||||
mkdir -p $pkgconfigdir $out/lib
|
||||
|
||||
source ${./libc-builder.sh}
|
||||
|
||||
substituteAll ${./libc.pc.in} $pkgconfigdir/libc.pc
|
||||
substituteAll ${./vfs.pc.in} $pkgconfigdir/vfs.pc
|
||||
substituteAll ${./genode-prg.pc.in} $pkgconfigdir/genode-prg.pc
|
||||
|
||||
ln -s $out/lib/libc.lib.so $out/lib/libc.so
|
||||
'';
|
||||
})
|
@ -0,0 +1,43 @@
|
||||
--- src/lib/libc/contrib/gdtoa/gdtoaimp.h.orig 2019-04-16 11:11:02.420833030 +0200
|
||||
+++ src/lib/libc/contrib/gdtoa/gdtoaimp.h 2019-04-16 11:11:17.704278981 +0200
|
||||
@@ -506,40 +506,6 @@
|
||||
#define Bcopy(x,y) memcpy(&x->sign,&y->sign,y->wds*sizeof(ULong) + 2*sizeof(int))
|
||||
#endif /* NO_STRING_H */
|
||||
|
||||
-/*
|
||||
- * Paranoia: Protect exported symbols, including ones in files we don't
|
||||
- * compile right now. The standard strtof and strtod survive.
|
||||
- */
|
||||
-#define dtoa __dtoa
|
||||
-#define gdtoa __gdtoa
|
||||
-#define freedtoa __freedtoa
|
||||
-#define strtodg __strtodg
|
||||
-#define g_ddfmt __g_ddfmt
|
||||
-#define g_dfmt __g_dfmt
|
||||
-#define g_ffmt __g_ffmt
|
||||
-#define g_Qfmt __g_Qfmt
|
||||
-#define g_xfmt __g_xfmt
|
||||
-#define g_xLfmt __g_xLfmt
|
||||
-#define strtoId __strtoId
|
||||
-#define strtoIdd __strtoIdd
|
||||
-#define strtoIf __strtoIf
|
||||
-#define strtoIQ __strtoIQ
|
||||
-#define strtoIx __strtoIx
|
||||
-#define strtoIxL __strtoIxL
|
||||
-#define strtord_l __strtord_l
|
||||
-#define strtordd __strtordd
|
||||
-#define strtorf __strtorf
|
||||
-#define strtorQ_l __strtorQ_l
|
||||
-#define strtorx_l __strtorx_l
|
||||
-#define strtorxL __strtorxL
|
||||
-#define strtodI __strtodI
|
||||
-#define strtopd __strtopd
|
||||
-#define strtopdd __strtopdd
|
||||
-#define strtopf __strtopf
|
||||
-#define strtopQ __strtopQ
|
||||
-#define strtopx __strtopx
|
||||
-#define strtopxL __strtopxL
|
||||
-
|
||||
/* Protect gdtoa-internal symbols */
|
||||
#define Balloc __Balloc_D2A
|
||||
#define Bfree __Bfree_D2A
|
@ -0,0 +1,7 @@
|
||||
lddir=@lddir@
|
||||
|
||||
Name: genode-prg
|
||||
Description: Flags for dynamically-linked Genode programs
|
||||
URL: https://genode.org/
|
||||
Version: @version@
|
||||
Libs: -gc-sections -z max-page-size=0x1000 --dynamic-list=${lddir}/genode_dyn.dl -nostdlib -Ttext=0x01000000 --dynamic-linker=ld.lib.so --eh-frame-hdr -rpath-link=. -T${lddir}/genode_dyn.ld -l:ld.lib.so
|
@ -0,0 +1,662 @@
|
||||
#
|
||||
# \brief Genode application binary interface (ABI)
|
||||
# \author Norman Feske
|
||||
# \date 2016-12-20
|
||||
#
|
||||
# This file contains the binary application interface (ABI) provided by
|
||||
# Genode's dynamic linker. Each line contains the name of a symbol followed
|
||||
# by its type (according to the encoding used by binutil's 'nm' tool). Data
|
||||
# symbols are furher annotated by the size of their corresponding data object.
|
||||
# The latter is only needed on ARM.
|
||||
#
|
||||
# On the ARM architecture, copy relocations are created for read-only data
|
||||
# objects that are present in shared libraries. For each data object, the
|
||||
# linker preserves a slot in the program's BSS according to the object size.
|
||||
# At runtime, the dynamic linker copies the data from the shared library's
|
||||
# read-only segment to these slots. The copy relocations for a given binary
|
||||
# can be inspected via 'objdump -R'. The size of data symbols as present in a
|
||||
# shared library (like 'ld-hw.lib.a') can be inspected via 'nm --format posix'.
|
||||
# The data-object sizes as annotated here must always be at least as big as the
|
||||
# corresponding data objects present in the dynamic linker.
|
||||
#
|
||||
# The original version of this file is based on the output of the
|
||||
# 'tool/abi_symbols' tool with 'ld-<platform>.lib.so' used as argument.
|
||||
# However, this tool was solely used as a starting point for the - now
|
||||
# manually maintained - file.
|
||||
#
|
||||
# Note that not all symbols present in this list are provided by each variant
|
||||
# of the dynamic linker. I.e., there are a few symbols that are specific for a
|
||||
# particular kernel or the C++ ABI of a specific architecture.
|
||||
#
|
||||
# Please keep the file sorted via 'LC_COLLATE=C sort'.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (C) 2016-2019 Genode Labs GmbH
|
||||
#
|
||||
# This file is part of the Genode OS framework, which is distributed
|
||||
# under the terms of the GNU Affero General Public License version 3.
|
||||
#
|
||||
|
||||
_Unwind_Complete T
|
||||
_Unwind_DeleteException T
|
||||
_Unwind_Resume T
|
||||
_Z11genode_exiti T
|
||||
_Z13genode_atexitPFvvE T
|
||||
_Z16main_thread_utcbv T
|
||||
_Z21genode___cxa_finalizePv T
|
||||
_Z22__ldso_raise_exceptionv T
|
||||
_ZN5Timer10Connection16schedule_timeoutEN6Genode12MicrosecondsERNS1_11Time_source15Timeout_handlerE T
|
||||
_ZN5Timer10Connection18_schedule_one_shotERN6Genode7TimeoutENS1_12MicrosecondsE T
|
||||
_ZN5Timer10Connection18_schedule_periodicERN6Genode7TimeoutENS1_12MicrosecondsE T
|
||||
_ZN5Timer10Connection8_discardERN6Genode7TimeoutE T
|
||||
_ZN5Timer10Connection9curr_timeEv T
|
||||
_ZN5Timer10ConnectionC1ERN6Genode3EnvEPKc T
|
||||
_ZN5Timer10ConnectionC2ERN6Genode3EnvEPKc T
|
||||
_ZN5Timer10ConnectionC1ERN6Genode3EnvERNS1_10EntrypointEPKc T
|
||||
_ZN5Timer10ConnectionC2ERN6Genode3EnvERNS1_10EntrypointEPKc T
|
||||
_ZN6Genode10Entrypoint16_dispatch_signalERNS_6SignalE T
|
||||
_ZN6Genode10Entrypoint16schedule_suspendEPFvvES2_ T
|
||||
_ZN6Genode10Entrypoint22Signal_proxy_component6signalEv T
|
||||
_ZN6Genode10Entrypoint25_process_incoming_signalsEv T
|
||||
_ZN6Genode10Entrypoint32_wait_and_dispatch_one_io_signalEb T
|
||||
_ZN6Genode10Entrypoint6manageERNS_22Signal_dispatcher_baseE T
|
||||
_ZN6Genode10Entrypoint8dissolveERNS_22Signal_dispatcher_baseE T
|
||||
_ZN6Genode10EntrypointC1ERNS_3EnvE T
|
||||
_ZN6Genode10EntrypointC1ERNS_3EnvEmPKcNS_8Affinity8LocationE T
|
||||
_ZN6Genode10EntrypointC2ERNS_3EnvEmPKcNS_8Affinity8LocationE T
|
||||
_ZN6Genode10EntrypointD1Ev T
|
||||
_ZN6Genode10EntrypointD2Ev T
|
||||
_ZN6Genode10Ipc_serverC1Ev T
|
||||
_ZN6Genode10Ipc_serverC2Ev T
|
||||
_ZN6Genode10Ipc_serverD1Ev T
|
||||
_ZN6Genode10Ipc_serverD2Ev T
|
||||
_ZN6Genode10Vm_sessionD0Ev T
|
||||
_ZN6Genode10Vm_sessionD2Ev T
|
||||
_ZN6Genode11Sliced_heap4freeEPvm T
|
||||
_ZN6Genode11Sliced_heap5allocEmPPv T
|
||||
_ZN6Genode11Sliced_heapC1ERNS_13Ram_allocatorERNS_10Region_mapE T
|
||||
_ZN6Genode11Sliced_heapC2ERNS_13Ram_allocatorERNS_10Region_mapE T
|
||||
_ZN6Genode11Sliced_heapD0Ev T
|
||||
_ZN6Genode11Sliced_heapD1Ev T
|
||||
_ZN6Genode11Sliced_heapD2Ev T
|
||||
_ZN6Genode12Address_infoC1Em T
|
||||
_ZN6Genode12Address_infoC2Em T
|
||||
_ZN6Genode12Trace_output12trace_outputEv T
|
||||
_ZN6Genode12Trace_output8_acquireEv T
|
||||
_ZN6Genode12Trace_output8_releaseEv T
|
||||
_ZN6Genode13Avl_node_base15_rotate_subtreeEPS0_bRNS0_6PolicyE T
|
||||
_ZN6Genode13Avl_node_base18_rebalance_subtreeEPS0_RNS0_6PolicyE T
|
||||
_ZN6Genode13Avl_node_base6_adoptEPS0_bRNS0_6PolicyE T
|
||||
_ZN6Genode13Avl_node_base6insertEPS0_RNS0_6PolicyE T
|
||||
_ZN6Genode13Avl_node_base6removeERNS0_6PolicyE T
|
||||
_ZN6Genode13Avl_node_baseC1Ev T
|
||||
_ZN6Genode13Avl_node_baseC2Ev T
|
||||
_ZN6Genode13Registry_base7ElementC1ERS0_Pv T
|
||||
_ZN6Genode13Registry_base7ElementC2ERS0_Pv T
|
||||
_ZN6Genode13Registry_base7ElementD1Ev T
|
||||
_ZN6Genode13Registry_base7ElementD2Ev T
|
||||
_ZN6Genode13Registry_base7_insertERNS0_7ElementE T
|
||||
_ZN6Genode13Registry_base7_removeERNS0_7ElementE T
|
||||
_ZN6Genode13Registry_base9_for_eachERNS0_15Untyped_functorE T
|
||||
_ZN6Genode13Session_state7destroyEv T
|
||||
_ZN6Genode13Session_stateC1ERNS_7ServiceERNS_8Id_spaceINS_6Parent6ClientEEENS6_2IdERKNS_13Session_labelERKNS_6StringILm256EEERKNS_8AffinityE T
|
||||
_ZN6Genode13Session_stateC2ERNS_7ServiceERNS_8Id_spaceINS_6Parent6ClientEEENS6_2IdERKNS_13Session_labelERKNS_6StringILm256EEERKNS_8AffinityE T
|
||||
_ZN6Genode13Shared_objectC1ERNS_3EnvERNS_9AllocatorEPKcNS0_4BindENS0_4KeepE T
|
||||
_ZN6Genode13Shared_objectC2ERNS_3EnvERNS_9AllocatorEPKcNS0_4BindENS0_4KeepE T
|
||||
_ZN6Genode13Shared_objectD1Ev T
|
||||
_ZN6Genode13Shared_objectD2Ev T
|
||||
_ZN6Genode13sleep_foreverEv T
|
||||
_ZN6Genode14Capability_map6insertEmm T
|
||||
_ZN6Genode14Dynamic_linker23_for_each_loaded_objectERNS_3EnvERKNS0_11For_each_fnE T
|
||||
_ZN6Genode14Dynamic_linker4keepERNS_3EnvEPKc T
|
||||
_ZN6Genode14Dynamic_linker8_respawnERNS_3EnvEPKcS4_ T
|
||||
_ZN6Genode14Rpc_entrypoint13_free_rpc_capERNS_10Pd_sessionENS_17Native_capabilityE T
|
||||
_ZN6Genode14Rpc_entrypoint14_alloc_rpc_capERNS_10Pd_sessionENS_17Native_capabilityEm T
|
||||
_ZN6Genode14Rpc_entrypoint17_activation_entryEv T
|
||||
_ZN6Genode14Rpc_entrypoint17reply_signal_infoENS_17Native_capabilityEmm T
|
||||
_ZN6Genode14Rpc_entrypoint22_block_until_cap_validEv T
|
||||
_ZN6Genode14Rpc_entrypoint5entryEv T
|
||||
_ZN6Genode14Rpc_entrypoint7_manageEPNS_15Rpc_object_baseE T
|
||||
_ZN6Genode14Rpc_entrypoint8activateEv T
|
||||
_ZN6Genode14Rpc_entrypoint9_dissolveEPNS_15Rpc_object_baseE T
|
||||
_ZN6Genode14Rpc_entrypointC1EPNS_10Pd_sessionEmPKcbNS_8Affinity8LocationE T
|
||||
_ZN6Genode14Rpc_entrypointC2EPNS_10Pd_sessionEmPKcbNS_8Affinity8LocationE T
|
||||
_ZN6Genode14Rpc_entrypointD0Ev T
|
||||
_ZN6Genode14Rpc_entrypointD1Ev T
|
||||
_ZN6Genode14Rpc_entrypointD2Ev T
|
||||
_ZN6Genode14Signal_contextD0Ev T
|
||||
_ZN6Genode14Signal_contextD1Ev T
|
||||
_ZN6Genode14Signal_contextD2Ev T
|
||||
_ZN6Genode14cache_coherentEmm T
|
||||
_ZN6Genode14env_deprecatedEv T
|
||||
_ZN6Genode14ipc_reply_waitERKNS_17Native_capabilityENS_18Rpc_exception_codeERNS_11Msgbuf_baseES5_ T
|
||||
_ZN6Genode15Alarm_scheduler12_setup_alarmERNS_5AlarmEmm T
|
||||
_ZN6Genode15Alarm_scheduler13next_deadlineEPm T
|
||||
_ZN6Genode15Alarm_scheduler17schedule_absoluteEPNS_5AlarmEy T
|
||||
_ZN6Genode15Alarm_scheduler18_get_pending_alarmEv T
|
||||
_ZN6Genode15Alarm_scheduler23_unsynchronized_dequeueEPNS_5AlarmE T
|
||||
_ZN6Genode15Alarm_scheduler23_unsynchronized_enqueueEPNS_5AlarmE T
|
||||
_ZN6Genode15Alarm_scheduler6handleEy T
|
||||
_ZN6Genode15Alarm_scheduler7discardEPNS_5AlarmE T
|
||||
_ZN6Genode15Alarm_scheduler8scheduleEPNS_5AlarmEm T
|
||||
_ZN6Genode15Alarm_schedulerD1Ev T
|
||||
_ZN6Genode15Alarm_schedulerD2Ev T
|
||||
_ZN6Genode15Cancelable_lock4lockEv T
|
||||
_ZN6Genode15Cancelable_lock6unlockEv T
|
||||
_ZN6Genode15Cancelable_lock9Applicant7wake_upEv T
|
||||
_ZN6Genode15Cancelable_lockC1ENS0_5StateE T
|
||||
_ZN6Genode15Cancelable_lockC2ENS0_5StateE T
|
||||
_ZN6Genode15Connection_baseC1Ev T
|
||||
_ZN6Genode15Connection_baseC2Ev T
|
||||
_ZN6Genode15Signal_receiver12local_submitENS_6Signal4DataE T
|
||||
_ZN6Genode15Signal_receiver14pending_signalEv T
|
||||
_ZN6Genode15Signal_receiver15wait_for_signalEv T
|
||||
_ZN6Genode15Signal_receiver16block_for_signalEv T
|
||||
_ZN6Genode15Signal_receiver6manageEPNS_14Signal_contextE T
|
||||
_ZN6Genode15Signal_receiver8dissolveEPNS_14Signal_contextE T
|
||||
_ZN6Genode15Signal_receiverC1Ev T
|
||||
_ZN6Genode15Signal_receiverC2Ev T
|
||||
_ZN6Genode15Signal_receiverD1Ev T
|
||||
_ZN6Genode15Signal_receiverD2Ev T
|
||||
_ZN6Genode16raw_write_stringEPKc T
|
||||
_ZN6Genode17Native_capability4_decEv T
|
||||
_ZN6Genode17Native_capability4_incEv T
|
||||
_ZN6Genode17Native_capabilityC1Ev T
|
||||
_ZN6Genode17Native_capabilityC2Ev T
|
||||
_ZN6Genode17Region_map_client13fault_handlerENS_10CapabilityINS_14Signal_contextEEE T
|
||||
_ZN6Genode17Region_map_client5stateEv T
|
||||
_ZN6Genode17Region_map_client6attachENS_10CapabilityINS_9DataspaceEEEmlbNS_10Region_map10Local_addrEbb T
|
||||
_ZN6Genode17Region_map_client6detachENS_10Region_map10Local_addrE T
|
||||
_ZN6Genode17Region_map_client9dataspaceEv T
|
||||
_ZN6Genode17Region_map_clientC1ENS_10CapabilityINS_10Region_mapEEE T
|
||||
_ZN6Genode17Region_map_clientC2ENS_10CapabilityINS_10Region_mapEEE T
|
||||
_ZN6Genode17Rm_session_client6createEm T
|
||||
_ZN6Genode17Rm_session_client7destroyENS_10CapabilityINS_10Region_mapEEE T
|
||||
_ZN6Genode17Rm_session_clientC1ENS_10CapabilityINS_10Rm_sessionEEE T
|
||||
_ZN6Genode17Rm_session_clientC2ENS_10CapabilityINS_10Rm_sessionEEE T
|
||||
_ZN6Genode17Vm_session_client11create_vcpuERNS_9AllocatorERNS_3EnvERNS_15Vm_handler_baseE T
|
||||
_ZN6Genode17Vm_session_client3runENS_10Vm_session7Vcpu_idE T
|
||||
_ZN6Genode17Vm_session_client5pauseENS_10Vm_session7Vcpu_idE T
|
||||
_ZN6Genode17Vm_session_client9cpu_stateENS_10Vm_session7Vcpu_idE T
|
||||
_ZN6Genode18Allocator_avl_base10_add_blockEPNS0_5BlockEmmb T
|
||||
_ZN6Genode18Allocator_avl_base10alloc_addrEmm T
|
||||
_ZN6Genode18Allocator_avl_base12remove_rangeEmm T
|
||||
_ZN6Genode18Allocator_avl_base13alloc_alignedEmPPvimm T
|
||||
_ZN6Genode18Allocator_avl_base14_destroy_blockEPNS0_5BlockE T
|
||||
_ZN6Genode18Allocator_avl_base14any_block_addrEPm T
|
||||
_ZN6Genode18Allocator_avl_base15_cut_from_blockEPNS0_5BlockEmmS2_S2_ T
|
||||
_ZN6Genode18Allocator_avl_base20_find_any_used_blockEPNS0_5BlockE T
|
||||
_ZN6Genode18Allocator_avl_base21_alloc_block_metadataEv T
|
||||
_ZN6Genode18Allocator_avl_base26_alloc_two_blocks_metadataEPPNS0_5BlockES3_ T
|
||||
_ZN6Genode18Allocator_avl_base30_revert_allocations_and_rangesEv T
|
||||
_ZN6Genode18Allocator_avl_base4freeEPv T
|
||||
_ZN6Genode18Allocator_avl_base5Block13find_best_fitEmjmm T
|
||||
_ZN6Genode18Allocator_avl_base5Block15find_by_addressEmmb T
|
||||
_ZN6Genode18Allocator_avl_base5Block16avail_in_subtreeEv T
|
||||
_ZN6Genode18Allocator_avl_base5Block9recomputeEv T
|
||||
_ZN6Genode18Allocator_avl_base9add_rangeEmm T
|
||||
_ZN6Genode18Signal_transmitter6submitEj T
|
||||
_ZN6Genode18Signal_transmitter7contextENS_10CapabilityINS_14Signal_contextEEE T
|
||||
_ZN6Genode18Signal_transmitter7contextEv T
|
||||
_ZN6Genode18Signal_transmitterC1ENS_10CapabilityINS_14Signal_contextEEE T
|
||||
_ZN6Genode18Signal_transmitterC2ENS_10CapabilityINS_14Signal_contextEEE T
|
||||
_ZN6Genode18server_socket_pairEv T
|
||||
_ZN6Genode20env_session_id_spaceEv T
|
||||
_ZN6Genode23Alarm_timeout_scheduler14handle_timeoutENS_8DurationE T
|
||||
_ZN6Genode23Alarm_timeout_scheduler18_schedule_one_shotERNS_7TimeoutENS_12MicrosecondsE T
|
||||
_ZN6Genode23Alarm_timeout_scheduler18_schedule_periodicERNS_7TimeoutENS_12MicrosecondsE T
|
||||
_ZN6Genode23Alarm_timeout_scheduler7_enableEv T
|
||||
_ZN6Genode23Alarm_timeout_schedulerC1ERNS_11Time_sourceENS_12MicrosecondsE T
|
||||
_ZN6Genode23Alarm_timeout_schedulerC2ERNS_11Time_sourceENS_12MicrosecondsE T
|
||||
_ZN6Genode23Alarm_timeout_schedulerD0Ev T
|
||||
_ZN6Genode23Alarm_timeout_schedulerD1Ev T
|
||||
_ZN6Genode23Alarm_timeout_schedulerD2Ev T
|
||||
_ZN6Genode25env_stack_area_region_mapE B 8
|
||||
_ZN6Genode28env_stack_area_ram_allocatorE B 8
|
||||
_ZN6Genode3Log3logEv T
|
||||
_ZN6Genode3Log8_acquireENS0_4TypeE T
|
||||
_ZN6Genode3Log8_releaseEv T
|
||||
_ZN6Genode3Raw7_outputEv T
|
||||
_ZN6Genode3Raw8_acquireEv T
|
||||
_ZN6Genode3Raw8_releaseEv T
|
||||
_ZN6Genode4Heap11quota_limitEm T
|
||||
_ZN6Genode4Heap4freeEPvm T
|
||||
_ZN6Genode4Heap5allocEmPPv T
|
||||
_ZN6Genode4HeapC1EPNS_13Ram_allocatorEPNS_10Region_mapEmPvm T
|
||||
_ZN6Genode4HeapC2EPNS_13Ram_allocatorEPNS_10Region_mapEmPvm T
|
||||
_ZN6Genode4HeapD0Ev T
|
||||
_ZN6Genode4HeapD1Ev T
|
||||
_ZN6Genode4HeapD2Ev T
|
||||
_ZN6Genode4Slab13any_used_elemEv T
|
||||
_ZN6Genode4Slab5Block11_slab_entryEi T
|
||||
_ZN6Genode4Slab5Block14any_used_entryEv T
|
||||
_ZN6Genode4Slab5Block5allocEv T
|
||||
_ZN6Genode4Slab5Block9inc_availERNS0_5EntryE T
|
||||
_ZN6Genode4Slab5_freeEPv T
|
||||
_ZN6Genode4Slab5allocEmPPv T
|
||||
_ZN6Genode4Slab9insert_sbEPv T
|
||||
_ZN6Genode4SlabC1EmmPvPNS_9AllocatorE T
|
||||
_ZN6Genode4SlabC2EmmPvPNS_9AllocatorE T
|
||||
_ZN6Genode4SlabD0Ev T
|
||||
_ZN6Genode4SlabD1Ev T
|
||||
_ZN6Genode4SlabD2Ev T
|
||||
_ZN6Genode5AlarmD0Ev T
|
||||
_ZN6Genode5AlarmD1Ev T
|
||||
_ZN6Genode5AlarmD2Ev T
|
||||
_ZN6Genode5Child10yield_sighENS_10CapabilityINS_14Signal_contextEEE T
|
||||
_ZN6Genode5Child11session_capENS_8Id_spaceINS_6Parent6ClientEE2IdE T
|
||||
_ZN6Genode5Child12session_sighENS_10CapabilityINS_14Signal_contextEEE T
|
||||
_ZN6Genode5Child13session_readyERNS_13Session_stateE T
|
||||
_ZN6Genode5Child13yield_requestEv T
|
||||
_ZN6Genode5Child14session_closedERNS_13Session_stateE T
|
||||
_ZN6Genode5Child14yield_responseEv T
|
||||
_ZN6Genode5Child16resource_requestERKNS_6StringILm160EEE T
|
||||
_ZN6Genode5Child16session_responseENS_8Id_spaceINS_6Parent6ServerEE2IdENS2_16Session_responseE T
|
||||
_ZN6Genode5Child18close_all_sessionsEv T
|
||||
_ZN6Genode5Child19deliver_session_capENS_8Id_spaceINS_6Parent6ServerEE2IdENS_10CapabilityINS_7SessionEEE T
|
||||
_ZN6Genode5Child19resource_avail_sighENS_10CapabilityINS_14Signal_contextEEE T
|
||||
_ZN6Genode5Child21initiate_env_sessionsEv T
|
||||
_ZN6Genode5Child23initiate_env_pd_sessionEv T
|
||||
_ZN6Genode5Child4exitEi T
|
||||
_ZN6Genode5Child5closeENS_8Id_spaceINS_6Parent6ClientEE2IdE T
|
||||
_ZN6Genode5Child5yieldERKNS_6StringILm160EEE T
|
||||
_ZN6Genode5Child7sessionENS_8Id_spaceINS_6Parent6ClientEE2IdERKNS_13Rpc_in_bufferILm64EEERKNS6_ILm160EEERKNS_8AffinityE T
|
||||
_ZN6Genode5Child7upgradeENS_8Id_spaceINS_6Parent6ClientEE2IdERKNS_13Rpc_in_bufferILm160EEE T
|
||||
_ZN6Genode5Child8announceERKNS_13Rpc_in_bufferILm64EEE T
|
||||
_ZN6Genode5Child9heartbeatEv T
|
||||
_ZN6Genode5ChildC1ERNS_10Region_mapERNS_14Rpc_entrypointERNS_12Child_policyE T
|
||||
_ZN6Genode5ChildC2ERNS_10Region_mapERNS_14Rpc_entrypointERNS_12Child_policyE T
|
||||
_ZN6Genode5ChildD0Ev T
|
||||
_ZN6Genode5ChildD1Ev T
|
||||
_ZN6Genode5ChildD2Ev T
|
||||
_ZN6Genode5Stack4sizeEm T
|
||||
_ZN6Genode5Trace6Logger17_evaluate_controlEv T
|
||||
_ZN6Genode5Trace6Logger3logEPKcm T
|
||||
_ZN6Genode5Trace6LoggerC1Ev T
|
||||
_ZN6Genode5Trace6LoggerC2Ev T
|
||||
_ZN6Genode5printERNS_6OutputEPKc T
|
||||
_ZN6Genode5printERNS_6OutputEPKv T
|
||||
_ZN6Genode5printERNS_6OutputEd T
|
||||
_ZN6Genode5printERNS_6OutputEf T
|
||||
_ZN6Genode5printERNS_6OutputEl T
|
||||
_ZN6Genode5printERNS_6OutputEm T
|
||||
_ZN6Genode5printERNS_6OutputEx T
|
||||
_ZN6Genode5printERNS_6OutputEy T
|
||||
_ZN6Genode6Output10out_stringEPKcm T
|
||||
_ZN6Genode6Parent8announceERKNS_13Rpc_in_bufferILm64EEENS_10CapabilityINS_4RootEEE T
|
||||
_ZN6Genode6Signal19_dec_ref_and_unlockEv T
|
||||
_ZN6Genode6Signal8_inc_refEv T
|
||||
_ZN6Genode6SignalC1ENS0_4DataE T
|
||||
_ZN6Genode6SignalC1ERKS0_ T
|
||||
_ZN6Genode6SignalC2ENS0_4DataE T
|
||||
_ZN6Genode6SignalC2ERKS0_ T
|
||||
_ZN6Genode6SignalD1Ev T
|
||||
_ZN6Genode6SignalD2Ev T
|
||||
_ZN6Genode6SignalaSERKS0_ T
|
||||
_ZN6Genode6Thread10stack_sizeEm T
|
||||
_ZN6Genode6Thread13native_threadEv T
|
||||
_ZN6Genode6Thread15cancel_blockingEv T
|
||||
_ZN6Genode6Thread18stack_virtual_sizeEv T
|
||||
_ZN6Genode6Thread20free_secondary_stackEPv T
|
||||
_ZN6Genode6Thread21alloc_secondary_stackEPKcm T
|
||||
_ZN6Genode6Thread23stack_area_virtual_baseEv T
|
||||
_ZN6Genode6Thread23stack_area_virtual_sizeEv T
|
||||
_ZN6Genode6Thread4joinEv T
|
||||
_ZN6Genode6Thread4nameEPcm T
|
||||
_ZN6Genode6Thread4utcbEv T
|
||||
_ZN6Genode6Thread5startEv T
|
||||
_ZN6Genode6Thread6myselfEv T
|
||||
_ZN6Genode6Thread7_loggerEv T
|
||||
_ZN6Genode6Thread7mystackEv T
|
||||
_ZN6Genode6ThreadC1ERNS_3EnvERKNS_6StringILm32EEEm T
|
||||
_ZN6Genode6ThreadC1ERNS_3EnvERKNS_6StringILm32EEEmNS_8Affinity8LocationENS_11Cpu_session6WeightERS9_ T
|
||||
_ZN6Genode6ThreadC1EmPKcmNS0_4TypeENS_8Affinity8LocationE T
|
||||
_ZN6Genode6ThreadC1EmPKcmNS0_4TypeEPNS_11Cpu_sessionENS_8Affinity8LocationE T
|
||||
_ZN6Genode6ThreadC2ERNS_3EnvERKNS_6StringILm32EEEm T
|
||||
_ZN6Genode6ThreadC2ERNS_3EnvERKNS_6StringILm32EEEmNS_8Affinity8LocationENS_11Cpu_session6WeightERS9_ T
|
||||
_ZN6Genode6ThreadC2EmPKcmNS0_4TypeENS_8Affinity8LocationE T
|
||||
_ZN6Genode6ThreadC2EmPKcmNS0_4TypeEPNS_11Cpu_sessionENS_8Affinity8LocationE T
|
||||
_ZN6Genode6ThreadD0Ev T
|
||||
_ZN6Genode6ThreadD1Ev T
|
||||
_ZN6Genode6ThreadD2Ev T
|
||||
_ZN6Genode7Console11_out_stringEPKc T
|
||||
_ZN6Genode7Console6printfEPKcz T
|
||||
_ZN6Genode7Console7vprintfEPKcP13__va_list_tag T
|
||||
_ZN6Genode7Console7vprintfEPKcPc T
|
||||
_ZN6Genode7Console7vprintfEPKcPv T
|
||||
_ZN6Genode7Console7vprintfEPKcSt9__va_list T
|
||||
_ZN6Genode7Timeout17schedule_one_shotENS_12MicrosecondsERNS0_7HandlerE T
|
||||
_ZN6Genode7Timeout17schedule_periodicENS_12MicrosecondsERNS0_7HandlerE T
|
||||
_ZN6Genode7Timeout5AlarmD0Ev T
|
||||
_ZN6Genode7Timeout5AlarmD1Ev T
|
||||
_ZN6Genode7Timeout5AlarmD2Ev T
|
||||
_ZN6Genode7Timeout7discardEv T
|
||||
_ZN6Genode7cap_mapEv T
|
||||
_ZN6Genode8Duration3addENS_12MicrosecondsE T
|
||||
_ZN6Genode8Duration3addENS_12MillisecondsE T
|
||||
_ZN6Genode8ipc_callENS_17Native_capabilityERNS_11Msgbuf_baseES2_m T
|
||||
_ZN6Genode9ipc_replyENS_17Native_capabilityENS_18Rpc_exception_codeERNS_11Msgbuf_baseE T
|
||||
_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj T
|
||||
_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE T
|
||||
_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE T
|
||||
_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_ T
|
||||
_ZNK6Genode11Sliced_heap8overheadEm T
|
||||
_ZNK6Genode13Session_state24generate_session_requestERNS_13Xml_generatorE T
|
||||
_ZNK6Genode13Session_state25generate_client_side_infoERNS_13Xml_generatorENS0_6DetailE T
|
||||
_ZNK6Genode13Session_state25generate_server_side_infoERNS_13Xml_generatorENS0_6DetailE T
|
||||
_ZNK6Genode13Session_state5printERNS_6OutputE T
|
||||
_ZNK6Genode13Shared_object7_lookupEPKc T
|
||||
_ZNK6Genode13Shared_object8link_mapEv T
|
||||
_ZNK6Genode14Rpc_entrypoint9is_myselfEv T
|
||||
_ZNK6Genode17Native_capability10local_nameEv T
|
||||
_ZNK6Genode17Native_capability3rawEv T
|
||||
_ZNK6Genode17Native_capability5printERNS_6OutputE T
|
||||
_ZNK6Genode17Native_capability5validEv T
|
||||
_ZNK6Genode18Allocator_avl_base10valid_addrEm T
|
||||
_ZNK6Genode18Allocator_avl_base5availEv T
|
||||
_ZNK6Genode18Allocator_avl_base7size_atEPKv T
|
||||
_ZNK6Genode3Hex5printERNS_6OutputE T
|
||||
_ZNK6Genode4Slab8consumedEv T
|
||||
_ZNK6Genode5Child15main_thread_capEv T
|
||||
_ZNK6Genode5Child18skipped_heartbeatsEv T
|
||||
_ZNK6Genode5Child21notify_resource_availEv T
|
||||
_ZNK6Genode6Thread10stack_baseEv T
|
||||
_ZNK6Genode6Thread4nameEv T
|
||||
_ZNK6Genode6Thread9stack_topEv T
|
||||
_ZNK6Genode8Duration17trunc_to_plain_msEv T
|
||||
_ZNK6Genode8Duration17trunc_to_plain_usEv T
|
||||
_ZNK6Genode8Duration9less_thanERKS0_ T
|
||||
_ZNKSt13bad_exception4whatEv T
|
||||
_ZNKSt9exception4whatEv T
|
||||
_ZNSt13bad_exceptionD0Ev T
|
||||
_ZNSt13bad_exceptionD1Ev T
|
||||
_ZNSt13bad_exceptionD2Ev T
|
||||
_ZNSt9exceptionD0Ev T
|
||||
_ZNSt9exceptionD1Ev T
|
||||
_ZNSt9exceptionD2Ev T
|
||||
_ZSt18uncaught_exceptionv T
|
||||
_ZSt19uncaught_exceptionsv T
|
||||
_ZSt9terminatev T
|
||||
_ZTIDd D 16
|
||||
_ZTIDe D 16
|
||||
_ZTIDf D 16
|
||||
_ZTIDi D 16
|
||||
_ZTIDn D 16
|
||||
_ZTIDs D 16
|
||||
_ZTIN10__cxxabiv115__forced_unwindE D 16
|
||||
_ZTIN10__cxxabiv116__enum_type_infoE D 24
|
||||
_ZTIN10__cxxabiv117__class_type_infoE D 24
|
||||
_ZTIN10__cxxabiv117__pbase_type_infoE D 24
|
||||
_ZTIN10__cxxabiv119__foreign_exceptionE D 16
|
||||
_ZTIN10__cxxabiv119__pointer_type_infoE D 24
|
||||
_ZTIN10__cxxabiv120__function_type_infoE D 24
|
||||
_ZTIN10__cxxabiv120__si_class_type_infoE D 24
|
||||
_ZTIN10__cxxabiv121__vmi_class_type_infoE D 24
|
||||
_ZTIN10__cxxabiv123__fundamental_type_infoE D 24
|
||||
_ZTIN5Timer10ConnectionE D 88
|
||||
_ZTIN6Genode10Vm_sessionE D 24
|
||||
_ZTIN6Genode11Sliced_heapE D 24
|
||||
_ZTIN6Genode14Rpc_entrypointE D 56
|
||||
_ZTIN6Genode14Signal_contextE D 56
|
||||
_ZTIN6Genode17Region_map_clientE D 24
|
||||
_ZTIN6Genode17Rm_session_clientE D 24
|
||||
_ZTIN6Genode18Allocator_avl_baseE D 24
|
||||
_ZTIN6Genode23Alarm_timeout_schedulerE D 72
|
||||
_ZTIN6Genode4HeapE D 24
|
||||
_ZTIN6Genode4SlabE D 24
|
||||
_ZTIN6Genode5AlarmE D 16
|
||||
_ZTIN6Genode5Child14Initial_threadE D 24
|
||||
_ZTIN6Genode5ChildE D 72
|
||||
_ZTIN6Genode6OutputE D 24
|
||||
_ZTIN6Genode6ThreadE D 16
|
||||
_ZTIN6Genode7ConsoleE D 16
|
||||
_ZTIN6Genode7Timeout5AlarmE D 16
|
||||
_ZTIPDd D 32
|
||||
_ZTIPDe D 32
|
||||
_ZTIPDf D 32
|
||||
_ZTIPDi D 32
|
||||
_ZTIPDn D 32
|
||||
_ZTIPDs D 32
|
||||
_ZTIPKDd D 32
|
||||
_ZTIPKDe D 32
|
||||
_ZTIPKDf D 32
|
||||
_ZTIPKDi D 32
|
||||
_ZTIPKDn D 32
|
||||
_ZTIPKDs D 32
|
||||
_ZTIPKa D 32
|
||||
_ZTIPKb D 32
|
||||
_ZTIPKc D 32
|
||||
_ZTIPKd D 32
|
||||
_ZTIPKe D 32
|
||||
_ZTIPKf D 32
|
||||
_ZTIPKh D 32
|
||||
_ZTIPKi D 32
|
||||
_ZTIPKj D 32
|
||||
_ZTIPKl D 32
|
||||
_ZTIPKm D 32
|
||||
_ZTIPKs D 32
|
||||
_ZTIPKt D 32
|
||||
_ZTIPKx D 32
|
||||
_ZTIPKy D 32
|
||||
_ZTIPVKa D 32
|
||||
_ZTIPVKb D 32
|
||||
_ZTIPVKc D 32
|
||||
_ZTIPVKd D 32
|
||||
_ZTIPVKe D 32
|
||||
_ZTIPVKf D 32
|
||||
_ZTIPVKh D 32
|
||||
_ZTIPVKi D 32
|
||||
_ZTIPVKj D 32
|
||||
_ZTIPVKl D 32
|
||||
_ZTIPVKm D 32
|
||||
_ZTIPVKs D 32
|
||||
_ZTIPVKt D 32
|
||||
_ZTIPVKx D 32
|
||||
_ZTIPVKy D 32
|
||||
_ZTIPVa D 32
|
||||
_ZTIPVb D 32
|
||||
_ZTIPVc D 32
|
||||
_ZTIPVd D 32
|
||||
_ZTIPVe D 32
|
||||
_ZTIPVf D 32
|
||||
_ZTIPVh D 32
|
||||
_ZTIPVi D 32
|
||||
_ZTIPVj D 32
|
||||
_ZTIPVl D 32
|
||||
_ZTIPVm D 32
|
||||
_ZTIPVs D 32
|
||||
_ZTIPVt D 32
|
||||
_ZTIPVx D 32
|
||||
_ZTIPVy D 32
|
||||
_ZTIPa D 32
|
||||
_ZTIPb D 32
|
||||
_ZTIPc D 32
|
||||
_ZTIPd D 32
|
||||
_ZTIPe D 32
|
||||
_ZTIPf D 32
|
||||
_ZTIPh D 32
|
||||
_ZTIPi D 32
|
||||
_ZTIPj D 32
|
||||
_ZTIPl D 32
|
||||
_ZTIPm D 32
|
||||
_ZTIPs D 32
|
||||
_ZTIPt D 32
|
||||
_ZTIPx D 32
|
||||
_ZTIPy D 32
|
||||
_ZTISt10bad_typeid D 24
|
||||
_ZTISt13bad_exception D 24
|
||||
_ZTISt16bad_array_length D 24
|
||||
_ZTISt20bad_array_new_length D 24
|
||||
_ZTISt8bad_cast D 24
|
||||
_ZTISt9bad_alloc D 24
|
||||
_ZTISt9exception D 16
|
||||
_ZTISt9type_info D 16
|
||||
_ZTIa D 32
|
||||
_ZTIb D 32
|
||||
_ZTIc D 32
|
||||
_ZTId D 32
|
||||
_ZTIe D 32
|
||||
_ZTIf D 32
|
||||
_ZTIh D 32
|
||||
_ZTIi D 32
|
||||
_ZTIj D 32
|
||||
_ZTIl D 32
|
||||
_ZTIm D 32
|
||||
_ZTIs D 32
|
||||
_ZTIt D 32
|
||||
_ZTIx D 32
|
||||
_ZTIy D 32
|
||||
_ZTSN10__cxxabiv115__forced_unwindE R 32
|
||||
_ZTSN10__cxxabiv116__enum_type_infoE R 33
|
||||
_ZTSN10__cxxabiv117__class_type_infoE R 34
|
||||
_ZTSN10__cxxabiv117__pbase_type_infoE R 34
|
||||
_ZTSN10__cxxabiv119__foreign_exceptionE R 36
|
||||
_ZTSN10__cxxabiv119__pointer_type_infoE R 36
|
||||
_ZTSN10__cxxabiv120__function_type_infoE R 37
|
||||
_ZTSN10__cxxabiv120__si_class_type_infoE R 37
|
||||
_ZTSN10__cxxabiv121__vmi_class_type_infoE R 38
|
||||
_ZTSN10__cxxabiv123__fundamental_type_infoE R 40
|
||||
_ZTSN5Timer10ConnectionE R 21
|
||||
_ZTSN6Genode11Sliced_heapE R 23
|
||||
_ZTSN6Genode14Rpc_entrypointE R 26
|
||||
_ZTSN6Genode14Signal_contextE R 26
|
||||
_ZTSN6Genode17Region_map_clientE R 29
|
||||
_ZTSN6Genode17Rm_session_clientE R 29
|
||||
_ZTSN6Genode18Allocator_avl_baseE R 30
|
||||
_ZTSN6Genode23Alarm_timeout_schedulerE R 35
|
||||
_ZTSN6Genode4HeapE R 15
|
||||
_ZTSN6Genode4SlabE R 15
|
||||
_ZTSN6Genode5AlarmE R 16
|
||||
_ZTSN6Genode5Child14Initial_threadE R 32
|
||||
_ZTSN6Genode5ChildE R 16
|
||||
_ZTSN6Genode6OutputE R 17
|
||||
_ZTSN6Genode6ThreadE R 17
|
||||
_ZTSN6Genode7ConsoleE R 18
|
||||
_ZTSN6Genode7Timeout5AlarmE R 24
|
||||
_ZTSSt10bad_typeid R 15
|
||||
_ZTSSt13bad_exception R 18
|
||||
_ZTSSt16bad_array_length R 21
|
||||
_ZTSSt20bad_array_new_length R 25
|
||||
_ZTSSt8bad_cast R 12
|
||||
_ZTSSt9bad_alloc R 13
|
||||
_ZTSSt9exception R 13
|
||||
_ZTSSt9type_info R 13
|
||||
_ZTVN10__cxxabiv115__forced_unwindE D 40
|
||||
_ZTVN10__cxxabiv116__enum_type_infoE D 64
|
||||
_ZTVN10__cxxabiv117__class_type_infoE D 88
|
||||
_ZTVN10__cxxabiv117__pbase_type_infoE D 72
|
||||
_ZTVN10__cxxabiv119__foreign_exceptionE D 40
|
||||
_ZTVN10__cxxabiv119__pointer_type_infoE D 72
|
||||
_ZTVN10__cxxabiv120__function_type_infoE D 64
|
||||
_ZTVN10__cxxabiv120__si_class_type_infoE D 88
|
||||
_ZTVN10__cxxabiv121__vmi_class_type_infoE D 88
|
||||
_ZTVN10__cxxabiv123__fundamental_type_infoE D 64
|
||||
_ZTVN5Timer10ConnectionE D 320
|
||||
_ZTVN6Genode10Vm_sessionE D 56
|
||||
_ZTVN6Genode11Sliced_heapE D 72
|
||||
_ZTVN6Genode14Rpc_entrypointE D 80
|
||||
_ZTVN6Genode14Signal_contextE D 32
|
||||
_ZTVN6Genode17Region_map_clientE D 72
|
||||
_ZTVN6Genode17Rm_session_clientE D 48
|
||||
_ZTVN6Genode18Allocator_avl_baseE D 128
|
||||
_ZTVN6Genode23Alarm_timeout_schedulerE D 112
|
||||
_ZTVN6Genode4HeapE D 72
|
||||
_ZTVN6Genode4SlabE D 72
|
||||
_ZTVN6Genode5AlarmE D 40
|
||||
_ZTVN6Genode5Child14Initial_threadE D 48
|
||||
_ZTVN6Genode5ChildE D 440
|
||||
_ZTVN6Genode6OutputE D 48
|
||||
_ZTVN6Genode6ThreadE D 48
|
||||
_ZTVN6Genode7ConsoleE D 48
|
||||
_ZTVN6Genode7Timeout5AlarmE D 32
|
||||
_ZTVSt10bad_typeid D 40
|
||||
_ZTVSt13bad_exception D 40
|
||||
_ZTVSt16bad_array_length D 40
|
||||
_ZTVSt20bad_array_new_length D 40
|
||||
_ZTVSt8bad_cast D 40
|
||||
_ZTVSt9bad_alloc D 40
|
||||
_ZTVSt9exception D 40
|
||||
_ZTVSt9type_info D 64
|
||||
_ZThn236_N5Timer10Connection16schedule_timeoutEN6Genode12MicrosecondsERNS1_11Time_source15Timeout_handlerE T
|
||||
_ZThn236_N5Timer10Connection9curr_timeEv T
|
||||
_ZThn240_N5Timer10Connection18_schedule_one_shotERN6Genode7TimeoutENS1_12MicrosecondsE T
|
||||
_ZThn240_N5Timer10Connection18_schedule_periodicERN6Genode7TimeoutENS1_12MicrosecondsE T
|
||||
_ZThn240_N5Timer10Connection8_discardERN6Genode7TimeoutE T
|
||||
_ZThn240_N5Timer10Connection9curr_timeEv T
|
||||
_ZThn288_N5Timer10Connection16schedule_timeoutEN6Genode12MicrosecondsERNS1_11Time_source15Timeout_handlerE T
|
||||
_ZThn288_N5Timer10Connection9curr_timeEv T
|
||||
_ZThn296_N5Timer10Connection18_schedule_one_shotERN6Genode7TimeoutENS1_12MicrosecondsE T
|
||||
_ZThn296_N5Timer10Connection18_schedule_periodicERN6Genode7TimeoutENS1_12MicrosecondsE T
|
||||
_ZThn296_N5Timer10Connection8_discardERN6Genode7TimeoutE T
|
||||
_ZThn296_N5Timer10Connection9curr_timeEv T
|
||||
_ZThn4_N6Genode23Alarm_timeout_scheduler14handle_timeoutENS_8DurationE T
|
||||
_ZThn8_N6Genode23Alarm_timeout_scheduler14handle_timeoutENS_8DurationE T
|
||||
_ZThn8_N6Genode23Alarm_timeout_schedulerD0Ev T
|
||||
_ZThn8_N6Genode23Alarm_timeout_schedulerD1Ev T
|
||||
_ZdlPv W
|
||||
_ZdlPvPN6Genode11DeallocatorE T
|
||||
_ZdlPvPN6Genode9AllocatorE W
|
||||
_ZdlPvRN6Genode11DeallocatorE T
|
||||
_ZdlPvRN6Genode9AllocatorE W
|
||||
_ZdlPvm W
|
||||
_ZnajPN6Genode9AllocatorE T
|
||||
_ZnajRN6Genode9AllocatorE T
|
||||
_ZnamPN6Genode9AllocatorE T
|
||||
_ZnamRN6Genode9AllocatorE T
|
||||
_ZnwjPN6Genode9AllocatorE T
|
||||
_ZnwjRN6Genode9AllocatorE T
|
||||
_ZnwmPN6Genode9AllocatorE T
|
||||
_ZnwmRN6Genode9AllocatorE T
|
||||
__aeabi_atexit T
|
||||
__aeabi_unwind_cpp_pr0 T
|
||||
__aeabi_unwind_cpp_pr1 T
|
||||
__cxa_allocate_dependent_exception T
|
||||
__cxa_allocate_exception T
|
||||
__cxa_atexit T
|
||||
__cxa_bad_cast T
|
||||
__cxa_bad_typeid T
|
||||
__cxa_begin_catch T
|
||||
__cxa_begin_cleanup T
|
||||
__cxa_call_terminate T
|
||||
__cxa_call_unexpected T
|
||||
__cxa_current_exception_type T
|
||||
__cxa_demangle T
|
||||
__cxa_end_catch T
|
||||
__cxa_end_cleanup T
|
||||
__cxa_finalize T
|
||||
__cxa_free_dependent_exception T
|
||||
__cxa_free_exception T
|
||||
__cxa_get_exception_ptr T
|
||||
__cxa_get_globals T
|
||||
__cxa_get_globals_fast T
|
||||
__cxa_guard_abort T
|
||||
__cxa_guard_acquire T
|
||||
__cxa_guard_release T
|
||||
__cxa_pure_virtual T
|
||||
__cxa_rethrow T
|
||||
__cxa_throw T
|
||||
__cxa_throw_bad_array_length T
|
||||
__cxa_throw_bad_array_new_length T
|
||||
__cxa_type_match T
|
||||
__dynamic_cast T
|
||||
__emutls_get_address T
|
||||
__gxx_personality_v0 T
|
||||
__stack_chk_fail W
|
||||
__stack_chk_guard B 8
|
||||
dl_iterate_phdr T
|
||||
dl_unwind_find_exidx T
|
||||
genode_argc D 4
|
||||
genode_argv D 8
|
||||
genode_envp B 8
|
||||
longjmp W
|
||||
lx_environ B 8
|
||||
memcmp W
|
||||
memcpy W
|
||||
memmove W
|
||||
memset W
|
||||
setjmp W
|
||||
stdout_reconnect T
|
||||
strcmp W
|
||||
strlen W
|
||||
wait_for_continue T
|
@ -0,0 +1,298 @@
|
||||
compileStub() {
|
||||
sed \
|
||||
-e "s/^\(\w\+\) D \(\w\+\)\$/.data; .global \1; .type \1,%object; .size \1,\2; \1: .skip 1/" \
|
||||
-e "s/^\(\w\+\) V/.data; .weak \1; .type \1,%object; \1: .skip 1/" \
|
||||
-e "s/^\(\w\+\) T/.text; .global \1; .type \1,%function; \1:/" \
|
||||
-e "s/^\(\w\+\) R \(\w\+\)\$/.section .rodata; .global \1; .type \1,%object; .size \1,\2; \1:/" \
|
||||
-e "s/^\(\w\+\) W/.text; .weak \1; .type \1,%function; \1:/" \
|
||||
-e "s/^\(\w\+\) B \(\w\+\)\$/.bss; .global \1; .type \1,%object; .size \1,\2; \1:/" \
|
||||
-e "s/^\(\w\+\) U/.text; .global \1; movq \1@GOTPCREL(%rip), %rax/" \
|
||||
$1 > symbols.s
|
||||
|
||||
$CC -x assembler -c symbols.s -o tmp.o
|
||||
|
||||
$LD -o $2 \
|
||||
-shared \
|
||||
-T$genodeRelLd \
|
||||
tmp.o
|
||||
|
||||
rm tmp.o symbols.s
|
||||
}
|
||||
|
||||
compileLd() {
|
||||
sed \
|
||||
-e "s/^\(\w\+\) D \(\w\+\)\$/.data; .global \1; .type \1,%object; .size \1,\2; \1: .skip 1/" \
|
||||
-e "s/^\(\w\+\) V/.data; .weak \1; .type \1,%object; \1: .skip 1/" \
|
||||
-e "s/^\(\w\+\) T/.text; .global \1; .type \1,%function; \1:/" \
|
||||
-e "s/^\(\w\+\) R \(\w\+\)\$/.section .rodata; .global \1; .type \1,%object; .size \1,\2; \1:/" \
|
||||
-e "s/^\(\w\+\) W/.text; .weak \1; .type \1,%function; \1:/" \
|
||||
-e "s/^\(\w\+\) B \(\w\+\)\$/.bss; .global \1; .type \1,%object; .size \1,\2; \1:/" \
|
||||
-e "s/^\(\w\+\) U/.text; .global \1; movq \1@GOTPCREL(%rip), %rax/" \
|
||||
< $ldSymbols \
|
||||
> ld.symbols.s
|
||||
|
||||
$CXX ${cxxFlags} -c ld.symbols.s -o ld.symbols.o
|
||||
$LD -o $1 \
|
||||
-shared \
|
||||
--eh-frame-hdr \
|
||||
-z max-page-size=0x1000 \
|
||||
-T$linkerLd \
|
||||
-T$genodeRelLd \
|
||||
ld.symbols.o
|
||||
}
|
||||
|
||||
|
||||
# Add a prefix to the following arguments
|
||||
#
|
||||
addPrefix() {
|
||||
local prefix=$1
|
||||
local files=""
|
||||
|
||||
for (( i = 2; i <= $#; i++)); do
|
||||
files="$files $prefix${!i}"
|
||||
done
|
||||
echo -n $files
|
||||
}
|
||||
|
||||
#
|
||||
# Copy into dest the following arguments,
|
||||
# rooted at $includedir
|
||||
#
|
||||
copyIncludes() {
|
||||
local to=$1; shift
|
||||
local from=$1; shift
|
||||
|
||||
mkdir -p $to
|
||||
for i in $*; do
|
||||
cp $from/$i $to/
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# CPU-architecture-specific headers
|
||||
#
|
||||
# The 'common_include_*_content' functions take the CPU architecture as first
|
||||
# argument.
|
||||
#
|
||||
|
||||
common_include_libc_arch_content() {
|
||||
local content
|
||||
for i in stdarg.h float.h
|
||||
do content="$content sys/$1/include/$i"; done
|
||||
|
||||
for i in arith.h _fpmath.h SYS.h gd_qnan.h
|
||||
do content="$content lib/libc/$2/$i"; done
|
||||
|
||||
echo -n $content
|
||||
}
|
||||
|
||||
common_include_libc_arch_machine_content() {
|
||||
for i in \
|
||||
_types.h endian.h _limits.h signal.h trap.h _stdint.h \
|
||||
sysarch.h ieeefp.h frame.h vm.h \
|
||||
cpufunc.h vmparam.h atomic.h elf.h exec.h reloc.h pmap.h \
|
||||
ucontext.h setjmp.h asm.h param.h _inttypes.h _align.h float.h
|
||||
do echo sys/$1/include/$i; done
|
||||
}
|
||||
|
||||
rpcgen_() {
|
||||
rpcgen -C -h -DWANT_NFS3 $1 -o $2
|
||||
}
|
||||
|
||||
|
||||
installPhase() {
|
||||
mkdir -p $includedir/machine
|
||||
|
||||
#
|
||||
# CPU-architecture-specific headers
|
||||
#
|
||||
|
||||
#
|
||||
# x86-specific headers
|
||||
#
|
||||
if [ -n "${isx86:-}" ]; then
|
||||
cp lib/msun/x86/fenv.h $includedir
|
||||
cp -r sys/x86/include $includedir/x86
|
||||
fi
|
||||
|
||||
#
|
||||
# i386-specific headers
|
||||
#
|
||||
if [ -n "${isx86_32:-}" ]; then
|
||||
cp \
|
||||
$(common_include_libc_arch_content i386 i386) \
|
||||
$includedir
|
||||
|
||||
cp \
|
||||
$(common_include_libc_arch_machine_content i386) \
|
||||
sys/i386/include/specialreg.h \
|
||||
sys/i386/include/npx.h \
|
||||
$includedir/machine
|
||||
fi
|
||||
|
||||
#
|
||||
# AMD64-specific headers
|
||||
#
|
||||
if [ -n "${isx86_64:-}" ]; then
|
||||
cp \
|
||||
$(common_include_libc_arch_content amd64 amd64) \
|
||||
$includedir
|
||||
|
||||
cp \
|
||||
$(common_include_libc_arch_machine_content amd64) \
|
||||
sys/amd64/include/specialreg.h \
|
||||
sys/amd64/include/fpu.h \
|
||||
$includedir/machine
|
||||
fi
|
||||
|
||||
#
|
||||
# ARM-specific headers
|
||||
#
|
||||
if [ -n "${isAarch32:-}" ]; then
|
||||
cp \
|
||||
$(common_include_libc_arch_content arm arm) \
|
||||
lib/msun/arm/fenv.h \
|
||||
$includedir
|
||||
|
||||
cp \
|
||||
$(common_include_libc_arch_machine_content arm) \
|
||||
$includedir/machine
|
||||
|
||||
copyIncludes $includedir/machine sys/arm/include \
|
||||
armreg.h atomic-v6.h ieee.h sysreg.h
|
||||
fi
|
||||
|
||||
#
|
||||
# ARM64-specific headers
|
||||
#
|
||||
if [ -n "${isAarch32:-}" ]; then
|
||||
cp \
|
||||
$(common_include_libc_arch_content arm64 aarch64) \
|
||||
lib/msun/aarch64/fenv.h \
|
||||
$includedir
|
||||
|
||||
cp \
|
||||
$(common_include_libc_arch_machine_content arm64) \
|
||||
$includedir/machine
|
||||
|
||||
copyIncludes $includedir/machine sys/arm64/include/ \
|
||||
armreg.h
|
||||
fi
|
||||
|
||||
|
||||
##############################################################
|
||||
|
||||
flex -P_nsyy -t lib/libc/net/nslexer.l \
|
||||
| sed -e '/YY_BUF_SIZE/s/16384/1024/' \
|
||||
> lib/libc/net/nslexer.c
|
||||
|
||||
bison -d -p_nsyy lib/libc/net/nsparser.y \
|
||||
--defines=lib/libc/net/nsparser.h \
|
||||
--output=lib/libc/net/nsparser.c
|
||||
|
||||
local generated_files="include/rpc/rpcb_prot.h"
|
||||
for h in \
|
||||
bootparam_prot.h nfs_prot.h nlm_prot.h rstat.h ypupdate_prot.h \
|
||||
crypt.h nis_cache.h pmap_prot.h rwall.h yp.h \
|
||||
key_prot.h nis_callback.h rex.h sm_inter.h ypxfrd.h \
|
||||
klm_prot.h nis_object.h rnusers.h spray.h \
|
||||
mount.h nis.h rquota.h yppasswd.h
|
||||
do generated_files="$generated_files include/rpcsvc/$h"; done
|
||||
|
||||
for file in $generated_files; do
|
||||
rpcgen -C -h -DWANT_NFS3 ${file%h}x -o $file
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Generic headers
|
||||
#
|
||||
copyIncludes $includedir include \
|
||||
strings.h limits.h string.h ctype.h _ctype.h \
|
||||
stdlib.h stdio.h signal.h unistd.h wchar.h time.h sysexits.h \
|
||||
resolv.h wctype.h locale.h langinfo.h regex.h paths.h ieeefp.h \
|
||||
inttypes.h fstab.h netdb.h ar.h memory.h res_update.h \
|
||||
netconfig.h ifaddrs.h pthread.h err.h getopt.h search.h \
|
||||
varargs.h stddef.h stdbool.h assert.h monetary.h printf.h \
|
||||
libgen.h dirent.h dlfcn.h link.h fmtmsg.h fnmatch.h fts.h ftw.h \
|
||||
db.h grp.h nsswitch.h pthread_np.h pwd.h ttyent.h \
|
||||
stringlist.h glob.h a.out.h elf-hints.h nlist.h spawn.h \
|
||||
readpassphrase.h setjmp.h elf.h ulimit.h utime.h wordexp.h \
|
||||
complex.h semaphore.h uchar.h iconv.h termios.h \
|
||||
xlocale.h runetype.h \
|
||||
|
||||
copyIncludes $includedir sys/sys \
|
||||
syslog.h fcntl.h stdint.h sched.h ktrace.h _semaphore.h ucontext.h errno.h
|
||||
|
||||
cp lib/msun/src/math.h $includedir
|
||||
cp contrib/libc-vis/vis.h $includedir
|
||||
|
||||
copyIncludes $includedir/rpc include/rpc \
|
||||
rpc.h xdr.h auth.h clnt_stat.h clnt.h clnt_soc.h rpc_msg.h \
|
||||
auth_unix.h auth_des.h svc.h svc_soc.h svc_auth.h pmap_clnt.h \
|
||||
pmap_prot.h rpcb_clnt.h rpcent.h des_crypt.h des.h nettype.h \
|
||||
rpcsec_gss.h raw.h rpc_com.h
|
||||
|
||||
cp sys/rpc/rpcb_prot.h $includedir/rpc
|
||||
|
||||
copyIncludes $includedir/rpcsvc include/rpcsvc \
|
||||
yp_prot.h ypclnt.h nis_tags.h nislib.h
|
||||
|
||||
rpcgen_ include/rpcsvc/nis.x $includedir/rpcsvc/nis.h
|
||||
rpcgen_ include/rpcsvc/crypt.x $includedir/rpcsvc/crypt.h
|
||||
|
||||
mkdir $includedir/gssapi
|
||||
cp include/gssapi/gssapi.h $includedir/gssapi
|
||||
|
||||
copyIncludes $includedir/arpa include/arpa \
|
||||
inet.h ftp.h nameser.h nameser_compat.h telnet.h tftp.h
|
||||
|
||||
copyIncludes $includedir/vm sys/vm vm_param.h vm.h pmap.h
|
||||
|
||||
copyIncludes $includedir/net sys/net \
|
||||
if.h if_dl.h if_tun.h if_types.h radix.h route.h
|
||||
|
||||
copyIncludes $includedir/netinet sys/netinet \
|
||||
in.h in_systm.h ip.h tcp.h
|
||||
|
||||
mkdir -p $includedir/netinet6
|
||||
cp sys/netinet6/in6.h $includedir/netinet6
|
||||
|
||||
mkdir -p $includedir/bsm
|
||||
cp sys/bsm/audit.h $includedir/bsm
|
||||
|
||||
copyIncludes $includedir/sys sys/sys \
|
||||
_types.h limits.h cdefs.h _null.h types.h _pthreadtypes.h \
|
||||
syslimits.h select.h _sigset.h _timeval.h timespec.h \
|
||||
_timespec.h stat.h signal.h unistd.h time.h param.h stdint.h \
|
||||
event.h eventhandler.h disk.h errno.h poll.h queue.h mman.h \
|
||||
stddef.h sysctl.h uio.h _iovec.h ktrace.h ioctl.h ttycom.h \
|
||||
ioccom.h filio.h sockio.h wait.h file.h fcntl.h resource.h \
|
||||
disklabel.h link_elf.h endian.h mount.h ucred.h dirent.h \
|
||||
cpuset.h socket.h un.h ttydefaults.h imgact_aout.h elf32.h \
|
||||
elf64.h elf_generic.h elf_common.h nlist_aout.h ipc.h sem.h \
|
||||
exec.h _lock.h _mutex.h statvfs.h ucontext.h syslog.h times.h \
|
||||
utsname.h elf.h mtio.h _stdint.h atomic_common.h _ucontext.h \
|
||||
_cpuset.h _bitset.h bitset.h _stdarg.h _uio.h auxv.h random.h \
|
||||
_sockaddr_storage.h termios.h _termios.h _umtx.h kerneldump.h \
|
||||
conf.h disk_zone.h counter.h time.h \
|
||||
|
||||
mkdir $includedir/sys/rpc
|
||||
cp sys/rpc/types.h $includedir/sys/rpc
|
||||
|
||||
cp -r include/xlocale $includedir/
|
||||
|
||||
ln -s sys/poll.h $includedir/poll.h
|
||||
|
||||
rm -r include # Don't need this anymore
|
||||
|
||||
cp -r $genodeHeaders/include/* $includedir/
|
||||
|
||||
compileStub $libcSymbols $out/lib/libc.lib.so
|
||||
compileStub $vfsSymbols $out/lib/vfs.lib.so
|
||||
compileLd $out/lib/ld.lib.so
|
||||
}
|
||||
|
||||
|
||||
genericBuild
|
@ -0,0 +1,8 @@
|
||||
Name: libc
|
||||
Description: Genode C runtime library
|
||||
URL: https://genode.org/
|
||||
Version: @version@
|
||||
Requires: genode-libports
|
||||
Requires.private: vfs
|
||||
Cflags: -D__FreeBSD__=12 -D__GENODE__ -fno-builtin-sin -fno-builtin-cos -fno-builtin-sinf -fno-builtin-cosf -I@includedir@
|
||||
Libs: -l:libc.lib.so
|
File diff suppressed because it is too large
Load Diff