Beim Übersetzen von VDR mit allen Patches (1-26) und folgendem Compiler
Code
gcc (SUSE Linux) 8.3.1 20190226 [gcc-8-branch revision 269204]
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
erhalte ich folgende Warnung:
Code
g++ -g -O3 -Wall -march=native -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DVIDEODIR=\"/srv/vdr/video\" -DCONFDIR=\"/var/lib/vdr\" -DARGSDIR=\"/etc/vdr/conf.d\" -DCACHEDIR=\"/var/cache/vdr\" -DRESDIR=\"/usr/local/share/vdr\" -DPLUGINDIR=\"/usr/local/lib/vdr\" -DLOCDIR=\"/usr/local/share/locale\" -I/usr/include/uuid -I/usr/include/freetype2 -o dvbplayer.o dvbplayer.c
ci.c: In member function 'bool cCiMMI::SendAnswer(const char*)':
ci.c:1585:13: warning: 'char* strncpy(char*, const char*, size_t)' specified bound 256 equals destination size [-Wstringop-truncation]
strncpy(answer.text, Text, sizeof(answer.text));
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC dvbspu.o
und Später:
g++ -g -O3 -Wall -march=native -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DVIDEODIR=\"/srv/vdr/video\" -DCONFDIR=\"/var/lib/vdr\" -DARGSDIR=\"/etc/vdr/conf.d\" -DCACHEDIR=\"/var/cache/vdr\" -DRESDIR=\"/usr/local/share/vdr\" -DPLUGINDIR=\"/usr/local/lib/vdr\" -DLOCDIR=\"/usr/local/share/locale\" -I/usr/include/uuid -I/usr/include/freetype2 -o remux.o remux.c
recording.c: In member function 'void cIndexFile::ConvertToPes(tIndexTs*, int)':
recording.c:2637:52: warning: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct tIndexTs' from an array of 'struct tIndexPes' [-Wclass-memaccess]
memcpy(IndexTs, &IndexPes, sizeof(*IndexTs));
^
recording.c:2502:8: note: 'struct tIndexTs' declared here
struct tIndexTs {
^~~~~~~~
CC ringbuffer.o
g++ -g -O3 -Wall -march=native -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DVIDEODIR=\"/srv/vdr/video\" -DCONFDIR=\"/var/lib/vdr\" -DARGSDIR=\"/etc/vdr/conf.d\" -DCACHEDIR=\"/var/cache/vdr\" -DRESDIR=\"/usr/local/share/vdr\" -DPLUGINDIR=\"/usr/local/lib/vdr\" -DLOCDIR=\"/usr/local/share/locale\" -I/usr/include/uuid -I/usr/include/freetype2 -o ringbuffer.o ringbuffer.c
recording.c: In function 'char* ExchangeChars(char*, bool)':
recording.c:607:37: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying 3 bytes from a string of length 3 [-Wstringop-truncation]
strncpy(p, buf, 3);
~~~~~~~^~~~~~~~~~~
CC sdt.o
Display More
VDR compiliert durch und läuft auch soweit. Gelegentlich gibt es aber beim umschalten von Kanälen und gleichzeitigen laufenden Aufnahmen Speicherzugriffsfehler
folgender Art:
Code
Mär 24 22:45:56 vnas2 kernel: traps: general protection fault ip:7fd745e3fea6 sp:7fd6b17f9a70 error:0 in libc-2.29.so[7fd745ddc000+14c000]
Können diese Warnungen etwas mit den general Protection fault zu tun haben?
Wenn nicht, ist es möglich diese Warnungen in Hinblick auf 2.4.1 zu fixen?
Beste Grüße