diff --git a/src/signal/src/lib.rs b/src/signal/src/lib.rs
index a59a136932ae1e4bd2c9821283643add09bd0ecf..7195c5ff1a6494868efd1412a67e74fcfa21452f 100644
--- a/src/signal/src/lib.rs
+++ b/src/signal/src/lib.rs
@@ -12,9 +12,9 @@ pub mod sys;
 #[path = "redox.rs"]
 pub mod sys;
 
-#[no_mangle] pub static SIG_BLOCK: c_int = 0;
-#[no_mangle] pub static SIG_UNBLOCK: c_int = 1;
-#[no_mangle] pub static SIG_SETMASK: c_int = 2;
+pub const SIG_BLOCK:   c_int = 0;
+pub const SIG_UNBLOCK: c_int = 1;
+pub const SIG_SETMASK: c_int = 2;
 
 pub use sys::*;
 
diff --git a/src/signal/src/linux.rs b/src/signal/src/linux.rs
index d5ebf092132b543e2cbc282838f7432482f80d9a..628e81339038ddd8b29deba55c59664224f86db1 100644
--- a/src/signal/src/linux.rs
+++ b/src/signal/src/linux.rs
@@ -3,46 +3,46 @@ pub struct sys_sigset_t {
     pub bits: [u64; 16],
 }
 
-#[no_mangle] pub static SIGHUP: usize = 1;
-#[no_mangle] pub static SIGINT: usize = 2;
-#[no_mangle] pub static SIGQUIT: usize = 3;
-#[no_mangle] pub static SIGILL: usize = 4;
-#[no_mangle] pub static SIGTRAP: usize = 5;
-#[no_mangle] pub static SIGABRT: usize = 6;
-#[no_mangle] pub static SIGIOT: usize = 6;
-#[no_mangle] pub static SIGBUS: usize = 7;
-#[no_mangle] pub static SIGFPE: usize = 8;
-#[no_mangle] pub static SIGKILL: usize = 9;
-#[no_mangle] pub static SIGUSR1: usize = 10;
-#[no_mangle] pub static SIGSEGV: usize = 11;
-#[no_mangle] pub static SIGUSR2: usize = 12;
-#[no_mangle] pub static SIGPIPE: usize = 13;
-#[no_mangle] pub static SIGALRM: usize = 14;
-#[no_mangle] pub static SIGTERM: usize = 15;
-#[no_mangle] pub static SIGSTKFLT: usize = 16;
-#[no_mangle] pub static SIGCHLD: usize = 17;
-#[no_mangle] pub static SIGCONT: usize = 18;
-#[no_mangle] pub static SIGSTOP: usize = 19;
-#[no_mangle] pub static SIGTSTP: usize = 20;
-#[no_mangle] pub static SIGTTIN: usize = 21;
-#[no_mangle] pub static SIGTTOU: usize = 22;
-#[no_mangle] pub static SIGURG: usize = 23;
-#[no_mangle] pub static SIGXCPU: usize = 24;
-#[no_mangle] pub static SIGXFSZ: usize = 25;
-#[no_mangle] pub static SIGVTALRM: usize = 26;
-#[no_mangle] pub static SIGPROF: usize = 27;
-#[no_mangle] pub static SIGWINCH: usize = 28;
-#[no_mangle] pub static SIGIO: usize = 29;
-#[no_mangle] pub static SIGPOLL: usize = 29;
-#[no_mangle] pub static SIGPWR: usize = 30;
-#[no_mangle] pub static SIGSYS: usize = 31;
-#[no_mangle] pub static SIGUNUSED: usize = 31;
+pub const SIGHUP: usize = 1;
+pub const SIGINT: usize = 2;
+pub const SIGQUIT: usize = 3;
+pub const SIGILL: usize = 4;
+pub const SIGTRAP: usize = 5;
+pub const SIGABRT: usize = 6;
+pub const SIGIOT: usize = SIGABRT;
+pub const SIGBUS: usize = 7;
+pub const SIGFPE: usize = 8;
+pub const SIGKILL: usize = 9;
+pub const SIGUSR1: usize = 10;
+pub const SIGSEGV: usize = 11;
+pub const SIGUSR2: usize = 12;
+pub const SIGPIPE: usize = 13;
+pub const SIGALRM: usize = 14;
+pub const SIGTERM: usize = 15;
+pub const SIGSTKFLT: usize = 16;
+pub const SIGCHLD: usize = 17;
+pub const SIGCONT: usize = 18;
+pub const SIGSTOP: usize = 19;
+pub const SIGTSTP: usize = 20;
+pub const SIGTTIN: usize = 21;
+pub const SIGTTOU: usize = 22;
+pub const SIGURG: usize = 23;
+pub const SIGXCPU: usize = 24;
+pub const SIGXFSZ: usize = 25;
+pub const SIGVTALRM: usize = 26;
+pub const SIGPROF: usize = 27;
+pub const SIGWINCH: usize = 28;
+pub const SIGIO: usize = 29;
+pub const SIGPOLL: usize = 29;
+pub const SIGPWR: usize = 30;
+pub const SIGSYS: usize = 31;
+pub const SIGUNUSED: usize = SIGSYS;
 
