July 01, 2019
https://issues.dlang.org/show_bug.cgi?id=20019

          Issue ID: 20019
           Summary: Symbol not found: _dyld_enumerate_tlv_storage on macOS
                    10.15
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Mac OS X
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: doob@me.com

Compiling a program using DMD on macOS Catalina (10.15) beta 2 gives the
following error:

dyld: lazy symbol binding failed: Symbol not found: _dyld_enumerate_tlv_storage
  Referenced from: ~/.dvm/compilers/dmd-2.086.0/osx/bin/dmd
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _dyld_enumerate_tlv_storage
  Referenced from: ~/.dvm/compilers/dmd-2.086.0/osx/bin/dmd
  Expected in: /usr/lib/libSystem.B.dylib

Abort trap: 6

"dyld_enumerate_tlv_storage" was a private symbol part of dyld (the dynamic loader). It is used to get the memory locations of all the thread local storage variables to register them as roots with the garbage collector. This symbol doesn't seem to exist anymore on macOS Catalina.

This issue will apply to LDC as well.

--