+ 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()
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/orc?expand=0&rev=91
- 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)
OBS-URL: https://build.opensuse.org/request/show/1189074
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/orc?expand=0&rev=47
- version update to 0.4.39
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 (Sebastian Dröge,
L. E. Segovia) (boo#1228184)
- div255w: fix off-by-one error in the implementations
(L. E. Segovia)
- x86: only run AVX detection if xgetbv is available
(L. E. Segovia)
- x86: fix AVX detection by implementing the check recommended
by Intel (L. E. Segovia)
- Only enable JIT compilation on Apple arm64 if running on macOS,
fixes crashes on iOS (Piotr Brzeziński)
- Fix potential crash in emulation mode if logging is enabled
(L. E. Segovia)
- Handle undefined TARGET_OS_OSX correctly (Joshua Root)
- orconce: Fix typo in GCC __sync-based implementation
(Jakub Vaněk)
- orconce: Fix usage of __STDC_NO_ATOMICS__
(Alexander Slobodeniuk)
- Fix build with MSVC 17.10 + C11 (L. E. Segovia)
- Support stack unwinding on Windows (L. E. Segovia)
- Major opcode and instruction set code clean-ups and refactoring
(Jorge Zapata)
- Refactor allocation and chunk initialization of code regions
(L. E. Segovia)
- Fall back to emulation on Linux if JIT support is not
OBS-URL: https://build.opensuse.org/request/show/1189004
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/orc?expand=0&rev=88
- 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)
OBS-URL: https://build.opensuse.org/request/show/1154981
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/orc?expand=0&rev=85
- 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)
OBS-URL: https://build.opensuse.org/request/show/1146760
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/orc?expand=0&rev=83
- 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
OBS-URL: https://build.opensuse.org/request/show/1091414
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/orc?expand=0&rev=44
- 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.
OBS-URL: https://build.opensuse.org/request/show/1037103
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/orc?expand=0&rev=77
- 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.
OBS-URL: https://build.opensuse.org/request/show/729406
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/orc?expand=0&rev=70
- 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.
OBS-URL: https://build.opensuse.org/request/show/700475
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/orc?expand=0&rev=68