cc -O2 -Wall -g `xml2-config --cflags` -D_FORTIFY_SOURCE=2 -c -o firehose.o firehose.c cc -O2 -Wall -g `xml2-config --cflags` -D_FORTIFY_SOURCE=2 -c -o qdl.o qdl.c cc -O2 -Wall -g `xml2-config --cflags` -D_FORTIFY_SOURCE=2 -c -o sahara.o sahara.c cc -O2 -Wall -g `xml2-config --cflags` -D_FORTIFY_SOURCE=2 -c -o util.o util.c cc -O2 -Wall -g `xml2-config --cflags` -D_FORTIFY_SOURCE=2 -c -o patch.o patch.c sahara.c: In function ‘sahara_hello’: sahara.c:103:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 103 | write(fd, &resp, resp.length); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sahara.c: In function ‘sahara_eoi’: sahara.c:182:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 182 | write(fd, &done, done.length); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘sahara_hello’, inlined from ‘sahara_run’ at sahara.c:228:4: sahara.c:103:9: warning: ‘write’ reading 48 bytes from a region of size 32 [-Wstringop-overread] 103 | write(fd, &resp, resp.length); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sahara.c: In function ‘sahara_run’: sahara.c:89:27: note: source object ‘resp’ of size 32 89 | struct sahara_pkt resp; | ^~~~ In file included from sahara.c:45: /usr/include/unistd.h:378:16: note: in a call to function ‘write’ declared with attribute ‘access (read_only, 2, 3)’ 378 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur | ^~~~~ cc -O2 -Wall -g `xml2-config --cflags` -D_FORTIFY_SOURCE=2 -c -o program.o program.c cc -o qdl firehose.o qdl.o sahara.o util.o patch.o program.o `xml2-config --libs`