Commit Graph

45 Commits

Author SHA1 Message Date
Ariel Abreu
380f03c180
Don't build anything in src/BlocksRuntime
Those sources are for non-Darwin platforms. On Darwin platforms,
libdispatch uses libsystem_blocks instead.

Additionally, this was causing issues because both libdispatch and
libsystem_blocks were exporting the block class globals, but only one of
them could be exported by libSystem, and which one gets exported was
at the whim of whatever dyld decided at runtime.
2023-09-25 16:22:58 -04:00
CuriousTommy
2252b53093
Merge pull request #2 from darlinghq/fedora_38_fix
Fix Building For Fedora 38
2023-06-28 09:54:28 -07:00
Thomas A
d905f55617 Fix implicit-function-declaration 2023-06-19 17:34:21 -07:00
CuriousTommy
f2206fee02
Merge pull request #1 from darlinghq/update_sources_11.5
Update Sources 11.5 - libdispatch
2023-05-12 06:14:08 -07:00
Thomas A
c18e332860 Upload README.md 2023-05-03 10:10:51 -07:00
Thomas A
4e83e2f6cd Fix Building 2023-05-03 10:02:12 -07:00
Thomas A
043772dde1 Reorganize Source Files And Added Source Files 2023-05-03 10:02:02 -07:00
Thomas A
342a5fcd4e Restore Darling specific changes 2023-05-03 10:00:51 -07:00
Thomas A
4ae5219973 Add back test cases 2022-03-26 14:41:39 -07:00
Thomas A
5490af73c1 Update to libdispatch-1271.120.2 2022-03-26 14:21:45 -07:00
Ariel Abreu
5bceb4b74b
Import and build tests from apple/swift-corelibs-libdispatch
They were imported from apple/swift-corelibs-libdispatch@34f383d344, so the tests are slightly newer than the actual libdispatch code, but that shouldn't be a problem.
2021-05-22 11:38:55 -04:00
Ariel Abreu
1517faca3b
Allow OS_OBJECT_HAVE_OBJC_SUPPORT on i386 as well 2021-04-30 08:01:21 -04:00
Ariel Abreu
cc0856ab03
Disable queue narrowing (DISPATCH_USE_WORKQUEUE_NARROWING)
Leaving it on would require us to use HAVE_PTHREAD_WORKQUEUE_QOS.

This fixes some crashes in LLDB. It still doesn't work 100% as it does on master, but at least it doesn't crash unexpectedly now.
2020-12-15 19:06:16 -05:00
Ariel Abreu
54adbd19c8
Remove DISPATCH_DEBUG
I had forgotten to remove it from when I was debugging libdispatch
2020-11-17 23:20:12 -05:00
Ariel Abreu
5a12954d5d
Revert some CMakeLists changes 2020-10-26 23:56:42 -04:00
Ariel Abreu
847b953ee7
Temporary hacks for some crashes 2020-10-07 12:43:22 -04:00
Ariel Abreu
ae5c89c4ad
Hack to fix manager root queue workers
This hack fixes crashes when the manager root queue is passed to a worker thread. (This was happening because of `_dispatch_kq_init` queuing up the manager thread).

