Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit 78fe28d

Browse files
committed
Merge remote-tracking branch 'upstream/master' into stable
2 parents 3f75cae + 84db3c6 commit 78fe28d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+4211
-1468
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ trace.log
1111
/errno_c*.obj
1212
/msvc*.obj
1313
make
14+
*.lst

CODEOWNERS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ src/core/runtime.d @MartinNowak @Abscissa
2727
src/core/simd.d @WalterBright @MartinNowak
2828
src/core/stdc/* @schveiguy @ibuclaw
2929
src/core/stdcpp/* @WalterBright @Darredevil @TurkeyMan
30-
src/core/sync/* @MartinNowak @Geod24 @WalterBright @ZombineDev
30+
src/core/sync/* @MartinNowak @Geod24 @WalterBright @PetarKirov
3131
src/core/sys/bionic/* @joakim-noah
3232
src/core/sys/darwin/* @jacob-carlborg @klickverbot @etcimon @MartinNowak
3333
src/core/sys/freebsd/* @redstar @MartinNowak @Calrama @jmdavis
@@ -38,11 +38,11 @@ src/core/sys/openbsd/* @redstar
3838
src/core/sys/posix/* @CyberShadow @MartinNowak @joakim-noah @redstar
3939
src/core/sys/solaris/* @redstar
4040
src/core/sys/windows/* @CyberShadow
41-
src/core/thread.d @MartinNowak @Burgos @jpf91 @ZombineDev
41+
src/core/thread.d @MartinNowak @Burgos @jpf91 @PetarKirov
4242
src/core/time.d @jmdavis @schveiguy @CyberShadow
4343

4444
src/etc* @deadalnix @MartinNowak
45-
src/gc* @rainers @DmitryOlshansky @MartinNowak @leandro-lucarella-sociomantic
45+
src/core/internal/gc/* @rainers @DmitryOlshansky @MartinNowak @llucax
4646

4747
src/object.d @andralex @MartinNowak
4848

changelog/callStructDtorsDuringGC.dd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
The druntime option `callStructDtorsDuringGC` has been removed
2+
3+
It had been deprecated in 2.088.

changelog/freebsd-statvfs.dd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FreeBSD declarations from statvfs that belong in mount have been removed
2+
3+
It had been deprecated in 2.082 in favor of `core.sys.freebsd.sys.mount`.

changelog/libunwind.dd

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Experimental llvm-libunwind based backtrace printing was added
2+
3+
Currently, druntime uses the `backtrace` and `backtrace_symbols` functions
4+
to provide debug informations (addresses and function names, respectively).
5+
6+
This can create issues for target that do not provide `backtrace`, such as Musl libc.
7+
Additionally, the `backtrace` interface is inherently limited, as it only allow
8+
to get up to `X` frames (where `X` is the size of the buffer), and forces them
9+
to be stored continuously in memory. The same apply to `backtrace_symbols`.
10+
11+
On the other hand, libunwind is an industry standard for unwinding and stack trace inspection.
12+
It has been ported to a variety of platform, has a simple yet flexible API,
13+
and is part of GCC, and a similar library is part of LLVM.
14+
15+
Starting from this release, druntime includes a way to use LLVM's libunwind as a backtrace provider.
16+
The support is limited to LLVM's version of libunwind, as it is available on Alpine Linux,
17+
and easier to interface with.
18+
19+
For packagers, one can define `DRuntime_Use_Libunwind` when building druntime,
20+
enabling the support by default.

mak/COPY

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,29 @@ COPY=\
5353
\
5454
$(IMPDIR)\core\internal\backtrace\dwarf.d \
5555
$(IMPDIR)\core\internal\backtrace\elf.d \
56+
$(IMPDIR)\core\internal\backtrace\handler.d \
57+
$(IMPDIR)\core\internal\backtrace\libunwind.d \
5658
$(IMPDIR)\core\internal\backtrace\macho.d \
59+
$(IMPDIR)\core\internal\backtrace\unwind.d \
5760
\
5861
$(IMPDIR)\core\internal\elf\dl.d \
5962
$(IMPDIR)\core\internal\elf\io.d \
6063
\
64+
$(IMPDIR)\core\internal\gc\bits.d \
65+
$(IMPDIR)\core\internal\gc\os.d \
66+
$(IMPDIR)\core\internal\gc\pooltable.d \
67+
$(IMPDIR)\core\internal\gc\proxy.d \
68+
$(IMPDIR)\core\internal\gc\impl\conservative\gc.d \
69+
$(IMPDIR)\core\internal\gc\impl\manual\gc.d \
70+
$(IMPDIR)\core\internal\gc\impl\proto\gc.d \
71+
\
6172
$(IMPDIR)\core\internal\container\array.d \
6273
$(IMPDIR)\core\internal\container\common.d \
6374
$(IMPDIR)\core\internal\container\hashtab.d \
6475
$(IMPDIR)\core\internal\container\treap.d \
6576
\
6677
$(IMPDIR)\core\internal\util\array.d \
78+
$(IMPDIR)\core\internal\util\math.d \
6779
\
6880
$(IMPDIR)\core\internal\vararg\aarch64.d \
6981
$(IMPDIR)\core\internal\vararg\sysv_x64.d \
@@ -107,15 +119,18 @@ COPY=\
107119
\
108120
$(IMPDIR)\core\sys\bionic\err.d \
109121
$(IMPDIR)\core\sys\bionic\fcntl.d \
122+
$(IMPDIR)\core\sys\bionic\stdlib.d \
110123
$(IMPDIR)\core\sys\bionic\string.d \
111124
$(IMPDIR)\core\sys\bionic\unistd.d \
112125
\
113126
$(IMPDIR)\core\sys\darwin\crt_externs.d \
114127
$(IMPDIR)\core\sys\darwin\dlfcn.d \
115128
$(IMPDIR)\core\sys\darwin\err.d \
116129
$(IMPDIR)\core\sys\darwin\execinfo.d \
130+
$(IMPDIR)\core\sys\darwin\fcntl.d \
117131
$(IMPDIR)\core\sys\darwin\ifaddrs.d \
118132
$(IMPDIR)\core\sys\darwin\pthread.d \
133+
$(IMPDIR)\core\sys\darwin\stdlib.d \
119134
$(IMPDIR)\core\sys\darwin\string.d \
120135
\
121136
$(IMPDIR)\core\sys\darwin\mach\dyld.d \
@@ -133,6 +148,7 @@ COPY=\
133148
$(IMPDIR)\core\sys\darwin\sys\cdefs.d \
134149
$(IMPDIR)\core\sys\darwin\sys\event.d \
135150
$(IMPDIR)\core\sys\darwin\sys\mman.d \
151+
$(IMPDIR)\core\sys\darwin\sys\sysctl.d \
136152
\
137153
$(IMPDIR)\core\sys\freebsd\config.d \
138154
$(IMPDIR)\core\sys\freebsd\dlfcn.d \
@@ -142,6 +158,7 @@ COPY=\
142158
$(IMPDIR)\core\sys\freebsd\netinet\in_.d \
143159
\
144160
$(IMPDIR)\core\sys\freebsd\pthread_np.d \
161+
$(IMPDIR)\core\sys\freebsd\stdlib.d \
145162
$(IMPDIR)\core\sys\freebsd\string.d \
146163
$(IMPDIR)\core\sys\freebsd\time.d \
147164
$(IMPDIR)\core\sys\freebsd\unistd.d \
@@ -157,6 +174,7 @@ COPY=\
157174
$(IMPDIR)\core\sys\freebsd\sys\link_elf.d \
158175
$(IMPDIR)\core\sys\freebsd\sys\mman.d \
159176
$(IMPDIR)\core\sys\freebsd\sys\mount.d \
177+
$(IMPDIR)\core\sys\freebsd\sys\sysctl.d \
160178
\
161179
$(IMPDIR)\core\sys\dragonflybsd\dlfcn.d \
162180
$(IMPDIR)\core\sys\dragonflybsd\err.d \
@@ -165,6 +183,7 @@ COPY=\
165183
$(IMPDIR)\core\sys\dragonflybsd\netinet\in_.d \
166184
\
167185
$(IMPDIR)\core\sys\dragonflybsd\pthread_np.d \
186+
$(IMPDIR)\core\sys\dragonflybsd\stdlib.d \
168187
$(IMPDIR)\core\sys\dragonflybsd\string.d \
169188
$(IMPDIR)\core\sys\dragonflybsd\time.d \
170189
\
@@ -179,6 +198,7 @@ COPY=\
179198
$(IMPDIR)\core\sys\dragonflybsd\sys\link_elf.d \
180199
$(IMPDIR)\core\sys\dragonflybsd\sys\mman.d \
181200
$(IMPDIR)\core\sys\dragonflybsd\sys\socket.d \
201+
$(IMPDIR)\core\sys\dragonflybsd\sys\sysctl.d \
182202
\
183203
$(IMPDIR)\core\sys\linux\config.d \
184204
$(IMPDIR)\core\sys\linux\dlfcn.d \
@@ -217,6 +237,7 @@ COPY=\
217237
$(IMPDIR)\core\sys\netbsd\dlfcn.d \
218238
$(IMPDIR)\core\sys\netbsd\err.d \
219239
$(IMPDIR)\core\sys\netbsd\execinfo.d \
240+
$(IMPDIR)\core\sys\netbsd\stdlib.d \
220241
$(IMPDIR)\core\sys\netbsd\string.d \
221242
$(IMPDIR)\core\sys\netbsd\time.d \
222243
\
@@ -228,9 +249,11 @@ COPY=\
228249
$(IMPDIR)\core\sys\netbsd\sys\featuretest.d \
229250
$(IMPDIR)\core\sys\netbsd\sys\link_elf.d \
230251
$(IMPDIR)\core\sys\netbsd\sys\mman.d \
252+
$(IMPDIR)\core\sys\netbsd\sys\sysctl.d \
231253
\
232254
$(IMPDIR)\core\sys\openbsd\dlfcn.d \
233255
$(IMPDIR)\core\sys\openbsd\err.d \
256+
$(IMPDIR)\core\sys\openbsd\stdlib.d \
234257
$(IMPDIR)\core\sys\openbsd\string.d \
235258
$(IMPDIR)\core\sys\openbsd\time.d \
236259
\
@@ -241,6 +264,7 @@ COPY=\
241264
$(IMPDIR)\core\sys\openbsd\sys\elf_common.d \
242265
$(IMPDIR)\core\sys\openbsd\sys\link_elf.d \
243266
$(IMPDIR)\core\sys\openbsd\sys\mman.d \
267+
$(IMPDIR)\core\sys\openbsd\sys\sysctl.d \
244268
\
245269
$(IMPDIR)\core\sys\posix\arpa\inet.d \
246270
$(IMPDIR)\core\sys\posix\aio.d \
@@ -307,6 +331,7 @@ COPY=\
307331
$(IMPDIR)\core\sys\solaris\execinfo.d \
308332
$(IMPDIR)\core\sys\solaris\libelf.d \
309333
$(IMPDIR)\core\sys\solaris\link.d \
334+
$(IMPDIR)\core\sys\solaris\stdlib.d \
310335
$(IMPDIR)\core\sys\solaris\time.d \
311336
\
312337
$(IMPDIR)\core\sys\solaris\sys\elf.d \

0 commit comments

Comments
 (0)