1
Fork 0

use correct size for logging mod_entry state fields

The compiler outputs 32-bit values for these and on 64-bit FreeBSD
the runtime was scribbling on some state used by getenv and segfaulting.
This commit is contained in:
Jyun-Yan You 2012-01-15 03:47:29 +08:00 committed by Brian Anderson
parent 79d7388455
commit e4d553c534
2 changed files with 27 additions and 27 deletions

View file

@ -143,7 +143,7 @@ rust_log::trace_ln(rust_task *task, uint32_t level, char *message) {
struct mod_entry {
const char* name;
size_t* state;
uint32_t* state;
};
struct cratemap {
@ -232,19 +232,19 @@ void print_crate_log_map(const cratemap* map) {
// These are pseudo-modules used to control logging in the runtime.
size_t log_rt_mem;
size_t log_rt_comm;
size_t log_rt_task;
size_t log_rt_dom;
size_t log_rt_trace;
size_t log_rt_cache;
size_t log_rt_upcall;
size_t log_rt_timer;
size_t log_rt_gc;
size_t log_rt_stdlib;
size_t log_rt_kern;
size_t log_rt_backtrace;
size_t log_rt_callback;
uint32_t log_rt_mem;
uint32_t log_rt_comm;
uint32_t log_rt_task;
uint32_t log_rt_dom;
uint32_t log_rt_trace;
uint32_t log_rt_cache;
uint32_t log_rt_upcall;
uint32_t log_rt_timer;
uint32_t log_rt_gc;
uint32_t log_rt_stdlib;
uint32_t log_rt_kern;
uint32_t log_rt_backtrace;
uint32_t log_rt_callback;
static const mod_entry _rt_module_map[] =
{{"::rt::mem", &log_rt_mem},

View file

@ -56,18 +56,18 @@ private:
void update_log_settings(void* crate_map, char* settings);
extern size_t log_rt_mem;
extern size_t log_rt_comm;
extern size_t log_rt_task;
extern size_t log_rt_dom;
extern size_t log_rt_trace;
extern size_t log_rt_cache;
extern size_t log_rt_upcall;
extern size_t log_rt_timer;
extern size_t log_rt_gc;
extern size_t log_rt_stdlib;
extern size_t log_rt_kern;
extern size_t log_rt_backtrace;
extern size_t log_rt_callback;
extern uint32_t log_rt_mem;
extern uint32_t log_rt_comm;
extern uint32_t log_rt_task;
extern uint32_t log_rt_dom;
extern uint32_t log_rt_trace;
extern uint32_t log_rt_cache;
extern uint32_t log_rt_upcall;
extern uint32_t log_rt_timer;
extern uint32_t log_rt_gc;
extern uint32_t log_rt_stdlib;
extern uint32_t log_rt_kern;
extern uint32_t log_rt_backtrace;
extern uint32_t log_rt_callback;
#endif /* RUST_LOG_H */