Not sure if Apple's code was intentionally broken (i.e. maybe we're using an unsupported configuration) or if it was accidental, but either way, this most definitely feels like a hack (but it *does* prevent libdispatch from crashing, and I'm fairly limited in my debug capabilities at the moment to be able to tell if events are actually getting processed as they should).
2020-09-29 23:21:48 -04:00
Ariel Abreu
d36bf2a97b
Disable a feature check 2020-09-27 21:35:45 -04:00
Ariel Abreu
79decb5f98
Re-disable pthread QoS + other build fixes
Don't know what happened before; I had to enable pthread QoS to get it to build. Now, it works just fine with it disabled. It makes zero sense. I'm pretty sure I didn't change anything that should affect that. Whatever, I'll take the win.

In other news, I also fixed the build (failing with undefined symbols) by adding src/shims/yield.c and disabling an Objective-C class conditionally (that conditional really should be in the upstream sources as well, but it's not)
2020-06-16 11:31:07 -04:00
Ariel Abreu
e823924ed5
Always enable OS object Objective-C declarations 2020-06-08 21:53:15 -04:00
Ariel Abreu
7352a4eed9
Darling build of libdispatch-1173.60.1
Note: this *builds* but I'm not sure if it *runs*. Especially because of I had to enable a feature that was previously disabled in order to make it compile: kevent QoS.

P.S. to Apple: Would you mind making sure your code compiles for each "supported" configuration? Or otherwise just remove them entirely? Thanks.
2020-06-07 18:42:41 -04:00
Ariel Abreu
d839feb6b7
libdispatch-1173.60.1 2020-06-04 11:50:31 -04:00
Ariel Abreu
e22ad07e5a
Initial update to clean up include directories
"initial" because there might some additional modifications necessary later on
2020-05-14 12:57:41 -04:00
Lubos Dolezel
57c975b07c Use add_darling_static_library() 2020-04-17 23:23:28 +02:00
Sergey Bugaev
ef2bd1d240 Workaround a crash
See https://github.com/darlinghq/darling/issues/483
2020-04-15 18:45:09 +03:00
Thomas A
50157e1326 Remove __BLOCKS__ definition 2020-03-31 10:29:22 -07:00
Thomas A
f163271fc9 Remove redundant definitions 2020-03-30 15:44:48 -07:00
Lubos Dolezel
fbc3120060 Make os/object_private.h compatible with libsystem_trace 2020-02-26 23:19:05 +01:00
Sergey Bugaev
0b8c59cc65 Ensure libdispatch uses os/tsd.h 2019-04-27 00:17:51 +03:00
Andrew Hyatt
369f178528 Fix linker flags
There was an issue where a symbol that was created as an alias was
present in the final dylib but not the first pass dylib. Some
inspection of the circular library function found that the issue is
those flags were not having an effect on the first pass dylib
because they should be passed in as a parameter of the function.
2019-01-15 11:43:08 -05:00
Lubos Dolezel
ff68af8cb4 Fix a missing symbol problem for 'xcrun' 2018-07-27 01:08:32 +02:00
Lubos Dolezel
5a1be00eb0 Avoid using mach_port_construct() until we upgrade the LKM 2017-07-19 21:03:13 +02:00
Andrew Hyatt
7f1db2b81f Revert "Revert "Create symlinks for headers in the os folder""
This reverts commit f69baba78f.
2017-06-25 12:28:44 -07:00
Andrew Hyatt
f69baba78f Revert "Create symlinks for headers in the os folder"
This reverts commit e0c354adba.
2017-06-25 12:27:24 -07:00
Andrew Hyatt
e0c354adba Create symlinks for headers in the os folder 2017-06-13 18:03:50 -07:00
Andrew Hyatt
a4006fbab5 Add missing header 2017-04-25 21:58:25 -07:00
Lubos Dolezel
63577dd7f7 Fix build problem with Clang 4.0+ 2017-04-17 12:47:56 +02:00
Lubos Dolezel
f62afe0c66 More build changes for a working libdispatch 2017-04-16 18:22:31 +02:00
Lubos Dolezel
585f682857 Build changes to force old kernel workqueues SPI 2017-04-16 12:10:55 +02:00
Lubos Dolezel
16643d3d99 Build libdispatch properly, an order_file is required 2017-04-11 16:37:41 +02:00
Lubos Dolezel
1eae25267f Adapt build to updated libc++ 2017-03-27 20:49:07 +02:00
Lubos Dolezel
ef949fcd73 Updated header locations 2017-02-22 21:23:34 +01:00
Lubos Dolezel
317eea76c7 Fix dyld errors with upward linking 2017-01-30 21:59:30 +01:00
Lubos Dolezel
5c8f537d69 Darling build 2017-01-28 21:49:47 +01:00
Lubos Dolezel
59e443afac libdispatch-703.30.5 2017-01-28 19:37:53 +01:00