From 561bae45e1e949710639e1825c8278785563ec6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Sat, 23 Oct 2010 13:26:58 +0200 Subject: mingw32-w64 port: - symbols in objects built by mingw64 not mangled - fixes build of deinterlace post plugin --- src/xine-utils/mangle.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/xine-utils') diff --git a/src/xine-utils/mangle.h b/src/xine-utils/mangle.h index 4ca7db7a5..a897e9229 100644 --- a/src/xine-utils/mangle.h +++ b/src/xine-utils/mangle.h @@ -36,10 +36,15 @@ // Use rip-relative addressing if compiling PIC code on x86-64. #if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__DJGPP__) || \ defined(__OS2__) || (defined (__OpenBSD__) && !defined(__ELF__)) +# if defined(__MINGW64__) +# define EXTERN_PREFIX "" +# else +# define EXTERN_PREFIX "_" +# endif # if defined(__x86_64__) && defined(__PIC__) -# define MANGLE(a) "_" #a"(%%rip)" +# define MANGLE(a) EXTERN_PREFIX #a"(%%rip)" # else -# define MANGLE(a) "_" #a +# define MANGLE(a) EXTERN_PREFIX #a # endif #else # if defined(__x86_64__) && defined(__PIC__) -- cgit v1.2.3 From 9bb2a01a243a688ba7318c884aadd44480c60c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Sat, 23 Oct 2010 13:36:13 +0200 Subject: mingw32-w64 port: integer sizes portability - use type of enough size for pointer types (uintptr_t) - fixes "Unhandled exception" in memcpy code --- src/xine-utils/memcpy.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/xine-utils') diff --git a/src/xine-utils/memcpy.c b/src/xine-utils/memcpy.c index a19e700c5..b6836aebc 100644 --- a/src/xine-utils/memcpy.c +++ b/src/xine-utils/memcpy.c @@ -124,7 +124,7 @@ quote of the day: /* for small memory blocks (<256 bytes) this version is faster */ #define small_memcpy(to,from,n)\ {\ -register unsigned long int dummy;\ +register uintptr_t dummy;\ __asm__ __volatile__(\ "rep; movsb"\ :"=&D"(to), "=&S"(from), "=&c"(dummy)\ @@ -154,7 +154,7 @@ int d0, d1, d2; "movsb\n" "2:" : "=&c" (d0), "=&D" (d1), "=&S" (d2) - :"0" (n/4), "q" (n),"1" ((long) to),"2" ((long) from) + :"0" (n/4), "q" (n),"1" ((uintptr_t) to),"2" ((uintptr_t) from) : "memory"); return (to); @@ -191,9 +191,9 @@ static void * sse_memcpy(void * to, const void * from, size_t len) if(len >= MIN_LEN) { - register unsigned long int delta; + register uintptr_t delta; /* Align destinition to MMREG_SIZE -boundary */ - delta = ((unsigned long int)to)&(SSE_MMREG_SIZE-1); + delta = ((uintptr_t)to)&(SSE_MMREG_SIZE-1); if(delta) { delta=SSE_MMREG_SIZE-delta; @@ -202,7 +202,7 @@ static void * sse_memcpy(void * to, const void * from, size_t len) } i = len >> 6; /* len/64 */ len&=63; - if(((unsigned long)from) & 15) + if(((uintptr_t)from) & 15) /* if SRC is misaligned */ for(; i>0; i--) { @@ -263,9 +263,9 @@ static void * mmx_memcpy(void * to, const void * from, size_t len) if(len >= MMX1_MIN_LEN) { - register unsigned long int delta; + register uintptr_t delta; /* Align destinition to MMREG_SIZE -boundary */ - delta = ((unsigned long int)to)&(MMX_MMREG_SIZE-1); + delta = ((uintptr_t)to)&(MMX_MMREG_SIZE-1); if(delta) { delta=MMX_MMREG_SIZE-delta; @@ -328,9 +328,9 @@ static void * mmx2_memcpy(void * to, const void * from, size_t len) if(len >= MIN_LEN) { - register unsigned long int delta; + register uintptr_t delta; /* Align destinition to MMREG_SIZE -boundary */ - delta = ((unsigned long int)to)&(MMX_MMREG_SIZE-1); + delta = ((uintptr_t)to)&(MMX_MMREG_SIZE-1); if(delta) { delta=MMX_MMREG_SIZE-delta; -- cgit v1.2.3 From 9053a072c0edc3e45adc4131bb6eb8b0614eb6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Sat, 30 Oct 2010 11:43:11 +0200 Subject: Try to meassure memcpy method speed by clock() when times() not available. --- src/xine-utils/memcpy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/xine-utils') diff --git a/src/xine-utils/memcpy.c b/src/xine-utils/memcpy.c index b6836aebc..9056749e2 100644 --- a/src/xine-utils/memcpy.c +++ b/src/xine-utils/memcpy.c @@ -39,6 +39,8 @@ #ifdef HAVE_SYS_TIMES_H #include +#else +#include #endif #include @@ -429,7 +431,7 @@ static uint64_t rdtsc(int config_flags) struct tms tp; return times(&tp); #else - return ((uint64_t)0); + return clock(); #endif /* HAVE_SYS_TIMES_H */ } #endif -- cgit v1.2.3 From beec839ade34a0acb637f2d986b5e9118d52ea63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Tue, 23 Nov 2010 15:29:35 +0100 Subject: Build with -DLOG. --- src/xine-utils/xmlparser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/xine-utils') diff --git a/src/xine-utils/xmlparser.c b/src/xine-utils/xmlparser.c index e32d38460..def9c3d17 100644 --- a/src/xine-utils/xmlparser.c +++ b/src/xine-utils/xmlparser.c @@ -134,7 +134,7 @@ static void xml_parser_free_props(xml_property_t *current_property) { } static void xml_parser_free_tree_rec(xml_node_t *current_node, int free_next) { - lprintf("xml_parser_free_tree_rec: %s\n", current_node->name); + lprintf("xml_parser_free_tree_rec: %s\n", current_node ? current_node->name : NULL); if (current_node) { /* properties */ -- cgit v1.2.3