diff -rup a/sysdeps/linux-gnu/aarch64/fetch.c b/sysdeps/linux-gnu/aarch64/fetch.c --- a/sysdeps/linux-gnu/aarch64/fetch.c 2018-07-05 16:06:04.697642086 -0400 +++ b/sysdeps/linux-gnu/aarch64/fetch.c 2018-07-05 16:16:19.366905601 -0400 @@ -308,12 +308,9 @@ arch_fetch_arg_init(enum tof type, struc struct fetch_script how = pass_arg(context, proc, ret_info); if (how.c == CVT_ERR) goto fail; - if (how.c == CVT_NOP && how.f == FETCH_STACK) { + if (how.c == CVT_BYREF && how.f == FETCH_GPR) { /* XXX double cast. */ context->x8 = (arch_addr_t) (uintptr_t) context->gregs.regs[8]; - /* See the comment above about the assert. */ - assert(! "Unexpected: first argument passed on stack."); - abort(); } return context;