diff -upr llvm-2.5.orig/lib/System/Unix/Signals.inc llvm-2.5/lib/System/Unix/Signals.inc
--- llvm-2.5.orig/lib/System/Unix/Signals.inc	2008-12-06 01:39:24.000000000 +0200
+++ llvm-2.5/lib/System/Unix/Signals.inc	2009-07-06 02:57:12.000000000 +0300
@@ -78,7 +78,7 @@ static void PrintStackTrace() {
   for (int i = 0; i < depth; ++i) {
     Dl_info dlinfo;
     dladdr(StackTrace[i], &dlinfo);
-    char* name = strrchr(dlinfo.dli_fname, '/');
+    const char* name = strrchr(dlinfo.dli_fname, '/');
 
     int nwidth;
     if (name == NULL) nwidth = strlen(dlinfo.dli_fname);
@@ -93,7 +93,7 @@ static void PrintStackTrace() {
 
     fprintf(stderr, "%-3d", i);
 
-    char* name = strrchr(dlinfo.dli_fname, '/');
+    const char* name = strrchr(dlinfo.dli_fname, '/');
     if (name == NULL) fprintf(stderr, " %-*s", width, dlinfo.dli_fname);
     else              fprintf(stderr, " %-*s", width, name+1);