Update Genode to 20.02 release
This commit is contained in:
parent
52fe694be4
commit
57d8d01e42
|
@ -1,6 +1,6 @@
|
||||||
{ nixpkgs, apps }:
|
{ nixpkgs, apps }:
|
||||||
|
|
||||||
{ name, targets, arch, kernel ? "hw", board ? "pc", patches ? [], ... }@extraAttrs:
|
{ name, targets, arch, kernel ? "hw", board ? "pc", ... }@extraAttrs:
|
||||||
let
|
let
|
||||||
sourceForgeToolchain =
|
sourceForgeToolchain =
|
||||||
nixpkgs.buildPackages.callPackage ./../genode/toolchain.nix { };
|
nixpkgs.buildPackages.callPackage ./../genode/toolchain.nix { };
|
||||||
|
@ -8,7 +8,7 @@ let
|
||||||
stdenvGcc = let
|
stdenvGcc = let
|
||||||
env = nixpkgs.stdenvAdapters.overrideCC nixpkgs.stdenv sourceForgeToolchain;
|
env = nixpkgs.stdenvAdapters.overrideCC nixpkgs.stdenv sourceForgeToolchain;
|
||||||
in assert env.cc.isGNU; env;
|
in assert env.cc.isGNU; env;
|
||||||
version = "19.11";
|
version = "20.02";
|
||||||
toolPrefix = if arch == "x86_64" then
|
toolPrefix = if arch == "x86_64" then
|
||||||
"genode-x86-"
|
"genode-x86-"
|
||||||
else
|
else
|
||||||
|
@ -21,11 +21,9 @@ in stdenvGcc.mkDerivation ({
|
||||||
owner = "genodelabs";
|
owner = "genodelabs";
|
||||||
repo = "genode";
|
repo = "genode";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0j0wfwqmv8mivfkpra1pb02a8dy1nnsakr3v6l5y964dfkq3737i";
|
sha256 = "0idk92ibrasla0y2xkrmyh49dx0nzg96gqkcmn6r3w5r3fdpsfjy";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./unlabeled-log.patch ] ++ patches;
|
|
||||||
|
|
||||||
nativeBuildInputs = with nixpkgs.buildPackages; [ binutils tcl which ];
|
nativeBuildInputs = with nixpkgs.buildPackages; [ binutils tcl which ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -1,86 +0,0 @@
|
||||||
diff --git a/repos/base/src/core/include/log_root.h b/repos/base/src/core/include/log_root.h
|
|
||||||
index db98ebfc5b..085c6053f9 100644
|
|
||||||
--- a/repos/base/src/core/include/log_root.h
|
|
||||||
+++ b/repos/base/src/core/include/log_root.h
|
|
||||||
@@ -30,12 +30,7 @@ namespace Genode {
|
|
||||||
*/
|
|
||||||
Log_session_component *_create_session(const char *args) override
|
|
||||||
{
|
|
||||||
- char label_buf[Log_session_component::LABEL_LEN];
|
|
||||||
-
|
|
||||||
- Arg label_arg = Arg_string::find_arg(args, "label");
|
|
||||||
- label_arg.string(label_buf, sizeof(label_buf), "");
|
|
||||||
-
|
|
||||||
- return new (md_alloc()) Log_session_component(label_buf);
|
|
||||||
+ return new (md_alloc()) Log_session_component(label_from_args(args));
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
|
||||||
diff --git a/repos/base/src/core/include/log_session_component.h b/repos/base/src/core/include/log_session_component.h
|
|
||||||
index 7b6ddab815..29bda822cc 100644
|
|
||||||
--- a/repos/base/src/core/include/log_session_component.h
|
|
||||||
+++ b/repos/base/src/core/include/log_session_component.h
|
|
||||||
@@ -17,27 +17,32 @@
|
|
||||||
#include <util/string.h>
|
|
||||||
#include <base/log.h>
|
|
||||||
#include <base/rpc_server.h>
|
|
||||||
+#include <base/session_label.h>
|
|
||||||
#include <log_session/log_session.h>
|
|
||||||
|
|
||||||
namespace Genode {
|
|
||||||
|
|
||||||
class Log_session_component : public Rpc_object<Log_session>
|
|
||||||
{
|
|
||||||
- public:
|
|
||||||
-
|
|
||||||
- enum { LABEL_LEN = 128 };
|
|
||||||
-
|
|
||||||
private:
|
|
||||||
|
|
||||||
- char _label[LABEL_LEN];
|
|
||||||
+ Session_label const _label;
|
|
||||||
+
|
|
||||||
+ static Session_label _expand_label(Session_label const &label)
|
|
||||||
+ {
|
|
||||||
+ if (label == "init -> unlabeled")
|
|
||||||
+ return "";
|
|
||||||
+ else
|
|
||||||
+ return Session_label("[", label, "] ");
|
|
||||||
+ }
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
- Log_session_component(const char *label) {
|
|
||||||
- strncpy(_label, label, sizeof(_label)); }
|
|
||||||
+ Log_session_component(Session_label const &label)
|
|
||||||
+ : _label(_expand_label(label)) { }
|
|
||||||
|
|
||||||
|
|
||||||
/*****************
|
|
||||||
@@ -54,21 +59,17 @@ namespace Genode {
|
|
||||||
char const *string = string_buf.string();
|
|
||||||
size_t len = strlen(string);
|
|
||||||
|
|
||||||
- char buf[string_buf.MAX_SIZE];
|
|
||||||
unsigned from_i = 0;
|
|
||||||
-
|
|
||||||
for (unsigned i = 0; i < len; i++) {
|
|
||||||
if (string[i] == '\n') {
|
|
||||||
- memcpy(buf, string + from_i, i - from_i);
|
|
||||||
- buf[i - from_i] = 0;
|
|
||||||
- log("[", Cstring(_label), "] ", Cstring(buf));
|
|
||||||
+ log(_label, Cstring(string + from_i, i - from_i));
|
|
||||||
from_i = i + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* if last character of string was not a line break, add one */
|
|
||||||
if (from_i < len)
|
|
||||||
- log("[", Cstring(_label), "] ", Cstring(string + from_i));
|
|
||||||
+ log(_label, Cstring(string + from_i));
|
|
||||||
|
|
||||||
return len;
|
|
||||||
}
|
|
Loading…
Reference in New Issue