/usr/include/x86_64-linux-gnu/bits/string_fortified.h:130:10: error: ‘__builtin___strcat_chk’ accessing 81 or more bytes at offsets 264 and 184 may overlap 1 byte at offset 264 [-Werror=restrict]
130 | return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile:25: build/obj/cpu/exec/exec.o] Error 1
我校课程使用nemu 2017版本进行实验,2017版本中nemu框架两处位置会在最新编译器中提示warning,因Werror转为error。这里两处问题我认为应该不是教学目标,所以提一个patch修复
src/cpu/exec/exec.c: nemu_backup/include/cpu/decode.h中
DecodeInfo
结构体有assembly
和asm_buf
两个char数组:在
src/cpu/exec/exec.c
中执行了这里编译器会报警:
安全起见这里改为strncat
nemu/src/monitor/diff-test/protocol.c: calloc 使用错误