https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68738
--- Comment #4 from Rian Quinn <rianquinn at gmail dot com> --- To expand on this issue, any attempt to use the following pattern will result in instability: some_type *p = &var; *p or p-> // Crash A couple of situations that I have seen include: - allocate memory in global or local space (i.e. static). In this case, the crash does not occur all the time. I would have to run our code several times before the code crashes. What was strange with this example was the pointers were all fine (i.e. if I printed out the pointers, they were what I expected, but random attempting to access that pointer using the pointer to reference pattern above would result in a crash.... sometimes. - Getting a pointer to a reference to a member variable of a class would result in a crash consistently. For example, create two member variables in a class p_blah and m_blah, and then in the constructor set as follows: p_blah(&m_blah), the pointer is the correct memory address, but attempts to access the pointer segfault. Also, running all of this code on the Linux version of TARGET=elf-x86_64 works fine (at least on Ubuntu). Also, everything else seems to be working great. The only issue we ever see is any attempt to use the above pattern. Once this is done, the code will either crash instantly, or will crash at random times. For now, we are avoiding this pattern completely.