Skip to content

Fix compilation in c++1z#34

Merged
olk merged 1 commit intoboostorg:developfrom
blastrock:develop
Oct 2, 2016
Merged

Fix compilation in c++1z#34
olk merged 1 commit intoboostorg:developfrom
blastrock:develop

Conversation

@blastrock
Copy link
Contributor

invoke() could resolve to both boost::context::detail::invoke and std::invoke
because of ADL, which would result in an ambiguous call error

This patch was tested on debian unstable, with gcc 6.2 and clang 3.9. Also, I didn't test the patch in this repository but directly on boost 1.61, but it should be safe enough.

invoke() could resolve to both boost::context::detail::invoke and std::invoke
because of ADL, which would result in an ambiguous call error
@olk
Copy link
Member

olk commented Oct 2, 2016

thx - I'll add defect macro for boost.config regrading to std::invoke() soon

@olk olk merged commit 9e0698c into boostorg:develop Oct 2, 2016
zaydr-al pushed a commit to zaydr-al/context that referenced this pull request Aug 15, 2025
…LF/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 boostorg#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 boostorg#308
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants