-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into debug-merge
- Loading branch information
Showing
348 changed files
with
25,558 additions
and
14,583 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Backport | ||
on: | ||
pull_request_target: | ||
types: [closed, labeled] | ||
jobs: | ||
backport: | ||
name: Backport Pull Request | ||
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name)) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
# required to find all branches | ||
fetch-depth: 0 | ||
- name: Create backport PRs | ||
# should be kept in sync with `version` | ||
uses: zeebe-io/[email protected] | ||
with: | ||
# Config README: https://github.com/zeebe-io/backport-action#backport-action | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
github_workspace: ${{ github.workspace }} | ||
pull_description: |- | ||
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}. | ||
# should be kept in sync with `uses` | ||
version: v0.0.5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
2.4 | ||
2.5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
HOST_OS = @host_os@ | ||
AR = @AR@ | ||
BDW_GC_LIBS = @BDW_GC_LIBS@ | ||
BOOST_LDFLAGS = @BOOST_LDFLAGS@ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
diff --git a/pthread_stop_world.c b/pthread_stop_world.c | ||
index 4b2c429..1fb4c52 100644 | ||
--- a/pthread_stop_world.c | ||
+++ b/pthread_stop_world.c | ||
@@ -673,6 +673,8 @@ GC_INNER void GC_push_all_stacks(void) | ||
struct GC_traced_stack_sect_s *traced_stack_sect; | ||
pthread_t self = pthread_self(); | ||
word total_size = 0; | ||
+ size_t stack_limit; | ||
+ pthread_attr_t pattr; | ||
|
||
if (!EXPECT(GC_thr_initialized, TRUE)) | ||
GC_thr_init(); | ||
@@ -722,6 +724,31 @@ GC_INNER void GC_push_all_stacks(void) | ||
hi = p->altstack + p->altstack_size; | ||
/* FIXME: Need to scan the normal stack too, but how ? */ | ||
/* FIXME: Assume stack grows down */ | ||
+ } else { | ||
+ if (pthread_getattr_np(p->id, &pattr)) { | ||
+ ABORT("GC_push_all_stacks: pthread_getattr_np failed!"); | ||
+ } | ||
+ if (pthread_attr_getstacksize(&pattr, &stack_limit)) { | ||
+ ABORT("GC_push_all_stacks: pthread_attr_getstacksize failed!"); | ||
+ } | ||
+ if (pthread_attr_destroy(&pattr)) { | ||
+ ABORT("GC_push_all_stacks: pthread_attr_destroy failed!"); | ||
+ } | ||
+ // When a thread goes into a coroutine, we lose its original sp until | ||
+ // control flow returns to the thread. | ||
+ // While in the coroutine, the sp points outside the thread stack, | ||
+ // so we can detect this and push the entire thread stack instead, | ||
+ // as an approximation. | ||
+ // We assume that the coroutine has similarly added its entire stack. | ||
+ // This could be made accurate by cooperating with the application | ||
+ // via new functions and/or callbacks. | ||
+ #ifndef STACK_GROWS_UP | ||
+ if (lo >= hi || lo < hi - stack_limit) { // sp outside stack | ||
+ lo = hi - stack_limit; | ||
+ } | ||
+ #else | ||
+ #error "STACK_GROWS_UP not supported in boost_coroutine2 (as of june 2021), so we don't support it in Nix." | ||
+ #endif | ||
} | ||
GC_push_all_stack_sections(lo, hi, traced_stack_sect); | ||
# ifdef STACK_GROWS_UP |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
#! /bin/sh | ||
# Configuration validation subroutine script. | ||
# Copyright 1992-2020 Free Software Foundation, Inc. | ||
# Copyright 1992-2021 Free Software Foundation, Inc. | ||
|
||
timestamp='2020-12-02' | ||
timestamp='2021-01-08' | ||
|
||
# This file is free software; you can redistribute it and/or modify it | ||
# under the terms of the GNU General Public License as published by | ||
|
@@ -67,7 +67,7 @@ Report bugs and patches to <[email protected]>." | |
version="\ | ||
GNU config.sub ($timestamp) | ||
Copyright 1992-2020 Free Software Foundation, Inc. | ||
Copyright 1992-2021 Free Software Foundation, Inc. | ||
This is free software; see the source for copying conditions. There is NO | ||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | ||
|
@@ -1185,6 +1185,7 @@ case $cpu-$vendor in | |
| k1om \ | ||
| le32 | le64 \ | ||
| lm32 \ | ||
| loongarch32 | loongarch64 | loongarchx32 \ | ||
| m32c | m32r | m32rle \ | ||
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ | ||
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ | ||
|
@@ -1229,7 +1230,7 @@ case $cpu-$vendor in | |
| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ | ||
| pru \ | ||
| pyramid \ | ||
| riscv | riscv32 | riscv64 \ | ||
| riscv | riscv32 | riscv32be | riscv64 | riscv64be \ | ||
| rl78 | romp | rs6000 | rx \ | ||
| s390 | s390x \ | ||
| score \ | ||
|
@@ -1682,11 +1683,14 @@ fi | |
|
||
# Now, validate our (potentially fixed-up) OS. | ||
case $os in | ||
# Sometimes we do "kernel-abi", so those need to count as OSes. | ||
# Sometimes we do "kernel-libc", so those need to count as OSes. | ||
musl* | newlib* | uclibc*) | ||
;; | ||
# Likewise for "kernel-libc" | ||
eabi | eabihf | gnueabi | gnueabihf) | ||
# Likewise for "kernel-abi" | ||
eabi* | gnueabi*) | ||
;; | ||
# VxWorks passes extra cpu info in the 4th filed. | ||
simlinux | simwindows | spe) | ||
;; | ||
# Now accept the basic system types. | ||
# The portable systems comes first. | ||
|
@@ -1750,6 +1754,8 @@ case $kernel-$os in | |
;; | ||
kfreebsd*-gnu* | kopensolaris*-gnu*) | ||
;; | ||
vxworks-simlinux | vxworks-simwindows | vxworks-spe) | ||
;; | ||
nto-qnx*) | ||
;; | ||
os2-emx) | ||
|
Oops, something went wrong.