Skip to content

Commit df9c533

Browse files
authored
Merge pull request #5051 from kinke/bump_phobos_reggae
Merge upstream stable and bump bundled reggae to latest master (using dub v1.41.0)
2 parents c360c6d + d3b0fda commit df9c533

5 files changed

Lines changed: 43 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# LDC master
22

33
#### Big news
4-
- Frontend, druntime and Phobos are at version [2.112.1+](https://dlang.org/changelog/2.112.0.html), incl. new command-line options `-extI`, `-dllimport=externalOnly` and `-edition`. (#4949, #4962, #4988, #5029, #5042, #5046)
4+
- Frontend, druntime and Phobos are at version [2.112.1+](https://dlang.org/changelog/2.112.0.html), incl. new command-line options `-extI`, `-dllimport=externalOnly` and `-edition`. (#4949, #4962, #4988, #5029, #5042, #5046, #5051)
55
- Support for [LLVM 21](https://releases.llvm.org/21.1.0/docs/ReleaseNotes.html). The prebuilt packages use v21.1.8. (#4950, #5033)
66
- New prebuilt package for Alpine Linux aarch64 with musl libc, analogous to the existing x86_64 package. (#4943)
77
- **Breaking change for dcompute**: The special `@kernel` UDA is now a function and _**requires**_ parentheses as in `@kernel() void foo(){}`. Optionally you can provide launch dimensions, `@kernel([2,4,8])`, to specify to the compute runtime how the kernel is intended to be launched.

packaging/reggae_version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.12.0
1+
3f3d83743fd7d5798d15abebc5b993f66910866f

runtime/druntime/src/core/sys/posix/unistd.d

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,21 @@ version (CRuntime_Glibc)
671671
_SC_LEVEL4_CACHE_LINESIZE,
672672

673673
_SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
674-
_SC_RAW_SOCKETS
674+
_SC_RAW_SOCKETS,
675+
_SC_V7_ILP32_OFF32,
676+
_SC_V7_ILP32_OFFBIG,
677+
_SC_V7_LP64_OFF64,
678+
_SC_V7_LPBIG_OFFBIG,
679+
_SC_SS_REPL_MAX,
680+
_SC_TRACE_EVENT_NAME_MAX,
681+
_SC_TRACE_NAME_MAX,
682+
_SC_TRACE_SYS_MAX,
683+
_SC_TRACE_USER_EVENT_MAX,
684+
_SC_XOPEN_STREAMS,
685+
_SC_THREAD_ROBUST_PRIO_INHERIT,
686+
_SC_THREAD_ROBUST_PRIO_PROTECT,
687+
_SC_MINSIGSTKSZ,
688+
_SC_SIGSTKSZ,
675689
}
676690
}
677691
else version (Darwin)

runtime/druntime/src/etc/linux/memoryerror.d

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ import ucontext = core.sys.posix.ucontext;
5050

5151
version (MemoryAssertSupported)
5252
{
53+
import core.stdc.stdlib : malloc;
5354
import core.sys.posix.signal : SA_ONSTACK, sigaltstack, SIGSTKSZ, stack_t;
5455
}
5556

@@ -423,7 +424,30 @@ version (MemoryAssertSupported)
423424

424425
// Set up alternate stack, because segfaults can be caused by stack overflow,
425426
// in which case the stack is already exhausted
426-
__gshared ubyte[SIGSTKSZ] altStack;
427+
428+
__gshared void[] altStack; // lazily allocated once only via malloc; never free'd
429+
if (altStack.ptr is null)
430+
{
431+
version (CRuntime_Glibc)
432+
{
433+
// glibc v2.34 switched to a dynamic SIGSTKSZ
434+
import core.sys.posix.unistd : sysconf, _SC_SIGSTKSZ;
435+
436+
auto size = sysconf(_SC_SIGSTKSZ);
437+
if (size <= 0)
438+
size = SIGSTKSZ;
439+
}
440+
else
441+
{
442+
const size = SIGSTKSZ;
443+
}
444+
445+
if (auto p = malloc(size))
446+
altStack = p[0 .. size];
447+
else
448+
return false;
449+
}
450+
427451
stack_t ss;
428452
ss.ss_sp = altStack.ptr;
429453
ss.ss_size = altStack.length;

runtime/phobos

0 commit comments

Comments
 (0)