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

1071 Commits

Author SHA1 Message Date
Oliver Kowalke
5298509805 Update CMakeLists.txt
architecture renamed: ppc32/ppc64 -> power
2024-10-08 09:44:23 +02:00
Oliver Kowalke
5d852fc034 Merge pull request #265 from boostorg/master
Master
2024-08-28 12:45:50 +02:00
Oliver Kowalke
b39e229f7f Merge pull request #259 from arnaud-lb/fix-dup
Remove accidentally duplicated shadow stack handling
2024-08-28 12:41:18 +02:00
Oliver Kowalke
ac31d0c2d8 Merge pull request #260 from abatyiev/develop
Fix x32 build on x86-64
2024-08-28 12:40:34 +02:00
Oliver Kowalke
f7c27e2293 Merge pull request #262 from Liryna/develop
Convert ARM64 armasm to armclang
2024-08-28 12:39:21 +02:00
Oliver Kowalke
463cffeac5 Merge pull request #264 from grafikrobot/modular
Add support for modular build structure.
2024-08-28 12:36:47 +02:00
Oliver Kowalke
13e9cde9c3 Merge pull request #257 from Kojoley/ci/switch-to-official-containers-when-possible
Fix CI
2024-08-28 12:12:32 +02:00
Rene Rivera
c79fa6187f Move custom features to its own file we can import from other projects. 2024-07-26 11:22:52 -05:00
Rene Rivera
3f7b900f09 Move custom features to its own file we can import from other projects. 2024-07-26 11:22:36 -05:00
Rene Rivera
953437695b Move inter-lib dependencies to a project variable and into the build targets. 2024-07-23 22:34:23 -05:00
Rene Rivera
285b05d347 Update copyright dates. 2024-07-20 22:52:04 -05:00
Rene Rivera
9084161b87 Default ABI for arm needs to check ARM64 platform for Darwin, at least. 2024-07-18 21:44:38 -05:00
Liryna
e878e8edb2 Convert ARM64 armasm to armclang for Windows clang 2024-06-26 18:24:52 +00:00
Rene Rivera
649dd50d2c Bump B2 require to 5.2 2024-06-14 11:33:55 -05:00
Rene Rivera
b0af135610 Add requires-b2 check to top-level build file. 2024-05-05 09:00:01 -05:00
Rene Rivera
ebca1ad3af Add missing import-search for cconfig/predef checks. 2024-05-04 23:28:40 -05:00
Andrii Batyiev
38e38cad07 Fix x32 build on x86-64 2024-04-29 14:14:34 +03:00
Rene Rivera
3850a4da99 Add missing NO_LIB usage requirements. 2024-04-28 20:14:38 -05:00
Nikita Kniazev
fbbdda06bd CI: ubuntu-18.04 GHA image no longer available 2024-04-28 08:27:38 +03:00
Nikita Kniazev
f50383a34b CI: Switch to official Debian containers 2024-04-28 08:27:37 +03:00
Rene Rivera
877d450537 Remove accidentally added conflict file. 2024-04-26 23:06:09 -05:00
Arnaud Le Blanc
dc5b59f02b Remove accidentally duplicated shadow stack handling 2024-04-23 13:34:59 +02:00
Rene Rivera
2c1409c17a Switch to library requirements instead of source. As source puts extra source in install targets. 2024-03-29 21:15:58 -05:00
René Ferdinand Rivera Morell
d6c700636a Merge branch 'boostorg:develop' into modular 2024-03-11 10:53:41 -05:00
Claudio Jeker
79bfdc584b Add the BOOST_CONTEXT_USE_MAP_STACK logic to test_fcontext.cpp
Without this test_fcontext.cpp fails on OpenBSD with a not-on-stack OS error.
2024-03-11 08:51:26 -05:00
Oliver Kowalke
625bcb96ab update documentation 2024-03-11 08:51:26 -05:00
Claudio Jeker
d2109fdc2e Implement the fcontext asm for sparc64
This implements the required asm functions for sparc64_sysv_elf and
was tested on an OpenBSD/sparc64 system.

Jump_fcontext uses an extra C call frame to store the frame-pointer and
return address. Because of this the code is simply a save (to new reg
window), then forcing a window flush and finally switch stack and restore
from there.

Since jump_fcontext() uses a register window and stack frame, make_fcontext()
reserves two call frames on the stack (one for jump_fcontext() and the other
for the callback function).

OpenBSD/sparc64 uses stackghost which prevents userland from overriding the
return-address on the stack. Because of this make_fcontext() uses an extra
trampoline to implement the _exit(0) call if the callback returns.

