syslogd: move some vectors from data to text. Needs uclibc patch
authorDenis Vlasenko <vda.linux@googlemail.com>
Mon, 4 Jun 2007 18:23:59 +0000 (18:23 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Mon, 4 Jun 2007 18:23:59 +0000 (18:23 -0000)
to have any effect (patch is submitted to uclibc ml).

# size *[67]/*/syslog*.o
   text    data     bss     dec     hex filename
   3169     288       0    3457     d81 busybox.t6/sysklogd/syslogd.o
   3457       0       0    3457     d81 busybox.t7/sysklogd/syslogd.o

sysklogd/syslogd.c

index 8897e9c2d815b9e019e4b23b70247c307bf2b981..c8f13568d33e5b61c706fbb7200b97f1b7b380eb 100644 (file)
 #include <paths.h>
 #include <sys/un.h>
 
-/* SYSLOG_NAMES defined to pull some extra junk from syslog.h: */
-/* prioritynames[] and facilitynames[]. uclibc pulls those in _rwdata_! :( */
-
+/* SYSLOG_NAMES defined to pull prioritynames[] and facilitynames[]
+ * from syslog.h. Grrrr - glibc puts those in _rwdata_! :( */
 #define SYSLOG_NAMES
+#define SYSLOG_NAMES_CONST /* uclibc is saner :) */
 #include <sys/syslog.h>
 #include <sys/uio.h>
 
@@ -386,7 +386,7 @@ static void log_locally(char *msg)
 
 static void parse_fac_prio_20(int pri, char *res20)
 {
-       CODE *c_pri, *c_fac;
+       const CODE *c_pri, *c_fac;
 
        if (pri != 0) {
                c_fac = facilitynames;