GCC 4.1.2 defaults to unsigned char for all char variables.
This problem causes OLSR to crash in lq_avl.c during some routing decisions.
This patch will resolve the issue.
diff -wurN archives/tmp/olsrd/olsrd-0.5.0/src/lq_avl.h olsrd-0.5.0/src/lq_avl.h
--- archives/tmp/olsrd/olsrd-0.5.0/src/lq_avl.h 2007-03-28 16:05:50.000000000 -0800
+++ olsrd-0.5.0/src/lq_avl.h 2007-06-30 21:43:07.000000000 -0700
@@ -52,8 +52,8 @@
struct avl_node *prev;
void *key;
void *data;
- char balance;
- char leader;
+ signed char balance;
+ signed char leader;
};
struct avl_tree
Submitted by tony@valemount.com
Logged In: NO
I experienced the same behaviour von Xscale-architecture
with gcc 3.3.1. The given fix works also for me.
Submitted by kummert@nentec.de