busybox/sysklogd/syslogd_and_logger.c
Denys Vlasenko e6a2f4cc5a libbb: make bb_common_bufsiz1 1 kbyte, add capability to use bss tail for it
The config item is FEATURE_USE_BSS_TAIL. When it is off (default):

function                                             old     new   delta
read_config                                          210     228     +18
doCommands                                          2279    2294     +15
ipneigh_list_or_flush                                763     772      +9
ipaddr_list_or_flush                                1256    1261      +5
display_process_list                                1301    1306      +5
conspy_main                                         1378    1383      +5
do_lzo_compress                                      352     355      +3
do_lzo_decompress                                    565     567      +2
push                                                  46      44      -2
inetd_main                                          2136    2134      -2
uevent_main                                          421     418      -3
addLines                                              97      92      -5
bb_common_bufsiz1                                   8193    1024   -7169
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/5 up/down: 62/-7181)        Total: -7119 bytes
   text	   data	    bss	    dec	    hex	filename
 829850	   4086	   9080	 843016	  cdd08	busybox_old
 829901	   4086	   1904	 835891	  cc133	busybox_unstripped

FEATURE_USE_BSS_TAIL=y:

read_config                                          210     228     +18
doCommands                                          2279    2294     +15
ipneigh_list_or_flush                                763     772      +9
ipaddr_list_or_flush                                1256    1261      +5
display_process_list                                1301    1306      +5
conspy_main                                         1378    1383      +5
do_lzo_compress                                      352     355      +3
do_lzo_decompress                                    565     567      +2
inetd_main                                          2136    2134      -2
bb_common_bufsiz1                                   8193       -   -8193
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 8/1 up/down: 62/-8195)        Total: -8133 bytes
   text	   data	    bss	    dec	    hex	filename
 829850	   4086	   9080	 843016	  cdd08	busybox_old
 829911	   4086	    880	 834877	  cbd3d	busybox_unstripped

FIXME: setup_common_bufsiz() calls are missing.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 17:39:11 +02:00

53 lines
1.2 KiB
C

/* vi: set sw=4 ts=4: */
/*
* prioritynames[] and facilitynames[]
*
* Copyright (C) 2008 by Denys Vlasenko <vda.linux@gmail.com>
*
* Licensed under GPLv2, see file LICENSE in this source tree.
*/
#include "libbb.h"
#include "common_bufsiz.h"
#define SYSLOG_NAMES
#define SYSLOG_NAMES_CONST
#include <syslog.h>
#if 0
/* For the record: with SYSLOG_NAMES <syslog.h> defines
* (not declares) the following:
*/
typedef struct _code {
/*const*/ char *c_name;
int c_val;
} CODE;
/*const*/ CODE prioritynames[] = {
{ "alert", LOG_ALERT },
...
{ NULL, -1 }
};
/* same for facilitynames[] */
/* This MUST occur only once per entire executable,
* therefore we can't just do it in syslogd.c and logger.c -
* there will be two copies of it.
*
* We cannot even do it in separate file and then just reference
* prioritynames[] from syslogd.c and logger.c - bare <syslog.h>
* will not emit extern decls for prioritynames[]! Attempts to
* emit "matching" struct _code declaration defeat the whole purpose
* of <syslog.h>.
*
* For now, syslogd.c and logger.c are simply compiled into
* one object file.
*/
#endif
#if ENABLE_SYSLOGD
#include "syslogd.c"
#endif
#if ENABLE_LOGGER
#include "logger.c"
#endif