This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/70617] internal compiler error: Segmentation fault
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 18 Apr 2016 11:54:45 +0000
- Subject: [Bug c++/70617] internal compiler error: Segmentation fault
- Auto-submitted: auto-generated
- References: <bug-70617-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70617
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #9)
> Ok, so
>
> page_table table = G.lookup;
> uintptr_t high_bits = (uintptr_t) p & ~ (uintptr_t) 0xffffffff;
> while (table->high_bits != high_bits)
> table = table->next;
> base = &table->table[0];
>
> here we assume we never get a non-GC pointer passed to
> lookup_page_table_entry
> (which is a valid assumption). What's p's value here?
I think that is valid assumption, so if we refer to non-GC memory from GC
memory without skip, that is where the bug is.