2
0
mirror of https://github.com/boostorg/context.git synced 2026-01-19 16:12:17 +00:00

1149 Commits

Author SHA1 Message Date
Oliver Kowalke
639fa73056 Merge pull request #321 from vchigrin/develop
Add information to .eh_frame ELF secion about make_fcontext function.
2025-12-27 17:25:36 +01:00
Oliver Kowalke
a53b9da9b8 Merge pull request #322 from corngood/cygwin
Don't default to ucontext on cygwin.
2025-12-27 16:27:51 +01:00
Oliver Kowalke
e4bce3e863 Merge pull request #320 from mrmitzh/develop
Renamed forced_unwind struct to fiber_forced_unwind in fiber_ucontext
2025-12-27 16:26:15 +01:00
David McFarland
3be17f5ccb Don't default to ucontext on cygwin. 2025-12-18 10:38:21 -04:00
Vyacheslav Chigrin
2179688858 Add information to .eh_frame ELF secion about make_fcontext function. 2025-12-10 13:24:51 +03:00
ZT
f6445d50e7 Renamed forced_unwind struct to fiber_forced_unwind in fiber_ucontext.hpp 2025-11-20 02:34:05 +00:00
Oliver Kowalke
6ff80e0575 Merge pull request #319 from erikbs/feature/improve-configuration-for-PowerPC
CMakeLists: improve detection of PowerPC architectures
boost-1.90.0
2025-10-29 21:21:03 +01:00
Erik Bråthen Solem
3335e8510d Add additional checks to detect more PowerPC architecture name variants 2025-10-29 03:23:54 +01:00
Erik Bråthen Solem
557b8f6291 Fix detection of PowerPC architectures 2025-10-29 03:23:03 +01:00
Oliver Kowalke
18aae90bf4 Merge pull request #314 from crueter/fix/armasm
[cmake] don't apply assembler options to armasm
2025-09-24 16:35:43 +02:00
Oliver Kowalke
230d5fe5a2 Merge pull request #315 from vask2108/feature/windows-arm64-libs-context-changes
Add Windows ARM64 support
2025-09-24 08:23:34 +02:00
Vasanth Karanam
68ea30dfd7 Add Windows ARM64 support
Currently we do not have fcontext related ASM files for Windows ARM64.
So we can use winfib context-impl only for Windows ARM64.

Fixes issue : https://github.com/boostorg/boost/issues/1070
Related to PR: https://github.com/boostorg/boost/pull/1077
2025-09-23 20:44:35 +01:00
Vasanth Karanam
28722d1c8b Add Windows ARM64 support
Fixes issue : https://github.com/boostorg/boost/issues/1070
Related to PR: https://github.com/boostorg/boost/pull/1077
2025-09-23 20:37:38 +01:00
Oliver Kowalke
8fed94c031 Merge pull request #316 from boostorg/feature/gha-windows
Add Windows jobs to ci.yml
2025-09-23 18:20:25 +02:00
Peter Dimov
85c95310e8 Add Windows jobs to ci.yml 2025-09-09 22:10:23 +03:00
crueter
71153912f0 [cmake] don't apply assembler options to armasm
MSVC armasm doesn't support /nologo, /quiet etc. so let's just not apply
any options period.

Signed-off-by: crueter <crueter@eden-emu.dev>
2025-09-08 12:39:15 -04:00
Oliver Kowalke
e9a7b968ec Merge pull request #312 from zaydr-al/bti-aarch64-fix
[AArch64][BTI] Add BTI hint + GNU property to fcontext trampolines
2025-08-26 13:22:23 +02:00
Zayd Rajab
1be6822473 [AArch64][BTI] Add BTI hint + GNU property to fcontext trampolines (ELF/GAS)
The AArch64 fcontext trampolines (jump_fcontext, make_fcontext, ontop_fcontext)
are indirect-entry-points. On BTI-enforcing systems they must begin with a BTI
or the first resume can trap with SIGILL.

