Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Unity-Technologies/libatomic_ops.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-22Merge pull request #2 from Unity-Technologies/fix-licenseHEADunity-release-7_4Joshua Peterson
Fix license files
2021-01-22Add a proper license markdown fileJosh Peterson
This file indicates that Unity's legal team as reviewed the licensing for this repository.
2021-01-22Remove the COPYING file from this repositoryJosh Peterson
We have previously removed all of the GPL code from this repository, so we should not have the COPYING file here any longer.
2019-11-08Use LF line endings to fix cygwin builds.Jonathan Chambers
2019-09-11Remove test from configure since we deleted folderJonathan Chambers
2019-09-11Remove test from configure since we deleted folderJonathan Chambers
2019-05-15Merge pull request #1 from Unity-Technologies/remove-gpl-codeJoshua Peterson
Remove GPL licensed code from the repo
2019-05-15Remove GPL licensed code from the repoJosh Peterson
We cannot ship this code with any Unity products, so remove it from the repo.
2018-09-10Add support for building this on UWP/arm64.Tautvydas Žilys
2014-05-02[7.4.2]Ivan Maidanski
Bump libatomic_ops version to 7.4.2 * README.md: Bump version. * configure.ac (AC_INIT): Likewise. * src/atomic_ops/ao_version.h (AO_VERSION_MICRO): Likewise.
2014-05-02Update ChangeLog fileIvan Maidanski
2014-05-02Fix a typo in doc/README.txt (remove redundant "an" article)Jan-Erik Rediger
(Apply commit 50beacd from 'master' branch.)
2014-05-02Update emails/links due to project site transitionIvan Maidanski
(Apply commit 686c70b from 'master' branch.) * AUTHORS: Update email. * README.md: Update links to BDWGC/libatomic_ops site. * doc/README_stack.txt: Likewise. * README.md: Update mailing list info. * configure.ac: Likewise. Conflicts: configure.ac
2013-11-17[7.4.0]libatomic_ops-7_4_0Ivan Maidanski
Bump version to 7.4.0; change policy regarding version numbers * ChangeLog: Update. * README.md: Bump version. * configure.ac (AC_INIT): Likewise. * src/atomic_ops/ao_version.h (AO_VERSION_MINOR): Likewise. * src/atomic_ops/ao_version.h (AO_VERSION_ALPHA): Replace to AO_VERSION_MICRO; add comment.
2013-11-17Put README.md to 'dist' package (Automake)Ivan Maidanski
* Makefile.am (dist_pkgdata_DATA): Add README.md item.
2013-11-10Update ChangeLog fileIvan Maidanski
2013-09-12Convert README to Markdown formatIvan Maidanski
* README: Rename to README.md; adjust formatting to follow Markdown syntax.
2013-09-03Remove broken link to INSTALL file from READMEIvan Maidanski
* README (Installation and Usage): Remove reference to INSTALL file (not generated by autoreconf as AM_INIT_AUTOMAKE specifies "foreign" strictness). * .gitignore (INSTALL): Remove.
2013-08-31Put autogen.sh to 'dist' package (Automake)Ivan Maidanski
* Makefile.am (EXTRA_DIST): Add "autogen.sh" item.
2013-08-31.gitignore: Ignore test-driver (generated by autoreconf)Ivan Maidanski
2013-08-31.gitignore: Ignore test*.log, test*.trsIvan Maidanski
(Apply commit 5cce9c5 from 'release-7_2' branch.) Conflicts: .gitignore
2013-08-21Update ChangeLog fileIvan Maidanski
2013-08-17Do not use LDREXD/STREXD for Clang3.2/arm (and earlier)Ivan Maidanski
* src/atomic_ops/sysdeps/gcc/arm.h (AO_ARM_HAVE_LDREXD): Do not define for pre-Clang3.3 (since it does not allocate register pairs for LDREXD/STREXD instructions properly); add comment.
2013-08-17Fix ARM char/short fetch_and_add and double-CAS operands width (GCC/Clang)Ivan Maidanski
* src/atomic_ops/sysdeps/gcc/arm.h (AO_char_fetch_and_add, AO_short_fetch_and_add): Use 32-bit int type for "tmp" and "result" local variables instead of char/short type (resolve Clang3.3 warning "size being stored is truncated, use a modifier to specify the size" enabled by -Wasm-operand-widths compiler option); cast "incr" argument to int to prevent Clang3.2 warning about value truncation. * src/atomic_ops/sysdeps/gcc/arm.h (AO_double_compare_and_swap): Swap assembly code operands ("new_val.AO_whole" and "addr") to prevent Clang3.3 warning about operand truncation.
2013-08-17Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang)Ivan Maidanski
* src/atomic_ops/sysdeps/gcc/arm.h (AO_double_load, AO_double_store, AO_double_compare_and_swap): Specify that LDREXD and STREXD use 2 adjacent registers (thus preventing Clang3.3 from register allocation failures leading to "registers may not be the same" or "even register required" GAS errors).
2013-08-17Tests: workaround GCC 4.4.3 warning reported for list_atomic.c 'val'Ivan Maidanski
* tests/list_atomic.template (XSIZE_list_atomicXX): Use "static" modifier for "val" local variable to initialize it (cannot use direct assignment to zero because "val" type could be a SIMD vector type if XCTYPE is AO_double_t) to workaround GCC v4.4.3 "'val' is used uninitialized in this function" warning reported for AO_load.
2013-08-17Support ARMv8 target (gcc/arm)Ivan Maidanski
* src/atomic_ops/sysdeps/gcc/arm.h (__ARM_ARCH_8A__): Detect new macro (treated same as __ARM_ARCH_7A__). * src/atomic_ops/sysdeps/gcc/arm.h (AO_ARM_HAVE_SWP): Do not define for ARMv8 (since SWP{B} obsoleted); add comment. * src/atomic_ops/sysdeps/gcc/arm.h (AO_compare_and_swap): Add TODO item (for deprecated IT block containing wide Thumb instruction).
2013-08-17tests: Fix makefile sed rule for list_atomicIvan Maidanski
* tests/Makefile.am (test_atomic_include.h, list_atomic.c): Replace all occurrences of 'XX' (instead of only the first one) on every line.
2013-08-14tests: Add char/short/int/AO_double_t and dd_acquire cases to list_atomicIvan Maidanski
* tests/Makefile.am (list_atomic.c): Iterate over XSIZE/XCTYPE (in addition to XX); expand XX also as _dd_acquire_read. * tests/list_atomic.template (XSIZE_list_atomicXX): Define 'val' local variable only if used (needed for AO_double_t case).
2013-08-11tests: Add and/or/xor entries to list_atomicIvan Maidanski
* tests/list_atomic.template (list_atomicXX): Add AO_XSIZE_andXX, AO_XSIZE_orXX, AO_XSIZE_xorXX invocations.
2013-08-11tests: Parameterize list_atomic template with XSIZEIvan Maidanski
* tests/Makefile.am (list_atomic.c): Substitute XSIZE/XCTYPE for AO_t. * tests/list_atomic.template (list_atomicXX): Parameterize with XSIZE and XCTYPE (except for AO_nop and AO_test_and_set).
2013-08-11list_atomic: Add makefile rule to test list_atomic.template syntaxIvan Maidanski
* tests/Makefile.am (BUILT_SOURCES, CLEANFILES): Add "list_atomic.o". * tests/Makefile.am (list_atomic.o): New rule (to verify list_atomic.c is valid C code). * tests/list_atomic.template (list_atomicXX): Use "volatile" for "val" local variable. * tests/list_atomic.template (list_atomicXX): Define "oldval", "newval", "ts" and "incr" local variables only if used; cast string literals to void (to prevent compiler warnings). * tests/list_atomic.template (list_atomicXX): Use AO_t type for "incr" local variable instead of C long type. * tests/list_atomic.template (list_atomicXX): Define "oldval", "newval", "incr" as statitc local variables, and remove explicit initialization to zero (to void problems with initialization of these variables for AO_double_t case if the latter is a struct).
2013-08-11tests: Do not use deprecated AO_T and AO_TS_TIvan Maidanski
* tests/list_atomic.template (list_atomicXX): Use AO_t instead of deprecated AO_T. * tests/list_atomic.template (list_atomicXX): Use AO_TS_t instead of deprecated AO_TS_T. * tests/test_atomic.c (lock): Likewise.
2013-07-30Fix typo in comment of generalize-small.templateIvan Maidanski
* src/atomic_ops/generalize-arithm.template: Fix a typo in comment ("acquire"). * src/atomic_ops/generalize-arithm.h: Regenerate.
2013-05-26Add comment about store_full implementation for x86Ivan Maidanski
* src/atomic_ops/sysdeps/gcc/x86.h: Add comment about AO_store_full generalization.
2013-05-26Add non-generalized double-CAS-full implementation for AArch64Ivan Maidanski
* src/atomic_ops/sysdeps/gcc/aarch64.h (AO_double_compare_and_swap_full): New function.
2013-05-26Define AO_NO_PTHREADS in configure if no pthreads (Win32 and VxWorks)Ivan Maidanski
* configure.ac (have_pthreads): Do not define to true if check for pthread_self failed. * configure.ac (AO_NO_PTHREADS): Define if not have_pthreads.
2013-05-26Better document configure THREADDLLIBS variableIvan Maidanski
* configure.ac (THREADDLLIBS, have_pthreads): Add comments.
2013-05-26Update AUTHORSIvan Maidanski
2013-05-26Enable build using toolchain without pthreadsGilles Talis
* src/atomic_ops.c: Include pthread.h only if not AO_NO_PTHREADS (new macro). * src/atomic_ops.c (AO_pt_lock): Define only unless AO_NO_PTHREADS. * tests/test_atomic.c (main): Skip test_atomic_pthreads if both AO_NO_PTHREADS and AO_USE_PTHREAD_DEFS are defined (preventing test link failure if AO_NO_PTHREADS passed via CFLAGS).
2013-04-08Add comment about double-wide load/store on x86_64 (GCC)Ivan Maidanski
* src/atomic_ops/sysdeps/gcc/x86.h: Add comment about AO_double_load and AO_double_store implementation in 64-bit mode; remove the corresponding TODO item.
2013-04-08Fix generalized store_release_write for double-wide type on x64 (GCC)Ivan Maidanski
* src/atomic_ops/generalize-small.template (AO_XSIZE_store_release_write): Move store-write-based definition down to follow AO_XSIZE_store_write one (since AO_double_store is currently defined via CAS for gcc/x64). * src/atomic_ops/generalize-small.h: Regenerate.
2013-04-03Update AUTHORSIvan Maidanski
2013-04-03Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1Manuel Serrano
* configure.ac (AM_CONFIG_HEADER): Replace obsolete macro with with AC_CONFIG_HEADERS one.
2013-03-29Generalize double_load/store for x86_64 (GCC)Ivan Maidanski
* src/atomic_ops.h (AO_GENERALIZE_TWICE): Define in case of missing double-wide load or store primitives while double-wide CAS is present (required for x86-64, at least).
2013-03-29Fix fetch_compare_and_swap asm constraints in gcc/x86.hIvan Maidanski
* src/atomic_ops/sysdeps/gcc/x86.h (AO_fetch_compare_and_swap_full): Use same asm constraints for old_val and new_val as in AO_compare_and_swap_full.
2013-03-29Reformat asm instructions of sunc/x86.hIvan Maidanski
* src/atomic_ops/sysdeps/sunc/x86.h (AO_fetch_and_add_full, AO_char_fetch_and_add_full, AO_short_fetch_and_add_full, AO_and_full, AO_or_full, AO_xor_full, AO_compare_and_swap_full): Reformat code.
2013-03-29Fix asm constraints of primitives in sunc/x86.hIvan Maidanski
* src/atomic_ops/sysdeps/sunc/x86.h (AO_fetch_and_add_full, AO_char_fetch_and_add_full, AO_short_fetch_and_add_full, AO_and_full, AO_or_full, AO_xor_full, AO_test_and_set_full, AO_compare_and_swap_full, AO_compare_double_and_swap_double_full, AO_int_fetch_and_add_full): Use "+m" asm constraint for *addr instead of "=m" (because the value pointed by addr is read and written by the code). * src/atomic_ops/sysdeps/sunc/x86.h (AO_fetch_compare_and_swap_full): Use same asm constraints and parameters order as in AO_compare_and_swap_full.
2013-03-16Merge branch 'add-aarch64-support'Ivan Maidanski
2013-03-13Fix asm constraint of CAS memory operand for gcc/alphaIvan Maidanski
* src/atomic_ops/sysdeps/gcc/alpha.h (AO_compare_and_swap): Use "+m" asm constraint for *addr instead of "=m" (because the value pointed by addr is read and written by the code).