* Mon Mar 03 2025 valentin.lefebvre@suse.com
- Removing patches after update
- 0001-Use-vasprintf-if-available-for-error-messages-and.patch
- orc-check-return-value-of-vasprintf.patch
* Tue Feb 18 2025 bjorn.lie@gmail.com
- Update to version 0.4.41:
+ orccodemem: Don't modify the process umask, which caused race
conditions with other threads
+ x86: various SSE and MMX fixes
+ avx: Fix sqrtps encoding causing an illegal instruction crash
+ Hide internal symbols from ABI and do not install internal
headers
+ Rename backend to target, including `orc-backend` meson option
and `ORC_BACKEND` environment variable
+ Testsuite, tools: Disambiguate OrcProgram naming conventions
+ Build: Fix `_clear_cache` call for Clang and error out on
implicit function declarations
+ opcodes: Use MIN instead of CLAMP for known unsigned values to
fix compiler warnings
+ Spelling fix in debug log message
* Mon Sep 23 2024 bjorn.lie@gmail.com
- Update to version 0.4.40:
+ Security: Minor follow-up fixes for CVE-2024-40897
+ Fix include header use from C++
+ orccodemem: Assorted memory mapping fixes
+ powerpc: fix div255w which still used the inexact substitution
+ powerpc: Disable VSX and ISA 2.07 for Apple targets
+ powerpc: Allow detection of ppc64 in Mac OS
+ x86: work around old GCC versions (pre 9.0) having broken
xgetbv implementationsv
+ x86: consider MSYS2/Cygwin as Windows for ABI purposes only
+ x86: handle unnatural and misaligned array pointers
+ x86: Fix non-C11 typedefs
+ x86: try fixing AVX detection again by adding check for XSAVE
+ Some compatibility fixes for Musl
+ meson: Fix detecting XSAVE on older AppleClangv
+ Check return values of malloc() and realloc()
* Wed Mar 06 2024 alarrosa@suse.com
- 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 05 2024 alarrosa@suse.com
- 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 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 07 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 2022 dimstar@opensuse.org
- 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 2021 dmueller@suse.com
- Update to version 0.4.32:
+ Add support for JIT code generation in Universal Windows
Platform apps.
+ Minor Meson build system fixes and improvements.
Version: 0.4.28-150000.3.6.1
* Mon Jul 22 2024 alarrosa@suse.com
- Update to version 0.4.39:
- Security: Fix error message printing buffer overflow leading
to possible code execution in orcc with specific input files
(CVE-2024-40897). This only affects developers and CI
environments using orcc, not users of liborc (boo#1228184)
- div255w: fix off-by-one error in the implementations
- x86: only run AVX detection if xgetbv is available
- x86: fix AVX detection by implementing the check recommended
by Intel
- Only enable JIT compilation on Apple arm64 if running on macOS,
fixes crashes on iOS
- Fix potential crash in emulation mode if logging is enabled
- Handle undefined TARGET_OS_OSX correctly
- orconce: Fix typo in GCC __sync-based implementation
- orconce: Fix usage of __STDC_NO_ATOMICS__
- Fix build with MSVC 17.10 + C11
- Support stack unwinding on Windows
- Major opcode and instruction set code clean-ups and refactoring
- Refactor allocation and chunk initialization of code regions
- Fall back to emulation on Linux if JIT support is not
available, e.g. because of SELinux sandboxing or noexec
mounting)
* Wed Apr 17 2019 idonmez@suse.com
- Add relax-tests.patch to increase test timeouts to 2 minutes,
also limit the max value for memcpy_speed.c test bsc#1130085
* Mon Nov 20 2017 zaitor@opensuse.org
- Update to version 0.4.28:
+ Numerous undefined behaviour fixes.
+ Ability to disable tests.
+ Fix meson dist behaviour.
* Mon Sep 04 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 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 2017 zaitor@opensuse.org
- Disable make check for all arches except x86_64 again.
* Wed Aug 31 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 05 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 2015 dmueller@suse.com
- disable testsuite on aarch64
* Thu Jul 09 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 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 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 09 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 09 2014 dimstar@opensuse.org
- Add xz BuildRequires for openSUSE < 11.3 (and thus also SLE11).
* Tue Sep 23 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 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 04 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 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 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 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