-#[no_mangle] pub static SA_NOCLDSTOP: usize = 1;
-#[no_mangle] pub static SA_NOCLDWAIT: usize = 2;
-#[no_mangle] pub static SA_SIGINFO: usize = 4;
-#[no_mangle] pub static SA_ONSTACK: usize = 0x08000000;
-#[no_mangle] pub static SA_RESTART: usize = 0x10000000;
-#[no_mangle] pub static SA_NODEFER: usize = 0x40000000;
-#[no_mangle] pub static SA_RESETHAND: usize = 0x80000000;
-#[no_mangle] pub static SA_RESTORER: usize = 0x04000000;
+pub const SA_NOCLDSTOP: usize = 1;
+pub const SA_NOCLDWAIT: usize = 2;
+pub const SA_SIGINFO: usize = 4;
+pub const SA_ONSTACK: usize = 0x08000000;
+pub const SA_RESTART: usize = 0x10000000;
+pub const SA_NODEFER: usize = 0x40000000;
+pub const SA_RESETHAND: usize = 0x80000000;
+pub const SA_RESTORER: usize = 0x04000000;
diff --git a/src/signal/src/redox.rs b/src/signal/src/redox.rs
index 6abede5ff4b26ce1d111ddb5b55dfe784367541f..b5108b5a62a249a9e8ace1a4b4100c87728b59ce 100644
--- a/src/signal/src/redox.rs
+++ b/src/signal/src/redox.rs
@@ -3,42 +3,42 @@ pub struct sys_sigset_t {
     pub bits: [u64; 2],
 }
 
-#[no_mangle] pub static SIGHUP: usize = 1;
-#[no_mangle] pub static SIGINT: usize = 2;
-#[no_mangle] pub static SIGQUIT: usize = 3;
-#[no_mangle] pub static SIGILL: usize = 4;
-#[no_mangle] pub static SIGTRAP: usize = 5;
-#[no_mangle] pub static SIGBUS: usize = 7;
-#[no_mangle] pub static SIGFPE: usize = 8;
-#[no_mangle] pub static SIGKILL: usize = 9;
-#[no_mangle] pub static SIGUSR1: usize = 10;
-#[no_mangle] pub static SIGSEGV: usize = 11;
-#[no_mangle] pub static SIGUSR2: usize = 12;
-#[no_mangle] pub static SIGPIPE: usize = 13;
-#[no_mangle] pub static SIGALRM: usize = 14;
-#[no_mangle] pub static SIGTERM: usize = 15;
-#[no_mangle] pub static SIGSTKFLT: usize = 16;
-#[no_mangle] pub static SIGCHLD: usize = 17;
-#[no_mangle] pub static SIGCONT: usize = 18;
-#[no_mangle] pub static SIGSTOP: usize = 19;
-#[no_mangle] pub static SIGTSTP: usize = 20;
-#[no_mangle] pub static SIGTTIN: usize = 21;
-#[no_mangle] pub static SIGTTOU: usize = 22;
-#[no_mangle] pub static SIGURG: usize = 23;
-#[no_mangle] pub static SIGXCPU: usize = 24;
-#[no_mangle] pub static SIGXFSZ: usize = 25;
-#[no_mangle] pub static SIGVTALRM: usize = 26;
-#[no_mangle] pub static SIGPROF: usize = 27;
-#[no_mangle] pub static SIGWINCH: usize = 28;
-#[no_mangle] pub static SIGIO: usize = 29;
-#[no_mangle] pub static SIGPWR: usize = 30;
-#[no_mangle] pub static SIGSYS: usize = 31;
+pub const SIGHUP: usize = 1;
+pub const SIGINT: usize = 2;
+pub const SIGQUIT: usize = 3;
+pub const SIGILL: usize = 4;
+pub const SIGTRAP: usize = 5;
+pub const SIGBUS: usize = 7;
+pub const SIGFPE: usize = 8;
+pub const SIGKILL: usize = 9;
+pub const SIGUSR1: usize = 10;
+pub const SIGSEGV: usize = 11;
+pub const SIGUSR2: usize = 12;
+pub const SIGPIPE: usize = 13;
+pub const SIGALRM: usize = 14;
+pub const SIGTERM: usize = 15;
+pub const SIGSTKFLT: usize = 16;
+pub const SIGCHLD: usize = 17;
+pub const SIGCONT: usize = 18;
+pub const SIGSTOP: usize = 19;
+pub const SIGTSTP: usize = 20;
+pub const SIGTTIN: usize = 21;
+pub const SIGTTOU: usize = 22;
+pub const SIGURG: usize = 23;
+pub const SIGXCPU: usize = 24;
+pub const SIGXFSZ: usize = 25;
+pub const SIGVTALRM: usize = 26;
+pub const SIGPROF: usize = 27;
+pub const SIGWINCH: usize = 28;
+pub const SIGIO: usize = 29;
+pub const SIGPWR: usize = 30;
+pub const SIGSYS: usize = 31;
 
-#[no_mangle] pub static SA_NOCLDSTOP: usize = 0x00000001;
-#[no_mangle] pub static SA_NOCLDWAIT: usize = 0x00000002;
-#[no_mangle] pub static SA_SIGINFO: usize = 0x00000004;
-#[no_mangle] pub static SA_RESTORER: usize = 0x04000000;
-#[no_mangle] pub static SA_ONSTACK: usize = 0x08000000;
-#[no_mangle] pub static SA_RESTART: usize = 0x10000000;
-#[no_mangle] pub static SA_NODEFER: usize = 0x40000000;
-#[no_mangle] pub static SA_RESETHAND: usize = 0x80000000;
+pub const SA_NOCLDSTOP: usize = 0x00000001;
+pub const SA_NOCLDWAIT: usize = 0x00000002;
+pub const SA_SIGINFO: usize = 0x00000004;
+pub const SA_RESTORER: usize = 0x04000000;
+pub const SA_ONSTACK: usize = 0x08000000;
+pub const SA_RESTART: usize = 0x10000000;
+pub const SA_NODEFER: usize = 0x40000000;
+pub const SA_RESETHAND: usize = 0x80000000;