setup.py: add "wget" as a requirement for Fedora

Add "wget" as another requirement for Fedora (we probably need it
for other distros as well), as the vast majority of the modules in
apps/ require it.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Tracedump: Add public library symbols (exports) to dump symbol table

Demangle and append each library func/data export to the dump. Gives
slightly better backtraces in trace dumps.

Reviewed-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Calle Wilund <calle@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
scripts/setup.py: Add 'unzip' to prerequisites

LuaRocks needs 'unzip' so add it to prerequisites in an attempt to fix
Jenkins build.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
doxygen: add include strip path

Tell doxygen to show include/osv/clock.hh as <osv/clock.hh>.
So for example, osv::clock::uptime will be shown as requiring
a #include <osv/clock.hh>. Without this patch, only the last
component of the header's name would be shown, i.e.,

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
demangle: add a "demangler" class

Add a third variant demangler interface, this one designed to be called
in a loop avoiding an allocation for each demangling - and instead just
growing the same buffer only when needed. This API was written by Calle.

This patch also adds full Doxygen documentation to all three demangling
variants.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
sched: allow sched::thread::sleep() in a shared object

Fix sched::thread:sleep(duration) so that the wait_until() part is
not in an inline function, so it can be used in a shared object
without crashes on lazy symbol resolution or page faults during
preemption disabled.

Fixes #499.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Http Server: No need to search for question mark in the path

This code was left from the time the routes did the parameter splitting.
Now the path parameters is return without query parameters and after url
decode.

At this stage question mark can be part of the path and is not an
indication of the query parameters start.

Reviewed-by: Tomasz Grabiec <tgrabiec@gmail.com>
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
setup.py: add ncurses for the CLI

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>