All tests pass with this on OpenBSD/sparc64 (also the tests for fiber,
coroutine and coroutine2).
2024-03-11 08:51:26 -05:00
Oliver Kowalke
d81d611fa2 support gcc for ARM64 on mac OS X
- #255
2024-03-11 08:51:26 -05:00
Rene Rivera
9170c51c98 Make the library modular usable. 2024-03-11 08:31:17 -05:00
Oliver Kowalke
1bde50e400 Merge branch 'develop' boost-1.86.0.beta1 boost-1.86.0 boost-1.85.0.beta1 boost-1.85.0 2024-03-10 20:25:58 +01:00
Oliver Kowalke
f5d062c939 Merge pull request #250 from cjeker/fix_test_fcontext_for_map_stack
Add the BOOST_CONTEXT_USE_MAP_STACK logic to test_fcontext.cpp
2024-03-10 20:23:04 +01:00
Oliver Kowalke
d811245d08 update documentation 2024-03-10 20:20:54 +01:00
Oliver Kowalke
d9bea79b09 Merge pull request #251 from cjeker/sparc64_asm_support
Implement the fcontext asm for sparc64
2024-03-10 20:18:12 +01:00
Oliver Kowalke
99be0a678d support gcc for ARM64 on mac OS X
- #255
2024-03-10 20:07:00 +01:00
Claudio Jeker
17945a28a2 Implement the fcontext asm for sparc64
This implements the required asm functions for sparc64_sysv_elf and
was tested on an OpenBSD/sparc64 system.

Jump_fcontext uses an extra C call frame to store the frame-pointer and
return address. Because of this the code is simply a save (to new reg
window), then forcing a window flush and finally switch stack and restore
from there.

Since jump_fcontext() uses a register window and stack frame, make_fcontext()
reserves two call frames on the stack (one for jump_fcontext() and the other
for the callback function).

OpenBSD/sparc64 uses stackghost which prevents userland from overriding the
return-address on the stack. Because of this make_fcontext() uses an extra
trampoline to implement the _exit(0) call if the callback returns.

All tests pass with this on OpenBSD/sparc64 (also the tests for fiber,
coroutine and coroutine2).
2024-02-13 11:16:42 +01:00
Claudio Jeker
22be4b1570 Add the BOOST_CONTEXT_USE_MAP_STACK logic to test_fcontext.cpp
Without this test_fcontext.cpp fails on OpenBSD with a not-on-stack OS error.
2024-02-13 10:57:26 +01:00
Oliver Kowalke
77de3d527c Merge pull request #248 from devnexen/fix_solaris_build
fix solaris/illumos build on make/jump assembly directives.
2024-02-04 16:58:50 +01:00
David Carlier
a2dd396dd9 fix solaris/illumos build on make/jump assembly directives.
on those platforms, albeit being 64 bits, they produce 32 bits binaries by default.
2024-02-04 08:07:39 +00:00
Oliver Kowalke
08679361bd Merge pull request #247 from SoapGentoo/fix-x32
Fix x32 build on x86-64
2024-01-23 16:52:32 +01:00
David Seifert
922e033fa1 Fix x32 build on x86-64 2024-01-23 13:23:29 +01:00
Oliver Kowalke
e9c3e56a33 Merge pull request #245 from boostorg/develop
Suppressing -Wsign-conversion warnings
boost-1.84.0.beta1 boost-1.84.0
2023-11-08 09:07:13 +01:00
Oliver Kowalke
0bf820bbd6 Merge pull request #244 from the-moisrex/develop
Suppressing -Wsign-conversion warnings
2023-11-08 08:34:40 +01:00
Mohammad Bahoosh
dcf037830b Suppressing -Wsign-conversion warnings 2023-10-28 21:02:03 -08:00
Oliver Kowalke
51ba6ff480 Merge branch 'develop' 2023-10-01 17:03:41 +02:00
Oliver Kowalke
033ea19511 PPC64 file was accidentally commented out 2023-10-01 16:49:31 +02:00
Oliver Kowalke
0108919724 Merge pull request #240 from Felix-El/develop
CMake: Fix assembler `--defsym` format issue (qcc/qnx)
2023-10-01 16:30:11 +02:00
Oliver Kowalke
eb779a96c4 Merge pull request #236 from iv-m/fix-mac-os-condition
Fix check for BOOST_OS_MACOS
2023-10-01 16:29:29 +02:00
Felix L
1a7562348d CMake: Fix assembler --defsym format issue (qcc/qnx)
Adjust compile definitions to adhere to KEY=VALUE (where VALUE is empty string) so it builds with qcc.
2023-09-06 13:46:42 +02:00
Ivan A. Melnikov
0405a69432 Fix check for BOOST_OS_MACOS
BOOST_OS_MACOS is always defined; when we're not compiling
for Mac OS, it's just defined as zero. So, the correct
check is `#if BOOST_OS_MACOS`, because `#ifdef BOOST_OS_MACOS`
is true on any operating system.

Fixes: cc106be672
Reported-by: Ilya Kurdyukov <ilyakurdyukov@altlinux.org>
2023-08-18 15:57:26 +04:00
Oliver Kowalke
6fa6d5c50d Merge pull request #234 from iv-m/fix-build-on-riscv64
Fix ABI detection for empty 'os.platform'
2023-08-18 06:55:52 +02:00