Perhaps I should mention the keyword "locale" here. It seems pretty
clear that the segfault is caused by strtol_l_internal receiving a
null pointer as its locale argument. So the C library start-up code,
when presented with an empty auxiliary vector, is silently failing to
initialise the locale
> I'm not sure how intentionally corrupting the stack with a debugger to
> cause a segfault constitutes a glibc bug...
Setting the auxiliary vector to empty is not really "corrupting" it. You
just need to ask yourself whether you consider it acceptable for the C
library to segfault when presented