------------------------------------------------------------------- Wed Mar 6 13:10:24 UTC 2024 - Antonio Larrosa - Backport patch from SLE - Add relax-tests.patch to increase test timeouts to 2 minutes, also limit the max value for memcpy_speed.c test bsc#1130085 - Enable tests ------------------------------------------------------------------- Tue Mar 5 07:06:08 UTC 2024 - Antonio Larrosa - version update to 0.4.38 0.4.38 ====== - x86: account for XSAVE when checking for AVX support, fixing usage on hardened linux kernels where AVX support has been disabled (L. E. Segovia) - neon: Use the real intrinsics for divf and sqrtf (L. E. Segovia) - orc.m4 for autotools is no longer shipped. If anyone still uses it they can copy it into their source tree (Tim-Philipp Müller) ------------------------------------------------------------------- Thu Feb 15 09:26:15 UTC 2024 - pgajdos@suse.com - version update to 0.4.37 0.4.37 ====== - enable neon instructions on Apple ARM64 (Aleix Conchillo Flaqué) - orcc: Fix regression, was hard-coded to use "sse" as default target (Sebastian Dröge) - MMX backend fixes (L. E. Segovia, Jorge Zapata) - testsuite: Build fixes for Clang (L. E. Segovia) - testsuite, tools: Fix warning caused by inserting unneeded source operands (L. E. Segovia) - orccompiler: call sys_icache_invalidate() to invalidate macos inst cache (Aleix Conchillo Flaqué) - macOS/iOS version/target check build fixes (Aleix Conchillo Flaqué) 0.4.36 ====== - Only use AVX / AVX2 instructions on CPUs that support both AVX and AVX2 (fixes crash on machines that only support AVX) (L. E. Segovia) 0.4.35 ====== - Add support for AVX / AVX2 (L. E. Segovia) - SSE backend improvements (L. E. Segovia) - New `orf` and `andf` opcodes for bitwise AND and OR for single precision floats (Jorge Zapata) - Add support for `convwf`, int16 to float conversion (Jorge Zapata) - Allow backend selection through ORC_TARGET environment variable (L. E. Segovia) - Documentation improvements (Jorge Zapata, L. E. Segovia, Tim-Philipp Müller) - orconce: Use Win32 once implementation with MSVC (Seungha Yang, L. E. Segovia) - orcc: add --binary option to output raw machine code for functions (L. E. Segovia) - orcprofile: Implement Windows high-resolution timestamp for MSVC to allow benchmarking on MSVC builds (L. E. Segovia) ------------------------------------------------------------------- Wed Jun 7 13:37:52 UTC 2023 - pgajdos@suse.com - Update to version 0.4.34 + Thread-safety improvements around orc codemem allocation/freeing + Add orc_parse_code() with more detailed error reporting + Implement Orc function lazy initialization correctly via atomic operations + orc program parser fixes and improvements + build fixes and compiler warning fixes + coverity and clang scan-build static code analysis fixes + meson: Do not always generate static library for test library + ci improvements ------------------------------------------------------------------- Mon Nov 21 12:59:20 UTC 2022 - Dominique Leuenberger - Update to version 0.4.33: + Add support for aarch64 (64-bit ARM) architecture. + aarch32: Implement loadupdb instruction used e.g. for video pixel format packing/unpacking/conversions. + neon: Fix unsigned only implementation of loadoffb, loadoffw and loadoffl. + neon: Fix testsuite not passing on arm CPUs. + orccodemem: Fix use-after-free in error paths. + orccpu-powerpc: Fix build with kernel < 4.11. + Add support for macOS Hardened Runtime. + Enable only SSE and MMX backends for Windows. + Fix ORC_RESTRICT definition for MSVC. + pkgconfig: add -DORC_STATIC_COMPILATION flag to .pc file for static-only builds. ------------------------------------------------------------------- Sat Jan 16 15:27:40 UTC 2021 - Dirk Müller - Update to version 0.4.32: + Add support for JIT code generation in Universal Windows Platform apps. + Minor Meson build system fixes and improvements. ------------------------------------------------------------------- Tue Jan 7 14:01:44 UTC 2020 - Dominique Leuenberger - Update to version 0.4.31: + Fix OrcTargetPowerPCFlags enum typedef to revert API change on macOS/iOS. + Fixes for various PowerPC issues. + Enable flush-to-zero mode for float programs on ARM/neon. + Fix some opcodes to support x2/x4 processing on PowerPC. ------------------------------------------------------------------- Mon Sep 9 10:17:37 UTC 2019 - Bjørn Lie - Update to version 0.4.30: + Don't always generate static library but default to shared-only + Work around false positives in Microsoft UWP certification kit + Add endbr32/endbr64 instructions on x86/x86-64 for indirect branch tracking + Fix gtk-doc build when orc is used as a meson subproject + Switch float comparison in tests to ULP method to fix spurious failures + Fix flushing of ARM icache when using dual map + Use float constants/parameters when testing float opcodes + Add support for Hygon Dhyana processor + Fix PPC/PPC64 CPU family detection + Add little-endian PPC support + Fix compiler warnings with clang + Mark exec mapping writable in debug mode for allowing breakpoints + Various codegen refactorings + autotools support has been dropped in favour of Meson as build system. + Fix PPC CPU feature detection and add support for VSX/v2.07 + Add double/int64 support for PPC - No longer remove static file in install section, no longer needed as it's not built by default anymore. ------------------------------------------------------------------- Sat Apr 20 17:28:10 UTC 2019 - Bjørn Lie - Update to version 0.4.29: + PowerPC: Support ELFv2 ABI (A. Wilcox) and ppc64le. + Mips backend: only enable if the DSPr2 ASE is present. + Windows and MSVC build fixes. + orccpu-arm: Allow 'cpuinfo' fallback on non-android. + pkg-config file for orc-test library. + orcc: add --decorator command line argument to add function decorators in header files. + meson: - Make orcc detectable from other subprojects. - Add options to disable tests, docs, benchmarks, examples, tools, etc. - Misc. other fixes. - Pass orc-test=disabled, examples=disabled and tests=disabled to meson, and drop meson_tests. Tests consistantly fails on the buildservice and consistantly succedes when building locally, hence trying to build them on the obs is pointless. ------------------------------------------------------------------- Mon Nov 20 18:15:15 UTC 2017 - zaitor@opensuse.org - Update to version 0.4.28: + Numerous undefined behaviour fixes. + Ability to disable tests. + Fix meson dist behaviour. ------------------------------------------------------------------- Mon Sep 4 14:19:34 UTC 2017 - dimstar@opensuse.org - Switch to the meson build system, which knows how to cope with GTK 1.26+: + Use the tarball published on github (the automake bootstrapped one does not contain the meson build system). + Add meson BuildRequires and switch configure/make/make_install macros to the relevant meson/meson_build/meson_install variants. ------------------------------------------------------------------- Mon Jul 17 16:15:12 UTC 2017 - zaitor@opensuse.org - Update to version 0.4.27: + sse: preserve non volatile sse registers, needed for MSVC. + x86: don't hard-code register size to 0 in orc_x86_emit_*() funcs. + Fix incorrect asm generation on 64-bit Windows with MSVC. + Add support for building using the Meson build system. ------------------------------------------------------------------- Sun Feb 12 17:29:14 UTC 2017 - zaitor@opensuse.org - Disable make check for all arches except x86_64 again. ------------------------------------------------------------------- Wed Aug 31 19:52:08 UTC 2016 - zaitor@opensuse.org - Update to version 0.4.26: + Use 64 bit arithmetic to increment the stride if needed. + Fix generation of ModR/M / SIB bytes for the EBP, R12, R13 registers on X86/X86-64. + Fix test_parse unit test if no executable backend is available. + Add orc-test path to the -uninstalled .pc file. + Fix compiler warnings in the tests on OS X. - Add pkgconfig(glib-2.0) BuildRequires, the build looks for it. - Remove obsolete bconds, they were only there for now obsolete versions of openSUSE. - Drop explicit xz BuildRequires: No longer needed. - Enable testsuite for all arches again. ------------------------------------------------------------------- Sat Mar 5 13:02:47 UTC 2016 - zaitor@opensuse.org - Update to version 0.4.25: + compiler: also prefer the backup function when no target, instead of trying to use emulation which is usually slower. + executor: fix load of parameters smaller than 64 bits, fixing crashes on ldresnearb and friends in emulated code. + test-limits: improve test without target. + Only check for Android's liblog on Android targets, so we don't accidentally pick up another liblog that may exist elsewhere. + Don't require libtool for uninstalled setups (-uninstalled pkg-config file). + Make -Bsymbolic check in configure work with clang. + Coverity code analyser fixes. + docs: update generated opcode tables. + Add orc_version_string() function and make orcc check the liborc that is being picked up to make sure the right lib is being used. ------------------------------------------------------------------- Mon Sep 28 20:27:52 UTC 2015 - dmueller@suse.com - disable testsuite on aarch64 ------------------------------------------------------------------- Thu Jul 9 22:03:42 UTC 2015 - zaitor@opensuse.org - Update to version 0.4.24: + Only reuse constants of the same size and value. + Fix reading of .orc files with Windows line endings on Windows. + Fix out of bounds array access in the tests. + Remove duplicate code path in orcc. + Put a limit to the memcpy test. + Fix mmap leak on error path. ------------------------------------------------------------------- Fri Feb 27 17:29:20 UTC 2015 - normand@linux.vnet.ibm.com - disable make check for ppc64le archi would need changes in orcprogram-altivec.c and define of HAVE_POWERPC ------------------------------------------------------------------- Fri Dec 26 11:27:42 UTC 2014 - zaitor@opensuse.org - Update to version 0.4.23: + Various improvements to the NEON backend to bring it closer to the SSE backend. + Add support for setting a custom backup function. + Preserve NEON/VFP registers across subroutines. + Fix 64 bit parameter loading on big-endian systems. + Improved implementations for various opcodes. + Various improvements and fixes to constants handling. + Avoid some undefined operations on signed integers. + Prefer user specific directories over global ones for intermediate files to prevent name collisions. ------------------------------------------------------------------- Thu Oct 9 13:53:25 UTC 2014 - dimstar@opensuse.org - Fix version dependency for gtk-doc (min 1.12). - Disable building of gtk-doc for SLE11, where this version of gtk-doc is not available (by means of bcond_with/without). The pre-built documentation, as shipped in the tarball will be installed in this case. ------------------------------------------------------------------- Thu Oct 9 13:41:02 UTC 2014 - dimstar@opensuse.org - Add xz BuildRequires for openSUSE < 11.3 (and thus also SLE11). ------------------------------------------------------------------- Tue Sep 23 20:58:44 UTC 2014 - zaitor@opensuse.org - Temp-disable testsuite on i586 until we get the random fails sorted out with upstream. - Drop orc-disable-test-limits.patch, and autoreconf call, and corresponding BuildRequires, as testsuite is disabled, and patch needing them is dropped. ------------------------------------------------------------------- Wed Sep 17 11:14:54 UTC 2014 - zaitor@opensuse.org - Update to version 0.4.22: + Handle NOCONFIGURE=1 in autogen.sh. + Some memory leak fixes in the compiler. + Fixes for compiler warnings on Win64. + Properly detect CPU features on Android in non-debug build. + Use Android logging system instead of stderr for debug output. ------------------------------------------------------------------- Fri Jul 4 07:57:28 UTC 2014 - idonmez@suse.com - Update to version 0.4.21 + Fix memory leaks + Fix list corruption when splitting code memory chunks, causing crashes when allocating a lot of code memory and trying to free it later + Various compiler warnings, coverity warnings and static code analysis fixes + Documentation fix for mulhsw, mulhuw - Add orc-disable-test-limits.patch to disable test-limits test, it only works on x86-64 ------------------------------------------------------------------- Fri Dec 20 16:14:22 UTC 2013 - zaitor@opensuse.org - Update to version 0.4.18: + Important bugfix in reading constants from bytecode. + Documentation and code cleanup. + Fix cache flushing on iOS. ------------------------------------------------------------------- Wed May 15 18:05:56 UTC 2013 - dimstar@opensuse.org - Update to version 0.4.17: + Merged known distro patches. + Added MIPS backend. + Disabled ARM backend because of poor coverage. + Added bytecode parsing and writing. This can be used instead of manual creation of OrcPrograms. - Drop altivec.patch and ppc64.patch: fixed upstream. ------------------------------------------------------------------- Mon Sep 17 17:48:52 UTC 2012 - schwab@linux-m68k.org - ppc64.patch: Add support for PowerPC64 - altivec.patch: Fix altivec implementation of cmpltf and cmplef operations - Reenable check on ppc and ppc64 ------------------------------------------------------------------- Thu Mar 8 11:58:18 UTC 2012 - idonmez@suse.com - Disable check on ARM. ------------------------------------------------------------------- Thu Feb 2 12:26:37 UTC 2012 - idonmez@suse.com - Fix license to be BSD-3-Clause. ------------------------------------------------------------------- Wed Feb 1 11:09:49 UTC 2012 - dvaleev@suse.com - disable check on ppc ppc64. ------------------------------------------------------------------- Tue Oct 4 07:47:08 UTC 2011 - vuntz@opensuse.org - Update to version 0.4.16: + orc_init() tried to take the same mutex as generated C code that calls (indirectly) orc_init(). + sse: Fixes for 64 bit pointers with any of the upper 32 bits set. ------------------------------------------------------------------- Mon Sep 26 11:35:02 UTC 2011 - vuntz@opensuse.org - Update to version 0.4.15: + Protect global resources with mutexes. + Restore c64x-c backend (untested). + Convert MMX and SSE backends to a new instruction scheduler. + Add alignment and size hints to parser. ------------------------------------------------------------------- Mon Jul 4 09:18:42 CEST 2011 - vuntz@opensuse.org - Update to version 0.4.14: + Various fixes for SSE, MMX and Altivec + Fix endianness issues ------------------------------------------------------------------- Wed Apr 27 16:02:34 UTC 2011 - chris@computersalat.de - Update to version 0.4.13: + Fixes two serious code generation bugs in 0.4.12 on SSE and Altivec. + Add some compatibility code to mitigate the previous automatic inclusion of stdint.h - Changes from version 0.4.12: + Fix gcc-4.6 warnings in generated code + Codegen fixes for Altivec. Passes regression tests again. + More error checking for code allocation. + NEON: floating point improvements + Removed stdint.h from API. This could theoretically cause breakage if you depended on orc to include stdint.h. + Addition of the OrcCode structure, which keeps track of compiled code. This now allows applications to free unused code. + x86 code generation was completely refactored to add an intermediate stage, which will later be used for instruction reordering. ------------------------------------------------------------------- Wed Dec 8 12:43:53 UTC 2010 - cristian.rodriguez@opensuse.org - Run make check ------------------------------------------------------------------- Mon Oct 18 10:20:19 CEST 2010 - vuntz@opensuse.org - Update to version 0.4.11: + Fixes for CPUs that don't have backends + Fix loading of double parameters + mmx: Fix 64-bit parameter loading + sse/mmx: Fix x2/x4 with certain opcodes ------------------------------------------------------------------- Sat Oct 9 11:20:19 CEST 2010 - vuntz@opensuse.org - Update to version 0.4.10: + Added several simple 64-bit opcodes + Improved debugging by adding ORC_CODE=emulate + Allocation of mmap’d areas for code now has several fallback methods, in order to placate various SELinux configurations. + Various speed improvements in SSE backend + Add SSE implementations of ldreslinl and ldresnearl. + Update Mersenne Twister example ------------------------------------------------------------------- Mon Sep 6 16:08:49 CEST 2010 - vuntz@opensuse.org - Update to version 0.4.9: + Added handling for 64-bit constants + Fix building and use of static library + Fix register allocation on Win64 (still partly broken, however) + Quiet some non-errors printed by orcc in 0.4.8. + Fix implementation of several opcodes. + Until this release, the shared libraries all had the same versioning information. This should be fixed going forward. ------------------------------------------------------------------- Mon Aug 30 17:36:41 CEST 2010 - vuntz@opensuse.org - Update to version 0.4.8: + Fix Windows and OS/X builds + Improve behavior in failure cases + Major improvements for Altivec backend + Significant documentation additions + Memory for executable code storage is now handled in a much more controlled manner, and it's now possible to reclaim this memory after it's no longer needed. + A few more 64-bit opcodes have been added, mostly related to arithmetic on floating point values. + The orcc tool now handles 64-bit and floating point parameters and constants. - Add baselibs.conf. ------------------------------------------------------------------- Thu Aug 26 12:01:02 CEST 2010 - vuntz@opensuse.org - Update to version 0.4.7: + Lots of specialized new opcodes and opcode prefixes. + Important fixes for ARM backend + Improved emulation of programs (much faster) + Implemented fallback rules for almost all opcodes for SSE and NEON backends + Performance improvements for SSE and NEON backends. + Many fixes to make larger programs compile properly. + 64-bit data types are now fully implemented, although there are few operations on them. + Loads and stores are now handled by separate opcodes (loadb, storeb, etc). For compatibility, these are automatically included where necessary. This allowed new specialized loading opcodes, for example, resampling a source array for use in scaling images. + Opcodes may now be prefixed by "x2" or "x4", indicating that a operation should be done on 2 or 4 parts of a proportionally larger value. For example, "x4 addusb" performs 4 saturated unsigned additions on each of the four bytes of 32-bit quantities. This is useful in pixel operations. + The MMX backend is now (semi-) automatically generated from the SSE backend. + The orcc tool has a new option "-inline", which creates inline versions of the Orc stub functions. The orcc tool also recognizes a new directive ‘.init’, which instructs the compiler to generate an initialization function, which when called at application init time, compiles all the generated functions. This allows the generated stub functions to avoid checking if the function has already been compiled. The use of these two features can dramatically decrease the cost of calling Orc functions. ------------------------------------------------------------------- Fri Aug 6 17:45:52 CEST 2010 - vuntz@opensuse.org - Update to version 0.4.6: + Various fixes to make Orc more portable + Major performance improvements to NEON backend + Minor performance improvements to SSE backend + Major improvements to ARM backend, now passes regression tests. + The defaults for floating point operations have been changed somewhat: NANs are handled more like the IEEE 754 standard, and denormals in operations are treated as zeros. The NAN changes causes certain SSE operations to be slightly slower, but produce less surprising results. Treating denormals as zero has effects ranging from “slightly faster” to “now possible”. + New tool: orc-bugreport. Mainly this is to provide a limited testing tool in the field, especially for embedded targets which would not have access to the testsuite that is not installed. + The environment variable ORC_CODE can now be used to adjust some code generation. See orc-bugreport -help for details. + orcc has a new option to generate code that is compatible with older versions of Orc. + New NEON detection relies on Linux 2.6.29 or later. - Changes from version 0.4.5: + Many small improvements related to converting GStreamer from liboil to Orc. + The major addition in this release is the mainstreaming of the NEON backend, made possible by Nokia. + There is a new experimental option to ./configure, --enable-backend, which allows you to choose a single code generation backend to include in the library. This is mostly useful for embedded systems, and is not recommended in general. - Do not call autogen.sh and remove workaround for doc generation. ------------------------------------------------------------------- Tue May 25 15:09:05 UTC 2010 - chris@computersalat.de - update to version 0.4.4 o remove obsolete orc-asneeded.patch ------------------------------------------------------------------- Wed Mar 17 10:47:22 UTC 2010 - dimstar@opensuse.org - Initial package of orc 0.4.3