From 8d5ec9472bd6115994acb069f16639da2326b5953ad11f11541b005aa2260017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 17:35:05 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main orc revision 92bbbcd30b4aa4fcf27c4e94eaaad889 --- .gitattributes | 23 +++ _constraints | 4 + baselibs.conf | 1 + orc-0.4.34.tar.xz | 3 + orc.changes | 477 ++++++++++++++++++++++++++++++++++++++++++++++ orc.spec | 96 ++++++++++ 6 files changed, 604 insertions(+) create mode 100644 .gitattributes create mode 100644 _constraints create mode 100644 baselibs.conf create mode 100644 orc-0.4.34.tar.xz create mode 100644 orc.changes create mode 100644 orc.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..1986d4f --- /dev/null +++ b/_constraints @@ -0,0 +1,4 @@ + + + kvm + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..082d11d --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +liborc-0_4-0 diff --git a/orc-0.4.34.tar.xz b/orc-0.4.34.tar.xz new file mode 100644 index 0000000..c062ca0 --- /dev/null +++ b/orc-0.4.34.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f47abb3f097171e44eb807adcdabd860fba2effd37d8d3c4fbd5f341cadd41f +size 202628 diff --git a/orc.changes b/orc.changes new file mode 100644 index 0000000..4c34430 --- /dev/null +++ b/orc.changes @@ -0,0 +1,477 @@ +------------------------------------------------------------------- +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 + diff --git a/orc.spec b/orc.spec new file mode 100644 index 0000000..045e203 --- /dev/null +++ b/orc.spec @@ -0,0 +1,96 @@ +# +# spec file for package orc +# +# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2010 Dominique Leuenberger, Amsterdam, Netherlands. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: orc +Version: 0.4.34 +Release: 0 +Summary: The Oil Runtime Compiler +License: BSD-3-Clause +Group: Productivity/Multimedia/Other +URL: https://gitlab.freedesktop.org/gstreamer/orc +Source: https://gstreamer.freedesktop.org/src/orc/%{name}-%{version}.tar.xz +Source99: baselibs.conf +BuildRequires: gtk-doc >= 1.12 +BuildRequires: meson >= 0.47.0 +BuildRequires: pkgconfig +BuildRequires: pkgconfig(glib-2.0) +Provides: %{name}-devel = %{version} + +%description +Orc is a library and set of tools for compiling and executing very simple +programs that operate on arrays of data. The “language” is a generic +assembly language that represents many of the features available in SIMD +architectures, including saturated addition and subtraction, and many +arithmetic operations. + +%package -n liborc-0_4-0 +Summary: The Oil Runtime Compiler Library +Group: System/Libraries + +%description -n liborc-0_4-0 +Orc is a library and set of tools for compiling and executing very simple +programs that operate on arrays of data. The “language” is a generic +assembly language that represents many of the features available in SIMD +architectures, including saturated addition and subtraction, and many +arithmetic operations. + +%package doc +Summary: The Oil Runtime Compiler Library - Documentation +Group: Documentation/HTML + +%description doc +Orc is a library and set of tools for compiling and executing very simple +programs that operate on arrays of data. The “language” is a generic +assembly language that represents many of the features available in SIMD +architectures, including saturated addition and subtraction, and many +arithmetic operations. + +%prep +%autosetup -p1 + +%build +%meson \ + -Dorc-test=disabled \ + -Dexamples=disabled \ + -Dtests=disabled \ + %{nil} +%meson_build + +%install +%meson_install + +%post -n liborc-0_4-0 -p /sbin/ldconfig +%postun -n liborc-0_4-0 -p /sbin/ldconfig + +%files +%{_bindir}/orcc +%{_includedir}/orc-0.4/ +%{_libdir}/*.so +%{_libdir}/pkgconfig/orc-0.4.pc +%{_datadir}/aclocal/orc.m4 + +%files doc +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%{_datadir}/gtk-doc/html/orc/ + +%files -n liborc-0_4-0 +%{_libdir}/liborc*-0.4.so.* + +%changelog