From f379affc25e0da875ed364eca395e9155e996fde Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 9 Sep 2024 16:56:26 +0200 Subject: [PATCH] os: unexport internal logging functions Lots of logging functions, especially init and teardown aren't called by any drivers/modules, so no need to keep them exported. Signed-off-by: Enrico Weigelt, metux IT consult --- Xext/shm.c | 1 + Xext/vidmode.c | 3 ++ Xi/exevents.c | 1 + config/dbus-core.c | 2 ++ dix/devices.c | 1 + dix/dixfonts.c | 1 + dix/events.c | 1 + dix/touch.c | 1 + hw/xfree86/common/xf86Events.c | 1 + hw/xfree86/common/xf86Helper.c | 1 + hw/xfree86/common/xf86Mode.c | 3 ++ hw/xfree86/common/xf86VidMode.c | 3 ++ hw/xfree86/common/xf86fbman.c | 9 +++-- hw/xfree86/common/xf86pciBus.c | 5 ++- hw/xfree86/int10/vbeModes.c | 2 ++ hw/xfree86/os-support/linux/lnx_acpi.c | 2 ++ hw/xfree86/os-support/linux/lnx_apm.c | 3 ++ hw/xfree86/os-support/shared/posix_tty.c | 1 + hw/xfree86/vgahw/vgaHW.c | 3 ++ hw/xquartz/darwin.c | 1 + hw/xwayland/xwayland-dmabuf.c | 2 ++ hw/xwayland/xwayland-input.c | 1 + hw/xwayland/xwayland-output.c | 1 + hw/xwayland/xwayland-screen.c | 1 + hw/xwayland/xwayland-window.c | 1 + hw/xwayland/xwayland-xtest.c | 1 + hw/xwin/winerror.c | 1 + include/os.h | 18 ++-------- os/client.c | 1 + os/connection.c | 1 + os/inputthread.c | 1 + os/log.c | 1 + os/log_priv.h | 44 ++++++++++++++++++++++++ os/osinit.c | 1 + os/utils.c | 6 ++-- xkb/XKBMAlloc.c | 5 ++- xkb/ddxLoad.c | 1 + xkb/maprules.c | 1 + xkb/xkbAccessX.c | 1 + xkb/xkbEvents.c | 1 + xkb/xkbInit.c | 1 + xkb/xkbPrKeyEv.c | 1 + xkb/xkbUtils.c | 1 + xkb/xkmread.c | 1 + 44 files changed, 114 insertions(+), 25 deletions(-) diff --git a/Xext/shm.c b/Xext/shm.c index 725cafc33..4691e6399 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -46,6 +46,7 @@ in this Software without prior written authorization from The Open Group. #include "os/auth.h" #include "os/busfault.h" #include "os/client_priv.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "misc.h" diff --git a/Xext/vidmode.c b/Xext/vidmode.c index 06b710288..a71c17dcb 100644 --- a/Xext/vidmode.c +++ b/Xext/vidmode.c @@ -36,6 +36,9 @@ from Kaleb S. KEITHLEY #include #include #include + +#include "os/log_priv.h" + #include "misc.h" #include "dixstruct.h" #include "extnsionst.h" diff --git a/Xi/exevents.c b/Xi/exevents.c index 753172c0e..8ebaf9c31 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -97,6 +97,7 @@ SOFTWARE. #include "dix/exevents_priv.h" #include "dix/input_priv.h" #include "mi/mi_priv.h" +#include "os/log_priv.h" #include "inputstr.h" #include "windowstr.h" diff --git a/config/dbus-core.c b/config/dbus-core.c index 30495f07b..321bee222 100644 --- a/config/dbus-core.c +++ b/config/dbus-core.c @@ -28,6 +28,8 @@ #include #include +#include "os/log_priv.h" + #include "dix.h" #include "os.h" diff --git a/dix/devices.c b/dix/devices.c index 310364730..aaf393f87 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -62,6 +62,7 @@ SOFTWARE. #include "dix/ptrveloc_priv.h" #include "mi/mi_priv.h" #include "os/bug_priv.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "xkb/xkbsrv_priv.h" diff --git a/dix/dixfonts.c b/dix/dixfonts.c index dd617d99c..029e1be30 100644 --- a/dix/dixfonts.c +++ b/dix/dixfonts.c @@ -60,6 +60,7 @@ Equipment Corporation. #include "dix/dix_priv.h" #include "dix/gc_priv.h" #include "os/auth.h" +#include "os/log_priv.h" #include "scrnintstr.h" #include "resource.h" diff --git a/dix/events.c b/dix/events.c index c146c823b..5e336095c 100644 --- a/dix/events.c +++ b/dix/events.c @@ -127,6 +127,7 @@ Equipment Corporation. #include "os/bug_priv.h" #include "os/client_priv.h" #include "os/fmt.h" +#include "os/log_priv.h" #include "xkb/xkbsrv_priv.h" #include "misc.h" diff --git a/dix/touch.c b/dix/touch.c index 9365fc70e..cfd7b6a93 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -33,6 +33,7 @@ #include "dix/input_priv.h" #include "mi/mi_priv.h" #include "os/bug_priv.h" +#include "os/log_priv.h" #include "inputstr.h" #include "scrnintstr.h" diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c index df22027f4..cecac3055 100644 --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c @@ -64,6 +64,7 @@ #include "dix/dix_priv.h" #include "dix/input_priv.h" #include "mi/mi_priv.h" +#include "os/log_priv.h" #include "misc.h" #include "xf86.h" diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c index cbebd5461..52cff2bad 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c @@ -44,6 +44,7 @@ #include "dix/dix_priv.h" #include "dix/input_priv.h" #include "mi/mi_priv.h" +#include "os/log_priv.h" #include "os.h" #include "servermd.h" diff --git a/hw/xfree86/common/xf86Mode.c b/hw/xfree86/common/xf86Mode.c index ae007ccd7..31e2a37af 100644 --- a/hw/xfree86/common/xf86Mode.c +++ b/hw/xfree86/common/xf86Mode.c @@ -85,6 +85,9 @@ #endif #include + +#include "os/log_priv.h" + #include "xf86Modes.h" #include "xf86Crtc.h" #include "os.h" diff --git a/hw/xfree86/common/xf86VidMode.c b/hw/xfree86/common/xf86VidMode.c index 7e12ea2cc..02395e5cd 100644 --- a/hw/xfree86/common/xf86VidMode.c +++ b/hw/xfree86/common/xf86VidMode.c @@ -39,6 +39,9 @@ #endif #include + +#include "os/log_priv.h" + #include "os.h" #include "xf86.h" #include "xf86Priv.h" diff --git a/hw/xfree86/common/xf86fbman.c b/hw/xfree86/common/xf86fbman.c index 25779e510..cc288f5bc 100644 --- a/hw/xfree86/common/xf86fbman.c +++ b/hw/xfree86/common/xf86fbman.c @@ -30,18 +30,17 @@ #include #endif +#include + +#include "os/log_priv.h" + #include "misc.h" #include "xf86.h" -#include #include "scrnintstr.h" #include "regionstr.h" #include "xf86fbman.h" -/* -#define DEBUG -*/ - static DevPrivateKeyRec xf86FBManagerKeyRec; static DevPrivateKey xf86FBManagerKey; diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c index 35fb8b0a9..952810bac 100644 --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c @@ -35,8 +35,11 @@ #include #include #include -#include #include +#include + +#include "os/log_priv.h" + #include "os.h" #include "Pci.h" #include "xf86.h" diff --git a/hw/xfree86/int10/vbeModes.c b/hw/xfree86/int10/vbeModes.c index 7c5d882fc..abafb1d8b 100644 --- a/hw/xfree86/int10/vbeModes.c +++ b/hw/xfree86/int10/vbeModes.c @@ -36,6 +36,8 @@ #include #include +#include "os/log_priv.h" + #include "xf86.h" #include "vbe.h" #include "vbeModes.h" diff --git a/hw/xfree86/os-support/linux/lnx_acpi.c b/hw/xfree86/os-support/linux/lnx_acpi.c index 2da3c5250..aaf6bb5c9 100644 --- a/hw/xfree86/os-support/linux/lnx_acpi.c +++ b/hw/xfree86/os-support/linux/lnx_acpi.c @@ -10,6 +10,8 @@ #include #include +#include "os/log_priv.h" + #include "os.h" #include "xf86.h" #include "xf86Priv.h" diff --git a/hw/xfree86/os-support/linux/lnx_apm.c b/hw/xfree86/os-support/linux/lnx_apm.c index a06d49fbe..5993d620e 100644 --- a/hw/xfree86/os-support/linux/lnx_apm.c +++ b/hw/xfree86/os-support/linux/lnx_apm.c @@ -4,6 +4,9 @@ #endif #include + +#include "os/log_priv.h" + #include "os.h" #include "xf86.h" #include "xf86Priv.h" diff --git a/hw/xfree86/os-support/shared/posix_tty.c b/hw/xfree86/os-support/shared/posix_tty.c index 028b16b97..8721f6216 100644 --- a/hw/xfree86/os-support/shared/posix_tty.c +++ b/hw/xfree86/os-support/shared/posix_tty.c @@ -59,6 +59,7 @@ #include #include +#include "os/log_priv.h" #include "os/xserver_poll.h" #include "xf86.h" diff --git a/hw/xfree86/vgahw/vgaHW.c b/hw/xfree86/vgahw/vgaHW.c index 215bc93f9..f5bcd6ce7 100644 --- a/hw/xfree86/vgahw/vgaHW.c +++ b/hw/xfree86/vgahw/vgaHW.c @@ -16,6 +16,9 @@ #include #include + +#include "os/log_priv.h" + #include "misc.h" #include "xf86.h" diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c index fcfcd554a..bddf47641 100644 --- a/hw/xquartz/darwin.c +++ b/hw/xquartz/darwin.c @@ -35,6 +35,7 @@ #include #include "os/ddx_priv.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "os.h" diff --git a/hw/xwayland/xwayland-dmabuf.c b/hw/xwayland/xwayland-dmabuf.c index 1676a82da..d0ecd995a 100644 --- a/hw/xwayland/xwayland-dmabuf.c +++ b/hw/xwayland/xwayland-dmabuf.c @@ -30,6 +30,8 @@ #include #include +#include "os/log_priv.h" + #include "xwayland-dmabuf.h" #include "xwayland-glamor-gbm.h" #include "xwayland-screen.h" diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c index 35905829e..87bfbc17c 100644 --- a/hw/xwayland/xwayland-input.c +++ b/hw/xwayland/xwayland-input.c @@ -35,6 +35,7 @@ #include "mi/mi_priv.h" #include "mi/mipointer_priv.h" #include "os/bug_priv.h" +#include "os/log_priv.h" #include #include diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c index 2b901431b..cd76b1e7d 100644 --- a/hw/xwayland/xwayland-output.c +++ b/hw/xwayland/xwayland-output.c @@ -32,6 +32,7 @@ #include "dix/dix_priv.h" #include "dix/input_priv.h" #include "randr/randrstr_priv.h" +#include "os/log_priv.h" #include "xwayland-cvt.h" #include "xwayland-output.h" diff --git a/hw/xwayland/xwayland-screen.c b/hw/xwayland/xwayland-screen.c index 308879213..2bf533c57 100644 --- a/hw/xwayland/xwayland-screen.c +++ b/hw/xwayland/xwayland-screen.c @@ -40,6 +40,7 @@ #include "dix/input_priv.h" #include "dix/property_priv.h" #include "os/client_priv.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "os/xserver_poll.h" diff --git a/hw/xwayland/xwayland-window.c b/hw/xwayland/xwayland-window.c index a77f4fb88..e2e57c78f 100644 --- a/hw/xwayland/xwayland-window.c +++ b/hw/xwayland/xwayland-window.c @@ -34,6 +34,7 @@ #include "dix/dix_priv.h" #include "dix/property_priv.h" +#include "os/log_priv.h" #include "compositeext.h" #include "compint.h" diff --git a/hw/xwayland/xwayland-xtest.c b/hw/xwayland/xwayland-xtest.c index 4198e8d85..24cb13c3d 100644 --- a/hw/xwayland/xwayland-xtest.c +++ b/hw/xwayland/xwayland-xtest.c @@ -33,6 +33,7 @@ #include "dix/dix_priv.h" #include "dix/input_priv.h" #include "os/client_priv.h" +#include "os/log_priv.h" #include #include diff --git a/hw/xwin/winerror.c b/hw/xwin/winerror.c index 401481327..bbf302b67 100644 --- a/hw/xwin/winerror.c +++ b/hw/xwin/winerror.c @@ -32,6 +32,7 @@ #include #endif +#include "os/log_priv.h" #include "os/osdep.h" #include <../xfree86/common/xorgVersion.h> diff --git a/include/os.h b/include/os.h index ba39cb95b..5bbf16aea 100644 --- a/include/os.h +++ b/include/os.h @@ -296,12 +296,6 @@ typedef enum { X_UNKNOWN = -1 /* unknown -- this must always be last */ } MessageType; -extern _X_EXPORT const char * -LogInit(const char *fname, const char *backup); -extern void -LogSetDisplay(void); -extern _X_EXPORT void -LogClose(enum ExitCode error); extern _X_EXPORT void LogVMessageVerb(MessageType type, int verb, const char *format, va_list args) _X_ATTRIBUTE_PRINTF(3, 0); @@ -312,7 +306,7 @@ extern _X_EXPORT void LogMessage(MessageType type, const char *format, ...) _X_ATTRIBUTE_PRINTF(2, 3); -extern _X_EXPORT void +void LogVHdrMessageVerb(MessageType type, int verb, const char *msg_format, va_list msg_args, const char *hdr_format, va_list hdr_args) @@ -330,17 +324,11 @@ FatalError(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN; -#ifdef DEBUG -#define DebugF ErrorF -#else -#define DebugF(...) /* */ -#endif - extern _X_EXPORT void ErrorF(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2); -extern _X_EXPORT void -LogPrintMarkers(void); + +void LogPrintMarkers(void); extern _X_EXPORT void xorg_backtrace(void); diff --git a/os/client.c b/os/client.c index bcbaee677..7fcf27729 100644 --- a/os/client.c +++ b/os/client.c @@ -87,6 +87,7 @@ #endif #include "os/auth.h" +#include "os/log_priv.h" /** * Try to determine a PID for a client from its connection diff --git a/os/connection.c b/os/connection.c index 07d6cbe8a..4c39251da 100644 --- a/os/connection.c +++ b/os/connection.c @@ -98,6 +98,7 @@ SOFTWARE. #include "os/audit.h" #include "os/auth.h" #include "os/client_priv.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "misc.h" /* for typedef of pointer */ diff --git a/os/inputthread.c b/os/inputthread.c index 623648256..f1eb4ced3 100644 --- a/os/inputthread.c +++ b/os/inputthread.c @@ -35,6 +35,7 @@ #include "dix/input_priv.h" #include "os/ddx_priv.h" +#include "os/log_priv.h" #include "inputstr.h" #include "opaque.h" diff --git a/os/log.c b/os/log.c index 939526fd7..f90e4e709 100644 --- a/os/log.c +++ b/os/log.c @@ -94,6 +94,7 @@ OR PERFORMANCE OF THIS SOFTWARE. #include "os/bug_priv.h" #include "os/ddx_priv.h" #include "os/fmt.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "opaque.h" diff --git a/os/log_priv.h b/os/log_priv.h index e1246814c..1c3b56401 100644 --- a/os/log_priv.h +++ b/os/log_priv.h @@ -8,6 +8,8 @@ #include #include +#include "include/os.h" + /** * @brief force fsync() on each log write * @@ -31,4 +33,46 @@ extern int logVerbosity; */ extern int logFileVerbosity; +/** + * @brief initialize logging and open log files + * + * Make backup of existing log file, create a new one and open it for logging. + * + * - May be called with NULL or "", if no logging is desired. + * + * - Must always be called, otherwise log messages will fill up the buffer and + * let it grow infinitely. + * + * - if "%s" is present in fname, it will be replaced with the display string or pid + * + * @param fname log file name template. if NULL, dont write any log. + * @param backup name for the old logfile. + * @return new log file name + */ +const char* LogInit(const char *fname, const char *backup); + +/** + * @brief rename the current log file according display name + * + * Renames the current log file with per display prefix (e.g. "Xorg.log.0") + * + */ +void LogSetDisplay(void); + +/** + * @brief log exit code, then flush and close log file and write + * + * Logs the exit code (and success/error state), then flush and close log file. + */ +void LogClose(enum ExitCode error); + +#ifdef DEBUG +/** + * @brief log debug messages (like errors) if symbol DEBUG is defined + */ +#define DebugF ErrorF +#else +#define DebugF(...) /* */ +#endif + #endif /* _XSERVER_LOG_PRIV_H */ diff --git a/os/osinit.c b/os/osinit.c index 3e18b51b0..a3fde73b5 100644 --- a/os/osinit.c +++ b/os/osinit.c @@ -60,6 +60,7 @@ SOFTWARE. #include "dix/dix_priv.h" #include "os/busfault.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "os/serverlock.h" diff --git a/os/utils.c b/os/utils.c index fbf91c3c1..6c33806b1 100644 --- a/os/utils.c +++ b/os/utils.c @@ -77,9 +77,6 @@ __stdcall unsigned long GetTickCount(void); #define TRANS_REOPEN #include -#include "os/audit.h" -#include "os/client_priv.h" - #include "input.h" #include "dixfont.h" #include @@ -106,10 +103,13 @@ __stdcall unsigned long GetTickCount(void); #include "dix/dix_priv.h" #include "dix/input_priv.h" +#include "os/audit.h" #include "os/auth.h" #include "os/bug_priv.h" +#include "os/client_priv.h" #include "os/cmdline.h" #include "os/ddx_priv.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "os/serverlock.h" diff --git a/xkb/XKBMAlloc.c b/xkb/XKBMAlloc.c index fa8f5527e..04c4d80a8 100644 --- a/xkb/XKBMAlloc.c +++ b/xkb/XKBMAlloc.c @@ -29,9 +29,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include #include +#include + +#include "os/log_priv.h" + #include "misc.h" #include "inputstr.h" -#include #include /***====================================================================***/ diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c index a231e96bf..c69677a0c 100644 --- a/xkb/ddxLoad.c +++ b/xkb/ddxLoad.c @@ -39,6 +39,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include "dix/dix_priv.h" +#include "os/log_priv.h" #include "os/osdep.h" #include "xkb/xkbfile_priv.h" #include "xkb/xkbfmisc_priv.h" diff --git a/xkb/maprules.c b/xkb/maprules.c index 8a1944ef5..b1ab02926 100644 --- a/xkb/maprules.c +++ b/xkb/maprules.c @@ -41,6 +41,7 @@ #include #include +#include "os/log_priv.h" #include "xkb/xkbrules_priv.h" #include "misc.h" diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c index 32892ac20..4f6f875a5 100644 --- a/xkb/xkbAccessX.c +++ b/xkb/xkbAccessX.c @@ -37,6 +37,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include "dix/input_priv.h" +#include "os/log_priv.h" #include "xkb/xkbsrv_priv.h" #include "exglobals.h" diff --git a/xkb/xkbEvents.c b/xkb/xkbEvents.c index cfe9ba11c..dc943d5a2 100644 --- a/xkb/xkbEvents.c +++ b/xkb/xkbEvents.c @@ -34,6 +34,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include "dix/exevents_priv.h" +#include "os/log_priv.h" #include "inputstr.h" #include "exglobals.h" diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c index d3259225f..7f2105435 100644 --- a/xkb/xkbInit.c +++ b/xkb/xkbInit.c @@ -41,6 +41,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "os/bug_priv.h" #include "os/cmdline.h" +#include "os/log_priv.h" #include "xkb/xkbsrv_priv.h" #include "misc.h" diff --git a/xkb/xkbPrKeyEv.c b/xkb/xkbPrKeyEv.c index f768bedff..4a4318759 100644 --- a/xkb/xkbPrKeyEv.c +++ b/xkb/xkbPrKeyEv.c @@ -34,6 +34,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include "dix/input_priv.h" +#include "os/log_priv.h" #include "xkb/xkbsrv_priv.h" #include "misc.h" diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c index 8ca92bd15..781277c6e 100644 --- a/xkb/xkbUtils.c +++ b/xkb/xkbUtils.c @@ -58,6 +58,7 @@ DEALINGS IN THE SOFTWARE. #define XK_CYRILLIC #include +#include "os/log_priv.h" #include "xkb/xkbsrv_priv.h" #include "os.h" diff --git a/xkb/xkmread.c b/xkb/xkmread.c index cdcb443ba..e12fc3d05 100644 --- a/xkb/xkmread.c +++ b/xkb/xkmread.c @@ -34,6 +34,7 @@ #include #include +#include "os/log_priv.h" #include "xkb/xkbfile_priv.h" #include "xkb/xkbfmisc_priv.h"