--- mrd6-0.9.6.orig/src/log.cpp +++ mrd6-0.9.6/src/log.cpp @@ -667,3 +667,12 @@ os.nprintf(32, "%p", val); } +#ifdef __s390__ +const char *stream_type_format_parameter(size_t) { + return "u"; +} + +void stream_push_formated_type(base_stream &os, size_t val) { + os.nprintf(32, "%z", val); +} +#endif --- mrd6-0.9.6.orig/src/mrd.cpp +++ mrd6-0.9.6/src/mrd.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -2338,7 +2339,8 @@ out.xprintf("Uptime: %{duration}\n", time_duration((time(0) - m_startup) * 1000)); out.xprintf("Performed tasks: %u (spent %llu ms)\n", m_tasks_stat, m_tasks_time_spent); - out.xprintf("Registered sockets: %u reading, %u writing\n", m_read.size(), m_write.size()); + out.xprintf("Registered sockets: %u reading, %u writing\n", + (uint32_t)m_read.size(), (uint32_t)m_write.size()); out.xprintf("MRIB prefix count: %u\n", mrib().registry_prefix_count()); out.xprintf("Interface count: %u\n", m_intflist.size()); out.xprintf("Group state count: %u\n", m_grplist.size()); --- mrd6-0.9.6.orig/src/bgp/bgp.cpp +++ mrd6-0.9.6/src/bgp/bgp.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include --- mrd6-0.9.6.orig/src/linux/mrd_components.cpp +++ mrd6-0.9.6/src/linux/mrd_components.cpp @@ -92,8 +92,6 @@ #if defined(__GLIBC__) #if defined(__i386__) return (void *)base->uc_mcontext.gregs[REG_EIP]; -#elif defined(__mips__) - return (void *)base->uc_mcontext.gpregs[CTX_EPC]; #endif #endif return 0; --- mrd6-0.9.6.orig/include/mrd/log.h +++ mrd6-0.9.6/include/mrd/log.h @@ -53,6 +53,12 @@ void stream_push_formated_type(base_stream &, const char *val); void stream_push_formated_type(base_stream &, const void *val); + +#ifdef __s390__ +const char *stream_type_format_parameter(size_t); +void stream_push_formated_type(base_stream &, size_t val); +#endif + /*! * base log stream */