From: Andrew Pinski Date: Sat, 1 Jul 2023 17:52:48 +0000 (-0700) Subject: Use chain_next on eh_landing_pad_d for GTY (PR middle-end/110510) X-Git-Tag: basepoints/gcc-15~7869 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0a333612bfb7faf8d61210c831165388e758768;p=thirdparty%2Fgcc.git Use chain_next on eh_landing_pad_d for GTY (PR middle-end/110510) The backtrace in the bug report suggest there is a running out of stack during GC collection, because of a long chain of eh_landing_pad_d. This might fix that by adding chain_next onto eh_landing_pad_d's GTY marker. OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. gcc/ChangeLog: PR middle-end/110510 * except.h (struct eh_landing_pad_d): Add chain_next GTY. --- diff --git a/gcc/except.h b/gcc/except.h index 378a9e4cb77b..173b0f026db1 100644 --- a/gcc/except.h +++ b/gcc/except.h @@ -66,7 +66,7 @@ enum eh_region_type /* A landing pad for a given exception region. Any transfer of control from the EH runtime to the function happens at a landing pad. */ -struct GTY(()) eh_landing_pad_d +struct GTY((chain_next("%h.next_lp"))) eh_landing_pad_d { /* The linked list of all landing pads associated with the region. */ struct eh_landing_pad_d *next_lp;