First of all, apologies if this report doesn't follow the correct convention, but since this is a libbacktrace bug, most of it doesn't apply. I'm keeping this rather short, since I guess the maintainer is the same one as the github version (https://github.com/ianlancetaylor/libbacktrace), so this is mostly to help internal/upstream tracking and coordination: https://github.com/ianlancetaylor/libbacktrace/blob/master/elf.c#L2965 claims, that "we hold on to the string table permanently.", which is only true until a https://github.com/ianlancetaylor/libbacktrace/blob/master/elf.c#L3197, which is caused by https://github.com/ianlancetaylor/libbacktrace/blob/master/elf.c#L3071 Now I don't know if it's "okay" for L3071 to fail, like this expected, then Line 3197 is just wrong. If this is a more critical fault or releasing the symnames there is required, then the changes made to the state (symdata) have to be rolled back, so no one is relying on them as the error is not propagated back, but skipped. the mentioned backtrace_get_view fails because of backtrace_get_view L77 -> file too short, size = 2884504395, got = 2147479552. see https://github.com/ianlancetaylor/libbacktrace/issues/29 for where I intially reported this.
This is fixed in https://github.com/ianlancetaylor/libbacktrace, if the changes are also upstream, this bug can be closed.
I've been postponing a merge from the GitHub repo to the GCC repo because GCC development is in stage 4 (only changes that fix significant bugs).