Patch libc for tox
This commit is contained in:
parent
e61da7f91b
commit
fd045d85e5
|
@ -107,6 +107,9 @@ in depotPkgs // {
|
||||||
|
|
||||||
nic_bus = callPackage ./nic_bus { };
|
nic_bus = callPackage ./nic_bus { };
|
||||||
|
|
||||||
|
libc-raise = depotPkgs.libc.overrideAttrs
|
||||||
|
(attrs: { patches = attrs.patches ++ [ ./genodelabs/libc-raise.patch ]; });
|
||||||
|
|
||||||
NOVA = callPackage ./NOVA { };
|
NOVA = callPackage ./NOVA { };
|
||||||
|
|
||||||
rtc-dummy = callPackage ./rtc-dummy { };
|
rtc-dummy = callPackage ./rtc-dummy { };
|
||||||
|
|
43
packages/genodelabs/libc-raise.patch
Normal file
43
packages/genodelabs/libc-raise.patch
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
commit d927e6fa1e990685dd353bd3f526924fdcc179b8
|
||||||
|
Author: Emery Hemingway <ehmry@posteo.net>
|
||||||
|
Date: Tue Oct 20 16:50:49 2020 +0200
|
||||||
|
|
||||||
|
libc: exit for raise(SIGQUIT/SIGABRT/SIGKILL)
|
||||||
|
|
||||||
|
diff --git a/repos/libports/src/lib/libc/dummies.cc b/repos/libports/src/lib/libc/dummies.cc
|
||||||
|
index 91a5ed34a8..b01d95f717 100644
|
||||||
|
--- a/repos/libports/src/lib/libc/dummies.cc
|
||||||
|
+++ b/repos/libports/src/lib/libc/dummies.cc
|
||||||
|
@@ -123,7 +123,6 @@ DUMMY(void *, 0, ___mtctxres, (void))
|
||||||
|
DUMMY(void *, 0, __nsdefaultsrc, (void))
|
||||||
|
DUMMY(int , -1, _nsdispatch, (void))
|
||||||
|
DUMMY(long , -1, pathconf, (const char *, int))
|
||||||
|
-DUMMY(int , -1, raise, (int))
|
||||||
|
DUMMY(int , -1, rmdir, (const char *))
|
||||||
|
DUMMY(void *, 0, sbrk, (intptr_t))
|
||||||
|
DUMMY(int , -1, sched_setparam, (pid_t, const sched_param *))
|
||||||
|
diff --git a/repos/libports/src/lib/libc/signal.cc b/repos/libports/src/lib/libc/signal.cc
|
||||||
|
index dc9af2d443..a08854a8c0 100644
|
||||||
|
--- a/repos/libports/src/lib/libc/signal.cc
|
||||||
|
+++ b/repos/libports/src/lib/libc/signal.cc
|
||||||
|
@@ -199,3 +199,20 @@ extern "C" int waitid(idtype_t idtype, id_t id, siginfo_t *info, int flags)
|
||||||
|
ret = 0;
|
||||||
|
return (ret);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+extern "C" int raise(int sig)
|
||||||
|
+{
|
||||||
|
+ char const *signame = sys_signame[sig];
|
||||||
|
+
|
||||||
|
+ switch(sig) {
|
||||||
|
+ case SIGQUIT:
|
||||||
|
+ case SIGABRT:
|
||||||
|
+ case SIGKILL:
|
||||||
|
+ error(__func__, "(", signame, ")");
|
||||||
|
+ exit(-1);
|
||||||
|
+ default:
|
||||||
|
+ warning(__func__, "(", signame, ") not implemented");
|
||||||
|
+ return Libc::Errno(EINVAL);
|
||||||
|
+ };
|
||||||
|
+}
|
|
@ -8,7 +8,7 @@
|
||||||
inputs = (with pkgs; [
|
inputs = (with pkgs; [
|
||||||
acpi_drv
|
acpi_drv
|
||||||
ipxe_nic_drv
|
ipxe_nic_drv
|
||||||
libc
|
libc-raise
|
||||||
platform_drv
|
platform_drv
|
||||||
posix
|
posix
|
||||||
report_rom
|
report_rom
|
||||||
|
|
Loading…
Reference in New Issue
Block a user