/*
 * Symbols exported by the ld.lib.so
 */
{
	global:

		/* We export all C++ symbols with prefix Genode::, as well as all vtables,
		 * type informations and operators new and delete
		 */
		extern "C++" {
			Genode::*;
			*typeinfo*;
			vtable*;
			init_exception_handling*;
			operator*new*;
			operator*delete*;
		};
		__dynamic_cast;

		/*
		 * Standard dl interface
		 */
		dlclose;
		dlerror;
		dlopen;
		dlsym;
		dlvsym;
		dladdr;
		dllockinit;
		dlinfo;
		dl_iterate_phdr;

		/*
		 * Debugging
		 */
		wait_for_continue;
		stdout_write;
		stdout_reconnect;
		raw_write_str;

		/* Testing */
		extern "C++" {
			__ldso_raise_exception*;
		};

		/*
		 * Exceptions symbols
		 */

		/* GNU verbose terminate handler */
		extern "C++" { __gnu_cxx::__verbose_terminate_handler*; };

		/* x86 */
		__cxa*;
		_Unwind_Resume;
		__gxx_personality_v0;

		/* ARM */
		__aeabi_*;
		dl_unwind_find_exidx;

		/*
		 * Kernel specific symbols
		 */

		/* Fiasco.OC */
		l4_utcb_wrap;
		__l4_sys_direct_sycalls;
		l4_atomic_cmpxchg;

		/* Nova */
		__main_thread_utcb;
		__first_free_cap_selector;
		__local_pd_sel;

		extern "C++" {
			main_thread_utcb*;
		};

	local:

		/*
		 * Everything else is local
		 */
		*;
};
