disable Orc if CET is on
If we are building with -fcf-protection (run-time checking of indirect jumps) then Orc won't work. Make sure it's off. Orc may support -fcf-protection in the future, but does not in June 2019. https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fcf-protection https://gitlab.freedesktop.org/gstreamer/orc/issues/17 see https://github.com/libvips/libvips/issues/1006#issuecomment-501802550
This commit is contained in:
parent
db36e19ffa
commit
75e69cc1e5
@ -8,7 +8,8 @@
|
|||||||
magic number [przemyslawpluta]
|
magic number [przemyslawpluta]
|
||||||
- much faster ismagick() [jcupitt]
|
- much faster ismagick() [jcupitt]
|
||||||
- better behaviour for vips_region_fetch() if request lies partly ouside image
|
- better behaviour for vips_region_fetch() if request lies partly ouside image
|
||||||
- remove band limits [erdmann]
|
- remove 256 band limit in arithmetic.c [erdmann]
|
||||||
|
- disable Orc if building with CET [lovell]
|
||||||
|
|
||||||
21/9/18 started 8.8.0
|
21/9/18 started 8.8.0
|
||||||
- much faster smartcrop [lovell]
|
- much faster smartcrop [lovell]
|
||||||
|
@ -34,6 +34,19 @@
|
|||||||
#ifndef VIPS_VECTOR_H
|
#ifndef VIPS_VECTOR_H
|
||||||
#define VIPS_VECTOR_H
|
#define VIPS_VECTOR_H
|
||||||
|
|
||||||
|
/* If we are building with -fcf-protection (run-time checking of
|
||||||
|
* indirect jumps) then Orc won't work. Make sure it's off.
|
||||||
|
*
|
||||||
|
* Orc may support -fcf-protection in the future, but does not in June 2019.
|
||||||
|
*
|
||||||
|
* https://gcc.gnu.org/onlinedocs/gcc/\
|
||||||
|
* Instrumentation-Options.html#index-fcf-protection
|
||||||
|
* https://gitlab.freedesktop.org/gstreamer/orc/issues/17
|
||||||
|
*/
|
||||||
|
#ifdef __CET__
|
||||||
|
#undef HAVE_ORC
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ORC
|
#ifdef HAVE_ORC
|
||||||
#include <orc/orc.h>
|
#include <orc/orc.h>
|
||||||
#endif /*HAVE_ORC*/
|
#endif /*HAVE_ORC*/
|
||||||
|
@ -71,11 +71,13 @@ gboolean vips__vector_enabled = TRUE;
|
|||||||
void
|
void
|
||||||
vips_vector_error( VipsVector *vector )
|
vips_vector_error( VipsVector *vector )
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_ORC
|
||||||
#ifdef HAVE_ORC_PROGRAM_GET_ERROR
|
#ifdef HAVE_ORC_PROGRAM_GET_ERROR
|
||||||
if( vector->program )
|
if( vector->program )
|
||||||
g_warning( "orc error: %s",
|
g_warning( "orc error: %s",
|
||||||
orc_program_get_error( vector->program ) );
|
orc_program_get_error( vector->program ) );
|
||||||
#endif /*HAVE_ORC_PROGRAM_GET_ERROR*/
|
#endif /*HAVE_ORC_PROGRAM_GET_ERROR*/
|
||||||
|
#endif /*HAVE_ORC*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -102,6 +104,7 @@ vips_vector_init( void )
|
|||||||
if( g_getenv( "VIPS_NOVECTOR" ) ||
|
if( g_getenv( "VIPS_NOVECTOR" ) ||
|
||||||
g_getenv( "IM_NOVECTOR" ) )
|
g_getenv( "IM_NOVECTOR" ) )
|
||||||
vips__vector_enabled = FALSE;
|
vips__vector_enabled = FALSE;
|
||||||
|
|
||||||
#endif /*HAVE_ORC*/
|
#endif /*HAVE_ORC*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user