t3make crash on Linux

Hey, I’ve installed frobtads from both the AUR and from github sources. Everything compiles/installs without error, but when I try to compile a .t3m file, I get a Seg Fault with no other error information – it just dumps me back to the console.

From valgrind, this looks like:

==1279== Memcheck, a memory error detector
==1279== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==1279== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==1279== Command: t3make -f heatwave.t3m
==1279== 
TADS Compiler 3.1.3  Copyright 1999, 2012 Michael J. Roberts
	Files to build: 56
	symbol_export ../extensions/adv3Lite/english/grammar.t -> obj/grammar.t3s
==1279== Invalid read of size 8
==1279==    at 0x41C510: find_noref (tcprs.cpp:7505)
==1279==    by 0x41C510: CTcPrsSymtab::find(char const*, unsigned long, CTcPrsSymtab**) (tcprs.cpp:7480)
==1279==    by 0x41CB03: CTcParser::create_sym_node(char const*, unsigned long) (tcprs.cpp:1053)
==1279==    by 0x508A07: CTcParser::parse_grammar(int*, int, int) (tcprsprg.cpp:1637)
==1279==    by 0x50A370: CTcParser::parse_top() (tcprsprg.cpp:776)
==1279==    by 0x4FCC57: CTcMake::build_symbol_file(CTcHostIfc*, CResLoader*, char const*, char const*, CTcMakeModule*, int*, int*) (tcmake.cpp:1668)
==1279==    by 0x4FE0B0: CTcMake::build(CTcHostIfc*, int*, int*, int, int, CRcResList*, char const*) (tcmake.cpp:1184)
==1279==    by 0x404B90: main (tcmakecl.cpp:1687)
==1279==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==1279== 
==1279== 
==1279== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==1279==  Access not within mapped region at address 0x0
==1279==    at 0x41C510: find_noref (tcprs.cpp:7505)
==1279==    by 0x41C510: CTcPrsSymtab::find(char const*, unsigned long, CTcPrsSymtab**) (tcprs.cpp:7480)
==1279==    by 0x41CB03: CTcParser::create_sym_node(char const*, unsigned long) (tcprs.cpp:1053)
==1279==    by 0x508A07: CTcParser::parse_grammar(int*, int, int) (tcprsprg.cpp:1637)
==1279==    by 0x50A370: CTcParser::parse_top() (tcprsprg.cpp:776)
==1279==    by 0x4FCC57: CTcMake::build_symbol_file(CTcHostIfc*, CResLoader*, char const*, char const*, CTcMakeModule*, int*, int*) (tcmake.cpp:1668)
==1279==    by 0x4FE0B0: CTcMake::build(CTcHostIfc*, int*, int*, int, int, CRcResList*, char const*) (tcmake.cpp:1184)
==1279==    by 0x404B90: main (tcmakecl.cpp:1687)
==1279==  If you believe this happened as a result of a stack
==1279==  overflow in your program's main thread (unlikely but
==1279==  possible), you can try to increase the size of the
==1279==  main thread stack using the --main-stacksize= flag.
==1279==  The main thread stack size used in this run was 8388608.
==1279== 
==1279== HEAP SUMMARY:
==1279==     in use at exit: 1,526,234 bytes in 2,901 blocks
==1279==   total heap usage: 4,742 allocs, 1,841 frees, 3,435,611 bytes allocated
==1279== 
==1279== LEAK SUMMARY:
==1279==    definitely lost: 0 bytes in 0 blocks
==1279==    indirectly lost: 0 bytes in 0 blocks
==1279==      possibly lost: 0 bytes in 0 blocks
==1279==    still reachable: 1,526,234 bytes in 2,901 blocks
==1279==         suppressed: 0 bytes in 0 blocks
==1279== Rerun with --leak-check=full to see details of leaked memory
==1279== 
==1279== For counts of detected and suppressed errors, rerun with: -v
==1279== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)

Anybody got any idea what might be going on here? Thanks in advance.

Update: I found the answer, on a DSL forum post.
When compiling frobtads on Linux, you must use the fno-strict-aliasing switch, lest you fall to the Strict Aliasing Bug.

Make like so:

bootstrap
configure “CXXFLAGS=-fno-strict-aliasing”
make
sudo make install

And it should work.