cdrdao would trigger SIGSEGV (or SIGILL with -ggdb) on reading a 'toc' file during 'write' or 'simulate' operations.
Two functions in trackdb/Track.cc were missing return statements, causing error in stack frame handling on return. (Probably new behavior with clang.) This small patch makes write (and simulate) work for me on amd64, 6.2 stable: --- trackdb/Track.cc.orig Mon May 9 11:39:47 2005 +++ trackdb/Track.cc Wed Mar 7 07:59:24 2018 @@ -411,6 +411,8 @@ } update(); + + return true; } // Sets ISRC code. Expected string: "CCOOOYYSSSSS" @@ -596,6 +598,8 @@ } } } + + return true; } // Locates 'SubTrack' that contains specified sample.