Jan Schmidt [Tue, 26 Aug 2014 03:10:04 +0000 (13:10 +1000)]
Detect android liblog and use android's log functions for debug output
Thiago Santos [Fri, 27 Jun 2014 16:30:03 +0000 (13:30 -0300)]
orccompiler: free error message
Edward Hervey [Fri, 27 Jun 2014 09:33:16 +0000 (11:33 +0200)]
orcarray: Use size_t for pointer arithmetics
Fixes these warnings on windows x86_64:
orcarray.c:80:33: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
orcarray.c:80:22: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
Sebastian Dröge [Mon, 23 Jun 2014 17:14:26 +0000 (19:14 +0200)]
orccompiler: If compiling a program twice, first free the results of the previous compilation
Sebastian Dröge [Mon, 23 Jun 2014 17:14:18 +0000 (19:14 +0200)]
orcc: Fix some memory leaks in the compiler
Colin Walters [Mon, 23 Jun 2014 10:59:35 +0000 (06:59 -0400)]
autogen: Honor NOCONFIGURE=1
See https://github.com/cgwalters/build-api
Sebastian Dröge [Mon, 23 Jun 2014 08:14:47 +0000 (10:14 +0200)]
Back to development
Sebastian Dröge [Mon, 23 Jun 2014 08:06:29 +0000 (10:06 +0200)]
Release 0.4.21
Sebastian Dröge [Mon, 23 Jun 2014 07:59:43 +0000 (09:59 +0200)]
configure: Pass -version-info to libtool again
Sebastian Dröge [Mon, 23 Jun 2014 07:39:26 +0000 (09:39 +0200)]
Back to development
Sebastian Dröge [Mon, 23 Jun 2014 07:38:51 +0000 (09:38 +0200)]
Release 0.4.20
Sebastian Dröge [Mon, 23 Jun 2014 07:20:03 +0000 (09:20 +0200)]
build: Modernize autotools build system
Vincent Penquerc'h [Thu, 1 May 2014 14:47:41 +0000 (15:47 +0100)]
Add some checks on the number of variables per type
We want to ensure no more than, say, 8 constants are added
to a program. Adding more will violate pervasive assumptions
in the code, and may lead to various buffer overflows. By
trapping these add creation time, we prevent these issues
without cluttering the code with range checks. The user is
assumed non malicious here.
Add a test to check we can add up to and including the limit
for a type, but no more.
Tim-Philipp Müller [Thu, 5 Jun 2014 14:45:57 +0000 (15:45 +0100)]
Update .gitignore
Tim-Philipp Müller [Wed, 4 Jun 2014 22:25:52 +0000 (23:25 +0100)]
orccodemem: fix list corruption when splitting memory chunks in two
When splitting orc memory chunks in two, the 'prev' pointer of the
new memory chunk to be inserted was wrong, causing invalid memory
access and double frees later down the line.
https://bugzilla.gnome.org/show_bug.cgi?id=731227
Sebastian Dröge [Tue, 20 May 2014 08:07:57 +0000 (10:07 +0200)]
orc: Close file after usage in the copied around file reading function
CID 1147011.
Sebastian Dröge [Mon, 19 May 2014 09:09:55 +0000 (11:09 +0200)]
orcarray: Use fabs() instead of abs(), the latter is for integers
orcarray.c:254:15: error: using integer absolute value function 'abs' when
argument is of floating point type [-Werror,-Wabsolute-value]
if (abs(a[i] - b[i]) < MIN_NONDENORMAL_D) continue;
Sebastian Dröge [Fri, 25 Apr 2014 18:42:02 +0000 (20:42 +0200)]
orcprogram-c: Convert shifts in swap opcodes to operations on unsigned integers
Shifting into the sign bit is undefined, so let's stop doing that.
Sebastian Dröge [Tue, 22 Apr 2014 16:05:17 +0000 (18:05 +0200)]
memcpy_speed: Use unsigned integers, overflows are undefined for signed integers
Sebastian Dröge [Fri, 18 Apr 2014 08:49:59 +0000 (10:49 +0200)]
Back to development
Sebastian Dröge [Fri, 18 Apr 2014 08:32:23 +0000 (10:32 +0200)]
Release 0.4.19
Vincent Penquerc'h [Thu, 17 Apr 2014 08:16:46 +0000 (09:16 +0100)]
orccodemem: mask group/other bits for temporary file
Ensures another user can't inject code into your process when
winning a race with the ORC temp file code.
Coverity 1147013
Vincent Penquerc'h [Wed, 16 Apr 2014 11:07:40 +0000 (12:07 +0100)]
orcprogam-{mips,mmx,sse}: bail out if get_align_var fails
Coverity 1146979, 1146980, 1146977, 1146978, 1146973
Vincent Penquerc'h [Wed, 16 Apr 2014 11:02:13 +0000 (12:02 +0100)]
orcprogram: bail out on error
Coverity 1146972
Sebastian Dröge [Tue, 15 Apr 2014 08:24:56 +0000 (10:24 +0200)]
orcbytecode: Don't replace program name without freeing the old name if any
Sebastian Dröge [Tue, 15 Apr 2014 08:17:04 +0000 (10:17 +0200)]
orcc: Fix indention of generated code
Sebastian Dröge [Mon, 14 Apr 2014 22:20:49 +0000 (00:20 +0200)]
orc: Update autogenerated files
Sebastian Dröge [Mon, 14 Apr 2014 21:12:57 +0000 (23:12 +0200)]
orcprogram-c: Fix swaplq C implementation
Sebastian Dröge [Mon, 14 Apr 2014 20:39:15 +0000 (22:39 +0200)]
orcbytecodes: Fix filename of generated file
We don't want to override orcbytecode.h but orcbytecodes.h
Sebastian Dröge [Mon, 14 Apr 2014 19:53:40 +0000 (21:53 +0200)]
orcarray: Fix compiler warning with gcc 4.9
In file included from ../orc/orcprogram.h:5:0,
from ../orc/orc.h:5,
from ../orc-test/orctest.h:5,
from orcarray.c:6:
../orc/orcutils.h:124:37: error: 'data' may be used uninitialized in this function [-Werror=maybe-uninitialized]
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
^
orcarray.c:42:9: note: 'data' was declared here
void *data;
Sebastian Dröge [Mon, 14 Apr 2014 16:54:57 +0000 (18:54 +0200)]
memcpy_speed: Properly define ALIGN macro and fix memory leaks
With the previous definition we would use memory *before* our
allocated memory area.
Sebastian Dröge [Sun, 13 Apr 2014 20:01:38 +0000 (22:01 +0200)]
bench10: Fix syntax errors
Sebastian Dröge [Sun, 13 Apr 2014 19:58:16 +0000 (21:58 +0200)]
test.orc: Fix syntax errors
Sebastian Dröge [Sun, 13 Apr 2014 19:57:59 +0000 (21:57 +0200)]
benchmorc: Fix memory leaks in test
Sebastian Dröge [Sun, 13 Apr 2014 19:56:01 +0000 (21:56 +0200)]
orcparse: Guard against unknown tokens
Sebastian Dröge [Sun, 13 Apr 2014 19:55:52 +0000 (21:55 +0200)]
orcprogram: Free init function name
Sebastian Dröge [Sun, 13 Apr 2014 19:38:48 +0000 (21:38 +0200)]
tests: Fix various memory leaks in tests
Sebastian Dröge [Sun, 13 Apr 2014 19:36:43 +0000 (21:36 +0200)]
orcprogram: Free OrcCode together with the program
Sebastian Dröge [Sun, 13 Apr 2014 19:22:37 +0000 (21:22 +0200)]
orcprogram: Free type names of variables when freeing a program
Sebastian Dröge [Sun, 13 Apr 2014 19:22:28 +0000 (21:22 +0200)]
bytecode_parse: Fix memory leaks in test
Edward Hervey [Fri, 11 Apr 2014 14:13:08 +0000 (16:13 +0200)]
orcmips: Fix register range check
There are 32 possible registers and not 33
CID #1146987
Edward Hervey [Fri, 11 Apr 2014 14:03:16 +0000 (16:03 +0200)]
orcexecutor: Don't use negative values on arrays
orc_program_find_var_by_name() can return -1 on errors, if that
happens, don't try to read/write in random memory :)
CID #1146974
CID #1146975
CID #1146976
Edward Hervey [Fri, 11 Apr 2014 13:58:17 +0000 (15:58 +0200)]
orc: Remove unused variable
include_file was never used in these variants since they were
added.
CID #1146970
CID #1146969
Vincent Penquerc'h [Thu, 10 Apr 2014 17:12:36 +0000 (18:12 +0100)]
testsuite: file leak fix
Coverity 1147011
Vincent Penquerc'h [Mon, 7 Apr 2014 09:51:51 +0000 (10:51 +0100)]
Fix FILE leak
Coverity 1147011
Sebastian Dröge [Sat, 8 Feb 2014 15:55:19 +0000 (16:55 +0100)]
orcrules-neon: Remove unused variable
William Manley [Tue, 28 Jan 2014 15:02:57 +0000 (15:02 +0000)]
docs: mulhsw, mulhsw shifts by 16, not 8
The documentation said that mulhsw and mulsuw was equivalent to:
(a * b) >> 8
when the implementation actually shifts by 16 bits.
https://bugzilla.gnome.org/show_bug.cgi?id=723170
Todd Agulnick [Thu, 2 Jan 2014 00:40:00 +0000 (16:40 -0800)]
orcarm: OSX doesn't like comparisons against enum and int.
Tim-Philipp Müller [Mon, 30 Dec 2013 13:41:14 +0000 (13:41 +0000)]
tools: fix memory leak in orcc
Coverity CID 1147542
Tim-Philipp Müller [Mon, 30 Dec 2013 13:32:14 +0000 (13:32 +0000)]
testsuite: fix file descriptor leak in benchmorc
Coverity CID 1147543
Olivier Crête [Mon, 14 Oct 2013 19:25:14 +0000 (15:25 -0400)]
Make it ANSI-C
Use /* */ instead of //
Define _GNU_SOURCE in the ORC_CFLAGS
Edward Hervey [Fri, 20 Sep 2013 09:52:21 +0000 (11:52 +0200)]
autogen.sh: Allow calling from out of tree
This is similar to the fix that was done for gstreamer
https://bugzilla.gnome.org/show_bug.cgi?id=667664
Edward Hervey [Fri, 20 Sep 2013 10:04:25 +0000 (12:04 +0200)]
configure: version back to unreleased
David Schleef [Sat, 24 Aug 2013 17:23:53 +0000 (10:23 -0700)]
Release 0.4.18
Tim-Philipp Müller [Mon, 19 Aug 2013 17:12:21 +0000 (18:12 +0100)]
orcbytecode: Fix parsing of 32 bit values from bytecode as well
The shift by 24 bits has to be casted as well, otherwise we
shift into the sign bit which causes undefined behaviour.
See https://bugzilla.gnome.org/show_bug.cgi?id=698520
Sebastian Dröge [Mon, 19 Aug 2013 15:02:24 +0000 (17:02 +0200)]
orcbytecode: Fix parsing of 64 bit values from bytecode
The shift by 24 bits has to be casted already, otherwise we shift
into the sign bit which causes undefined behaviour.
Thanks to Edward Hervey for debugging this.
https://bugzilla.gnome.org/show_bug.cgi?id=698520
Stefan Sauer [Thu, 6 Jun 2013 07:03:48 +0000 (09:03 +0200)]
docs: add more opcode descriptions
Stefan Sauer [Thu, 6 Jun 2013 06:06:05 +0000 (08:06 +0200)]
docs: hook up generate_table tools
Add a makefile-target in docs to update the tables (for a release). Emit a
comment at the top of the generated files which tool produces them so that
people don't edit them manually.
Stefan Sauer [Wed, 5 Jun 2013 19:50:26 +0000 (21:50 +0200)]
accumulator: use the local variable 'var'
The code already had the local var, but barely used it.
Stefan Sauer [Wed, 5 Jun 2013 18:11:43 +0000 (20:11 +0200)]
tests: use the ORC_STATIC_OPCODE_FLOAT flag to simplify the tests
Stefan Sauer [Mon, 3 Jun 2013 19:53:13 +0000 (21:53 +0200)]
orcparse: fix copy and paste of error message
Stefan Sauer [Mon, 3 Jun 2013 16:20:10 +0000 (18:20 +0200)]
docs: add docs for the program directives
Stefan Sauer [Mon, 3 Jun 2013 05:49:23 +0000 (07:49 +0200)]
orcprogram-c: fix indent for 2 opcodes
Stefan Sauer [Wed, 29 May 2013 08:30:16 +0000 (10:30 +0200)]
generate-*: cosmetic changes
Print the file name if we use the default. Consider the header_flag for the
default name. Correct the help() desc for the --header flag (it takes no arg).
Stefan Sauer [Tue, 28 May 2013 21:03:17 +0000 (23:03 +0200)]
generate-*: add missing flag to help()
Stefan Sauer [Tue, 28 May 2013 21:11:46 +0000 (23:11 +0200)]
generate-bytecode: add ORC_BC_INSTRUCTION_FLAGS to generator
The checked in orcbytecodes.h already uses the flag.
Sebastian Dröge [Mon, 27 May 2013 11:52:40 +0000 (13:52 +0200)]
orc-test: Fix typo in #ifdef
Andoni Morales Alastruey [Thu, 25 Apr 2013 15:09:22 +0000 (17:09 +0200)]
orc: fix cache flush for iOS
Apple does not provide an implementation of __clear_cache in ARM
but sys_icache_invalidate can be used instead
review-by: Sebastian Dröge
David Schleef [Mon, 1 Apr 2013 18:31:59 +0000 (11:31 -0700)]
configure: version back to unreleased
Guillaume Emont [Fri, 29 Mar 2013 16:34:33 +0000 (11:34 -0500)]
mips: deactivate loadupdb implementation as it is broken
Josep Torra [Sat, 30 Mar 2013 11:57:10 +0000 (12:57 +0100)]
pkgconfig: in -uninstalled ensure to link with the proper library
Fixes build of GStreamer in gst-uninstalled on OSX with older liborc
installed from macports at '/opt/local'.
Josep Torra [Sat, 30 Mar 2013 11:52:33 +0000 (12:52 +0100)]
configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
AM_CONFIG_HEADER has been removed in the just-released automake 1.13:
https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
David Schleef [Sun, 10 Mar 2013 19:16:49 +0000 (12:16 -0700)]
Merge branch '0.4.17'
Sebastian Dröge [Wed, 20 Feb 2013 15:04:01 +0000 (16:04 +0100)]
Fix build on Android
Android doesn't have a libpthread and includes all relevant functions
in libc.
Josep Torra [Wed, 20 Feb 2013 14:32:49 +0000 (15:32 +0100)]
orcc: workaround a bug in the gcc 4.2 provided by XCode 3.2.6
When building orc in OSX Snow Leopard with '-O2 -arch i386 -m32' a bug in
the compiler is triggered and wrong assembly is generated with
the following messages:
'non-relocatable subtraction expression, "LC0" minus "L00000000008$pb"'
'symbol: "L00000000008$pb" can't be undefined in a subtraction expression'
'undefined local symbol L00000000008$pb'
The issue is triggered when the compiler tries to optimize for a constant
value in the code but it does a bad job. Declaring 'volatile' the variable
that holds the constant prevents this optimization to be performed and the
orc C generated code can be properly built.
David Schleef [Wed, 20 Feb 2013 06:21:00 +0000 (22:21 -0800)]
Release 0.4.17
David Schleef [Wed, 20 Feb 2013 04:02:03 +0000 (20:02 -0800)]
test: Fix recent commit
Separate allocated data and aligned data.
David Schleef [Wed, 20 Feb 2013 03:41:36 +0000 (19:41 -0800)]
neon: move orc_arm_loadw out of arm backend
David Schleef [Wed, 20 Feb 2013 01:40:14 +0000 (17:40 -0800)]
ARM backend is disabled until it has decent coverage
David Schleef [Wed, 20 Feb 2013 01:15:53 +0000 (17:15 -0800)]
gitignore: change 0.4 to *
David Schleef [Wed, 20 Feb 2013 01:04:21 +0000 (17:04 -0800)]
test: Use the aligned pointer, not something else
Tim-Phillip Müller [Tue, 19 Feb 2013 20:23:16 +0000 (12:23 -0800)]
orcc: add --internal option to mark symbols with internal visibility
Fixes: #52184
Sebastian Dröge [Thu, 10 Jan 2013 17:13:32 +0000 (18:13 +0100)]
orccompiler: Allow fallback to backup/emulation if the target specific register allocation fails
The OrcCode of the program wouldn't be filled with all required fields
if the register allocation happens to early.
Guillaume Emont [Thu, 27 Dec 2012 15:01:16 +0000 (16:01 +0100)]
mips: do loads as early as possible
Guillaume Emont [Fri, 21 Dec 2012 13:06:15 +0000 (14:06 +0100)]
mips: loadb: with shift 1, use lh if aligned
Guillaume Emont [Fri, 21 Dec 2012 13:05:37 +0000 (14:05 +0100)]
mips: copyb: only do something if source and dest are different
Guillaume Emont [Fri, 21 Dec 2012 13:04:56 +0000 (14:04 +0100)]
mips: fixed prefetching instruction calculation, but deactivated prefetching for now (no measurable performance improvements)
Guillaume Emont [Wed, 19 Dec 2012 13:39:05 +0000 (14:39 +0100)]
mips: added cache prefetching hints
Guillaume Emont [Tue, 18 Dec 2012 19:47:37 +0000 (20:47 +0100)]
mips: introduced loop unrolling
For now, this only happens in the main loop, and is decided by the
ORC_UNROLL_SHIFT environment variable.
Guillaume Emont [Tue, 18 Dec 2012 19:21:09 +0000 (20:21 +0100)]
add forgotten headers to include in make dist
Guillaume Emont [Sat, 15 Dec 2012 18:15:43 +0000 (19:15 +0100)]
mips: implemented select0wb, select1wb, select0lw, select1lw, splatbw, splitlw, splitwb, shruw and swapw
Guillaume Emont [Sat, 15 Dec 2012 18:14:56 +0000 (19:14 +0100)]
mips: added emit functions for shrl.ph and precrq.qb.ph
Guillaume Emont [Sat, 15 Dec 2012 17:27:40 +0000 (18:27 +0100)]
mips: added convwb
Guillaume Emont [Sat, 15 Dec 2012 16:48:43 +0000 (17:48 +0100)]
mips: loadupib, loadupdb: error (not implemented) if source argument is not source var
Only source vars can get a ptr_offset, and we need one in these operations as
they are implemented now.
Guillaume Emont [Sat, 15 Dec 2012 16:47:46 +0000 (17:47 +0100)]
mips: shrs, shra.ph: error if shift amount is not a const
Guillaume Emont [Thu, 13 Dec 2012 17:04:11 +0000 (18:04 +0100)]
mips: mulswl: sign extend words before multiplying
Guillaume Emont [Thu, 13 Dec 2012 17:03:49 +0000 (18:03 +0100)]
mips: added emit function for seh
Guillaume Emont [Thu, 13 Dec 2012 16:57:08 +0000 (17:57 +0100)]
mips: convssslw: fix typo on minimum value to compare
Guillaume Emont [Thu, 13 Dec 2012 16:46:59 +0000 (17:46 +0100)]
mips: convsbw: spread bytes when we have an instruction shift
Guillaume Emont [Thu, 13 Dec 2012 16:28:30 +0000 (17:28 +0100)]
mips: fix endianness of result of loadupib and loadupdb