On Mon, 2020-10-19 at 11:27 +0200, Mark Wielaard wrote: > Forgot the ChangeLog entries in the first version. > > GCC11 will warn about a mismatch in the declaration of dwarf_frame_register: > > dwarf_frame_register.c:37:61: error: argument 3 of type ‘Dwarf_Op *’ > declared as a pointer [-Werror=array-parameter=] > 37 | dwarf_frame_register (Dwarf_Frame *fs, int regno, Dwarf_Op *ops_mem, > | ~~~~~~~~~~^~~~~~~ > libdw.h:1068:43: note: previously declared as an array ‘Dwarf_Op[3]’ > 1068 | Dwarf_Op ops_mem[3], > | ~~~~~~~~~^~~~~~~~~~ > > When fixing that it will show an actual bug in the addrcfi testcase: > > addrcfi.c:98:16: error: ‘dwarf_frame_register’ accessing 96 bytes in a > region of size 64 [-Werror=stringop-overflow=] > 98 | int result = dwarf_frame_register (stuff->frame, regno, ops_mem, > &ops, &nops); > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > addrcfi.c:98:16: note: referencing argument 3 of type ‘Dwarf_Op *’ > 1069 | extern int dwarf_frame_register (Dwarf_Frame *frame, int regno, > | ^~~~~~~~~~~~~~~~~~~~ > > Fix the declaration, fix the bug and add an extra comment to the description > in libdw.h.
Pushed.