Can't reference 'dispatch_queue_create_with_target' when min tvOS version is exactly 10.0

Originator:rolfbjarne
Number:rdar://48076044 Date Originated:2019/02/14
Status:Closed Resolved:
Product:tvOS + SDK Product Version:
Classification: Reproducible:Always
 
Summary:

The linker fails to find 'dispatch_queue_create_with_target' when the min tvOS version is exactly 10.0.

Steps to Reproduce:

Download test.c and test.sh from here: https://gist.github.com/rolfbjarne/364d58fcd4f3b19eab2b98e842972a70

Then execute test.sh.

Expected Results:

All green.

Actual Results:

❌ Failed to link with -mtvos-version-min=10.0:
    Undefined symbols for architecture arm64:
      "_dispatch_assert_queue", referenced from:
          _main in test-262928.o
      "_dispatch_assert_queue_not", referenced from:
          _main in test-262928.o
      "_dispatch_queue_create_with_target", referenced from:
          _main in test-262928.o
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

Version/Build: 

I tried with Xcode 9.2, 9.4, 10.1 and 10.2 beta 2, all have the same behavior.

Comments

Apple said:

This is a follow-up to Bug ID# 48076044.

Engineering has determined that this issue behaves as intended based on the following information:

These symbols are renamed, please use the SDK.

We consider this issue closed. If you have any questions or concern regarding this issue, please update your report directly (http://bugreport.apple.com).

Thank you for taking the time to notify us of this issue.

By rolfbjarne at Feb. 26, 2019, 5:35 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!