cc -O2 -pipe -isystem /usr/local/include -fno-strict-aliasing -c injector.c -o injector.o -Wall
injector.c:338:93: warning: excess elements in array initializer
.start={.bytes={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, .len=0},
^~~~
injector.c:339:91: warning: excess elements in array initializer
.end={.bytes={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}, .len=0},
^~~~
injector.c:870:32: error: no member named 'mc_eip' in 'struct __mcontext'
((ucontext_t*)p)->uc_mcontext.IP+=UD2_SIZE;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
injector.c:95:14: note: expanded from macro 'IP'
# define IP mc_eip
^
injector.c:883:30: error: no member named 'mc_eip' in 'struct __mcontext'
(uintptr_t)uc->uc_mcontext.IP-(uintptr_t)packet-preamble_length;
~~~~~~~~~~~~~~~ ^
injector.c:95:14: note: expanded from macro 'IP'
# define IP mc_eip
^
injector.c:905:18: error: no member named 'mc_eip' in 'struct __mcontext'
uc->uc_mcontext.IP=(uintptr_t)&resume;
~~~~~~~~~~~~~~~ ^
injector.c:95:14: note: expanded from macro 'IP'
# define IP mc_eip
^
injector.c:906:18: error: no member named 'mc_eflags' in 'struct __mcontext'; did you mean 'mc_flags'?
uc->uc_mcontext.EFL&=~TF;
^~~
mc_flags
injector.c:96:15: note: expanded from macro 'EFL'
# define EFL mc_eflags
^
/usr/include/machine/ucontext.h:56:7: note: 'mc_flags' declared here
int mc_flags;
^
2 warnings and 4 errors generated.
Reported by: pkg-fallout (aarch64)