Insert `bti c` (hint #34) at each entry under `__ARM_FEATURE_BTI_DEFAULT`, and
emit `GNU_PROPERTY_AARCH64_FEATURE_1_BTI` from each AArch64 assembly file so
linkers map the DSO with PROT_BTI without requiring -z force-bti.

Scope: ELF/GAS AArch64 trampolines only; +4 bytes per entry

Fixes #308
2025-08-15 22:13:10 +00:00
Oliver Kowalke
f5deda1181 Merge pull request #307 from lowkeyrossi/WoA_fix
CMake: Set correct assembler for MSVC ARM targets
2025-07-31 14:24:29 +02:00
Oliver Kowalke
39a9bcfe16 Merge pull request #309 from carlo-bramini/fix-cygwin-build-1
[CMAKE] CYGWIN: set correct binfmt and abi
2025-07-31 09:49:45 +02:00
Carlo Bramini
480f09eb38 [CMAKE] CYGWIN: set correct binfmt and abi
Compiling on CYGWIN prints this error:

[  4%] Building ASM-ATT object libs/context/CMakeFiles/boost_context.dir/src/asm/make_x86_64_sysv_elf_gas.S.o
/usr/bin/as: unrecognized option `-x'
make[2]: *** [libs/context/CMakeFiles/boost_context.dir/build.make:78: libs/context/CMakeFiles/boost_context.dir/src/asm/make_x86_64_sysv_elf_gas.S.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3961: libs/context/CMakeFiles/boost_context.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

This PR fixes the right assembly sources to build because sysv and elf are nonsense on CYGWIN.
After this patch, it correctly searches make_x86_64_ms_pe_gas.asm, although it still raises an error because unrecognized -x option.
2025-07-30 13:18:38 +02:00
newyork_loki
8b19d4f5e7 CMake: Set correct assembler for MSVC ARM targets 2025-07-10 18:15:18 +05:30
Oliver Kowalke
3af0091efa Merge pull request #303 from NaN-git/fix-#302
restore exception state after destruction of fiber
boost-1.90.0.beta1 boost-1.89.0
2025-05-25 16:34:41 +02:00
Oliver Kowalke
d6c1beb80b Merge pull request #305 from tkoecker/patch-1
fix build of ontop_sparc64_sysv_elf_gas.S
2025-05-25 16:30:46 +02:00
Oliver Kowalke
6ea12b1d30 Merge pull request #304 from grafikrobot/patch-1
Fix building with clang-win 32 bit.
2025-05-25 16:30:11 +02:00
tkoecker
12280a8b2b fix build of ontop_sparc64_sysv_elf_gas.S
Fix the symbol names used for .size
2025-05-16 12:35:25 +02:00
René Ferdinand Rivera Morell
3378976432 Add safeseh to clang-win building.
As an alternative msvc compiler the clang-win toolset needs the same seh flags.
2025-05-15 22:47:13 -05:00
René Ferdinand Rivera Morell
d65aff9e2d Test address model 32 for clang-cl. 2025-05-15 22:01:06 -05:00
Philipp Otterbein
c79564d0de restore exception state after destruction of fiber 2025-05-10 03:27:05 +02:00
Oliver Kowalke
3847230000 Merge pull request #300 from striezel-stash/fix-typos
Fix several typos
2025-05-02 06:49:43 +02:00
Oliver Kowalke
e3ab83ea8f Merge pull request #301 from striezel-stash/ci-ubuntu-20.04-deprecation
Remove Ubuntu 20.04 build from CI
2025-05-02 06:49:03 +02:00
Dirk Stolle
916eacab37 Remove Ubuntu 20.04 build from CI
The Ubuntu 20.04 image on GitHub Actions has been unavailable
since 2025-04-15. See <https://github.com/actions/runner-images/issues/11101>
for more information on the deprecation and removal.

Therefore all build jobs that use the Ubuntu 20.04 runner image
of GHA will fail and have to be replaced or removed.
2025-05-01 23:32:22 +02:00
Dirk Stolle
1775cebd4f Fix several typos 2025-05-01 23:26:37 +02:00
Oliver Kowalke
64630f7285 Merge pull request #299 from elfprince13/patch-1
Support gcc when building ASM on Darwin
2025-04-18 21:40:56 +02:00
Thomas Dickerson
35ddf2103e Support gcc when building ASM on Darwin
Parallel to #178 but for aarch64 instead of x86_64
2025-04-17 12:00:53 -04:00
Oliver Kowalke
ef39a898d3 Merge pull request #294 from Challanger524/fix_clang-cl_masm_combo
Fix `clang-cl` `MSVC` frontend received `GNU` flag on assembling
2025-04-17 06:22:19 +02:00
Daniil
628cefe0ca Fix clang-cl MSVC frontend received GNU flag on assembling 2025-02-22 20:38:31 +02:00
Oliver Kowalke
afd2ce3372 Merge pull request #291 from CBBBrother/fix_x86_64_tls_stack_protector
fix tls stack protector on x86_64
boost-1.88.0
2025-02-21 14:57:43 +01:00
Oliver Kowalke
0d9576592b Merge pull request #290 from ashtum/suppress-unused-variable-warning
Suppressed unused variable warning in fiber_fcontext.hpp
2025-02-21 14:56:11 +01:00
Oliver Kowalke
1fd62abbf4 Merge pull request #288 from Challanger524/suppress-odd-build-output
Suppress build: `masm` logo and `clang` warning argument unused during compilation
2025-02-21 14:55:45 +01:00
CBBBrother
7f5f436c0f fix tls staack protector on x86_64 2025-02-17 15:00:57 +03:00
Mohammad Nejati
618d7e0ae4 Suppressed unused variable warning in fiber_fcontext.hpp 2025-02-11 15:52:40 +00:00
Daniil
f6726cc39d Suppress build: masm logo and clang warning argument unused during compilation 2025-01-30 16:36:14 +02:00
Oliver Kowalke
8bf61aee56 Merge pull request #285 from anarthal/feature/remove-unused-warning
Suppressed unused variable warning in fiber_fcontext.hpp
2025-01-24 17:05:44 +01:00
Ruben Perez
cef5372547 Suppressed unused variable warning in fiber_fcontext.hpp
close #284
2025-01-24 15:55:59 +01:00
Oliver Kowalke
1cfab7798b Merge pull request #283 from iv-m/fix-loonarch64-build
Fix ABI detection for empty 'os.platform'
2025-01-24 05:47:12 +01:00
Ivan A. Melnikov
63996e427b Fix ABI detection for empty 'os.platform'
`in` operator in bjam always returns true if its first
argument has no elements[1]. This means that if `os.platform`
is empty (not detected), the construction introduced
in commit 9084161b87 sets
ABI to `aapcs` on all platforms where `os.platform` is
empty, including, e.g. loongarch64, and breaks build there.

This commit refactors the condition to use '=' operator,
to make sure that when `os.platform` is empty we get
the default ABI value, and thus fixes build on loongarch64.

See also 819c2d6423 for
similar fix that was somehow lost in refactorings. This
time a comment is added near the condition in hope
that future edits will not reintroduce the issue.

[1] https://www.boost.org/doc/libs/1_83_0/tools/build/doc/html/index.html#jam.language.flow_of_control

Fixes: 9084161b87
2025-01-23 15:39:21 +04:00
Oliver Kowalke
bf043e3baf Merge pull request #281 from nat-goodspeed/nat/fsx-libstdc++
On libstdc++, fiber_fcontext.hpp sets fiber-specific exception state.
2025-01-14 12:52:32 +01:00
Nat Goodspeed
53b175512c On libstdc++ fiber_fcontext.hpp sets fiber-specific exception state. 2025-01-13 11:32:26 -05:00
Peter Dimov
160bfe00f9 Update ci.yml 2025-01-07 16:50:36 +02:00