https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63303
--- Comment #14 from Florian Weimer <fw at gcc dot gnu.org> --- (In reply to Szabolcs Nagy from comment #13) > if gcc treats p-q as (ssize_t)p-(ssize_t)q and makes > optimization decisions based on signed int range then > that's broken and leads to wrong code gen. Thanks for the test case. I think the remedy proposed so far (glibc should block allocations sized half of the address space and larger) is insufficient.