Changelog: ========== * Fix: urcu-bp: only teardown call-rcu worker in destructor * Fix: rculfhash: urcu_die() takes positive error value * Fix: call_rcu: teardown default call_rcu worker on application exit * Fix: join worker thread in call_rcu_data_free * Docs: clarify grace period polling API * Document grace period polling in rcu-api.md * Implement poll rcu stress test in rcutorture * urcu-memb,mb,signal: Implement grace period polling * Fix: auto-resize hash table destroy deadlock * Fix building on MSYS2 * rculfhash: Include rculfhash-internal.h from local directory * Remove "Darwin" from "should also work on list" * Merge branch 'adah1972-improve-md' * Add semicolons at the end of function prototypes * Wrap a file name in backticks * Wrap command-line options in backticks * Fix a wrong format * Wrap URLs in angle brackets * Fix Markdown issues * Fix: Always check pthread_create for failures * Disable signals in URCU background threads * Fix: futex.h: include headers outside extern C * Fix: add missing unused attribute to _rcu_dereference * Fix: change method used by _rcu_dereference to strip type constness * Fix: remove type constness in URCU_FORCE_CAST's C++ version * Move extern "C" down in include/urcu/urcu-bp.h * fix: ifdef linux specific cpu count compat * Add unit tests for possible_cpus_array_len * fix: sysconf(_SC_NPROCESSORS_CONF) can be less than max cpu id * Fix: revise obsolete command in README.md * Fix: workqueue: remove unused variable "ret" * Fix: urcu-qsbr: futex wait: handle spurious futex wakeups * Fix: urcu: futex wait: handle spurious futex wakeups * Fix: urcu-wait: futex wait: handle spurious futex wakeups * Fix: defer_rcu: futex wait: handle spurious futex wakeups * Fix: call_rcu: futex wait: handle spurious futex wakeups * Fix: workqueue: futex wait: handle spurious futex wakeups * Fix: Use %lu rather than %ld to print count * Update ABI definition files * Bump version current and age * alpha: allocate membarrier system call number * Bump version to 0.14.0-pre * Improved test framework * rculfhash: introduce cds_lfht_node_init_deleted * Fix: changelog: v0.13.0 was released in 2021 * cleanup: i386 arch detection * fix: properly detect 'cmpxchg' on x86-32 * fix: use urcu-tls compat with c++ compiler * Fix typo * fix: remove autoconf features default value in help message * fix: add missing pkgconfig file for memb flavour lib * Cleanup: Tests: Remove useless pre-C99 compatibility code from tap.h * Document C99 and C++11 requirement in README.md * Always use '__thread' for Thread local storage except on MSVC * Fix: powerpc32: transparent unions alter calling convention * fix: don't use C++ thread_local on MacOs * wfcqueue API: implement overloaded wrappers with templates * wfcqueue: combine C++ API cds_wfcq_head_cast with overloading * wfstack C++ API: implement overloaded wrappers with templates * lfstack C++ API: implement overloaded wrappers with templates * wfstack: combine C++ API cds_wfs_stack_cast with overloading * lfstack: combine C++ API cds_lfs_stack_cast with overloading * fix: test_build tap plan * Test C++ build of list head init * Fix order of initializers in CDS_LIST_HEAD_INIT * unit tests: test wfcqueue, wfstack, lfstack empty check functions in C++ * wfcqueue: implement C++ API based on function overloading * wfstack: implement C++ API based on function overloading * lfstack: implement C++ API based on function overloading * Fix tap.h: remove extra semicolon in pass/fail macros * Add C++ build tests * Build and run regression and unit tests as C++ programs * Add --enable-Werror configure switch * Add `urcu_posix_assert()` as `assert()` replacement * Rename `urcu_assert()` to `urcu_assert_debug()` * cleanup: spelling fixes in comments * Make temporary variable in _rcu_dereference non-const * (tls-ie2) Fix: x86 and s390: uatomic __hp() macro C++ support * Fix: x86 and s390: uatomic __hp() macro clang support * Fix: x86 and s390 uatomic: __hp() macro warning with gcc 11 (From OE-Core rev: fdf6a7f1da7b23a1bbb51198f5702d925e68bf1a) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Poky
Poky is an integration of various components to form a pre-packaged build system and development environment which is used as a development and validation tool by the Yocto Project. It features support for building customised embedded style device images and custom containers. There are reference demo images ranging from X11/GTK+ to Weston, commandline and more. The system supports cross-architecture application development using QEMU emulation and a standalone toolchain and SDK suitable for IDE integration.
Additional information on the specifics of hardware that Poky supports is available in README.hardware. Further hardware support can easily be added in the form of BSP layers which extend the systems capabilities in a modular way. Many layers are available and can be found through the layer index.
As an integration layer Poky consists of several upstream projects such as BitBake, OpenEmbedded-Core, Yocto documentation, the 'meta-yocto' layer which has configuration and hardware support components. These components are all part of the Yocto Project and OpenEmbedded ecosystems.
The Yocto Project has extensive documentation about the system including a reference manual which can be found at https://docs.yoctoproject.org/
OpenEmbedded is the build architecture used by Poky and the Yocto project. For information about OpenEmbedded, see the OpenEmbedded website.
Contribution Guidelines
The project works using a mailing list patch submission process. Patches should be sent to the mailing list for the repository the components originate from (see below). Throughout the Yocto Project, the README files in the component in question should detail where to send patches, who the maintainers are and where bugs should be reported.
A guide to submitting patches to OpenEmbedded is available at:
https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
There is good documentation on how to write/format patches at:
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Where to Send Patches
As Poky is an integration repository (built using a tool called combo-layer), patches against the various components should be sent to their respective upstreams:
OpenEmbedded-Core (files in meta/, meta-selftest/, meta-skeleton/, scripts/):
- Git repository: https://git.openembedded.org/openembedded-core/
- Mailing list: openembedded-core@lists.openembedded.org
BitBake (files in bitbake/):
- Git repository: https://git.openembedded.org/bitbake/
- Mailing list: bitbake-devel@lists.openembedded.org
Documentation (files in documentation/):
- Git repository: https://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/
- Mailing list: docs@lists.yoctoproject.org
meta-yocto (files in meta-poky/, meta-yocto-bsp/):
- Git repository: https://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto
- Mailing list: poky@lists.yoctoproject.org
If in doubt, check the openembedded-core git repository for the content you intend to modify as most files are from there unless clearly one of the above categories. Before sending, be sure the patches apply cleanly to the current git repository branch in question.