https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115220
Jeffrey A. Law <law at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW CC| |law at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Last reconfirmed| |2024-05-25 Target|riscv |riscv,fr30 --- Comment #5 from Jeffrey A. Law <law at gcc dot gnu.org> --- It's a generic problem. Almost certainly caused by the recent changes to the sinking code. It can be triggered (for example) on the fr30-elf port with -Os on this trivial testcase: extern char **environ; static char ***p_environ = &environ; int _setenv_r (const char *name, const char *value) { register char *C; int offset; for (C = (*p_environ)[offset]; (*C = *name++) && *C != '='; ++C); for (*C++ = '='; (*C++ = *value++) != 0;); return 0; }