From 5076ae5e37fc62ee1464855b59d678fb7e6f7bd0 Mon Sep 17 00:00:00 2001 From: Good Guy Date: Mon, 13 Jan 2020 09:29:29 -0700 Subject: [PATCH] update bsd patch/bld for yuri --- cinelerra-5.1/blds/bsd.bld | 9 +- cinelerra-5.1/blds/bsd.patch | 341 ++++++++++++++++++++++++++++----- cinelerra-5.1/guicast/thread.C | 2 +- 3 files changed, 295 insertions(+), 57 deletions(-) diff --git a/cinelerra-5.1/blds/bsd.bld b/cinelerra-5.1/blds/bsd.bld index 82155896..0b01de03 100755 --- a/cinelerra-5.1/blds/bsd.bld +++ b/cinelerra-5.1/blds/bsd.bld @@ -8,10 +8,11 @@ export LIBRARY_PATH=/usr/local/lib alias make=gmake ( ./autogen.sh CC=clang CXX=clang++ CFLAGS="-g -O2 -DFFMPEG3" ./configure --with-single-user \ - --disable-static-build --with-lv2=auto --disable-lame --disable-twolame \ + --disable-static-build --without-lv2 --disable-lame --disable-twolame \ --with-oss --without-alsa --without-firewire --without-dv --without-dvb \ --without-video4linux2 --without-xxf86vm --without-ladspa-build \ --without-libzmpeg --without-commercial --without-thirdparty \ - --disable-vaapi --disable-vdpau - gmake - gmake install ) 2>&1 | tee log + --without-vaapi --without-vdpau --without-shuttle \ + --without-x10tv --without-wintv + gmake + gmake install ) 2>&1 | tee log diff --git a/cinelerra-5.1/blds/bsd.patch b/cinelerra-5.1/blds/bsd.patch index afc1e14f..8136d2ce 100644 --- a/cinelerra-5.1/blds/bsd.patch +++ b/cinelerra-5.1/blds/bsd.patch @@ -1,5 +1,5 @@ diff --git a/cinelerra-5.1/Makefile.devel b/cinelerra-5.1/Makefile.devel -index a12d8f2b..9aac014a 100644 +index 5531330..ad671f5 100644 --- a/cinelerra-5.1/Makefile.devel +++ b/cinelerra-5.1/Makefile.devel @@ -4,7 +4,7 @@ TOPDIR := $(CURDIR) @@ -12,27 +12,56 @@ index a12d8f2b..9aac014a 100644 MAKEJ := $(MAKE) $(jobs) diff --git a/cinelerra-5.1/cinelerra/Makefile b/cinelerra-5.1/cinelerra/Makefile -index 18590e3a..5eead290 100644 +index 7e69a50..792fe6e 100644 --- a/cinelerra-5.1/cinelerra/Makefile +++ b/cinelerra-5.1/cinelerra/Makefile -@@ -395,6 +395,7 @@ LIBS += -lfontconfig -lfreetype +@@ -424,16 +424,16 @@ endif + + LIBS := $(LIBRARIES) + +-ifneq ($(WANT_CIN_3RDPARTY),no) +-LIBS += $(libraries) +-else ++ifeq ($(WANT_CIN_3RDPARTY),no) ++LIBS += $(shared_libs) ++LIBS += $(system_libs) + +-LIBS += -lpthread -lm -lbz2 -llzma -lz -lpng -luuid +-LIBS += -lX11 -lXau -lXdmcp -lXext -lXfixes -lXv -lXinerama ++LIBS += -lintl -liconv + LIBS += -lfontconfig -lfreetype LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavresample -lavutil LIBS += -lswresample -lswscale LIBS += -lvpx -lwebp -lwebpmux -+LIBS += -lintl -liconv -lexecinfo ++LIBS += -lexecinfo LIBS += $(if $(filter fftw,$(static_pkgs)), -lfftw3) LIBS += $(if $(filter flac,$(static_pkgs)), -lFLAC) -@@ -414,7 +415,7 @@ LIBS += $(if $(filter x265,$(static_pkgs)), -lx265) +@@ -452,8 +452,12 @@ LIBS += $(if $(filter x264,$(static_pkgs)), -lx264) + LIBS += $(if $(filter x265,$(static_pkgs)), -lx265) LIBS += $(if $(filter libvpx,$(static_pkgs)), -lvpx) ++else ++LIBS += $(libraries) ++#endif ++ ifneq ($(WANT_GL),no) -LIBS += -lGL -lGLU -lGLX +LIBS += -lGL -lGLU endif ifneq ($(WANT_XFT),no) LIBS += -lXft -@@ -476,6 +477,7 @@ LV2OBJS = \ +@@ -470,9 +474,6 @@ endif + ifneq ($(WANT_FIREWIRE),no) + LIBS += -lavc1394 -lraw1394 -liec61883 -lrom1394 + endif +-ifneq ($(WANT_DVB),no) +-LIBS += -ldv +-endif + ifneq ($(WANT_DL),no) + LIBS += -ldl + endif +@@ -515,6 +516,7 @@ LV2OBJS = \ endif CFLAGS := \ @@ -40,7 +69,7 @@ index 18590e3a..5eead290 100644 -I$(GUICAST) \ -I$(LIBZMPEG3) \ $(static_incs) \ -@@ -523,15 +525,15 @@ all: $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI) +@@ -562,15 +564,15 @@ all: $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI) $(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES) $(LINKER) `cat $(OBJDIR)/objs` $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G)) @@ -60,7 +89,7 @@ index 18590e3a..5eead290 100644 install-cutads: cp -av $(OBJDIR)/cutads $(BINDIR)/. -@@ -540,18 +542,18 @@ install: install-cutads +@@ -579,18 +581,18 @@ install: install-cutads endif $(BDWRITE): $(BDWOBJS) $(LIBRARIES) @@ -82,9 +111,9 @@ index 18590e3a..5eead290 100644 + @echo $(CXX) -o $@ ydiff.C + @$(CXX) $(CFLAGS) ydiff.C -o $@ $(LIBS) - clean: - rm -rf $(OBJDIR) -@@ -585,7 +587,7 @@ $(OBJDIR)/lv2ui: $(LV2OBJS) + shdmp: shdmp.C + @g++ $(CFLAGS) shdmp.C -o $@ +@@ -625,7 +627,7 @@ $(OBJDIR)/lv2ui: $(LV2OBJS) @echo $(CXX) \`cat $(OBJDIR)/c_flags\` $^ -o $@ @$(CXX) `cat $(OBJDIR)/c_flags` $^ -o $@ $(LIBS) $(GTK2_LIBS) $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(LV2UI) $(LV2UI).debuginfo) @@ -94,10 +123,10 @@ index 18590e3a..5eead290 100644 .PHONY: lv2ui lv2ui: $(LV2UI) diff --git a/cinelerra-5.1/cinelerra/bdcreate.C b/cinelerra-5.1/cinelerra/bdcreate.C -index 27f728ad..9215090d 100644 +index e18ebee..eade28a 100644 --- a/cinelerra-5.1/cinelerra/bdcreate.C +++ b/cinelerra-5.1/cinelerra/bdcreate.C -@@ -25,8 +25,8 @@ +@@ -24,8 +24,8 @@ #include #include #include @@ -109,7 +138,7 @@ index 27f728ad..9215090d 100644 // BD Creation diff --git a/cinelerra-5.1/cinelerra/bdwrite.C b/cinelerra-5.1/cinelerra/bdwrite.C -index 6a2b4ca3..78cf9bef 100644 +index 6a2b4ca..78cf9be 100644 --- a/cinelerra-5.1/cinelerra/bdwrite.C +++ b/cinelerra-5.1/cinelerra/bdwrite.C @@ -38,7 +38,7 @@ @@ -122,7 +151,7 @@ index 6a2b4ca3..78cf9bef 100644 #include // work arounds (centos) diff --git a/cinelerra-5.1/cinelerra/cutads.C b/cinelerra-5.1/cinelerra/cutads.C -index ac58d56a..f6690cf2 100644 +index ac58d56..f6690cf 100644 --- a/cinelerra-5.1/cinelerra/cutads.C +++ b/cinelerra-5.1/cinelerra/cutads.C @@ -23,14 +23,6 @@ @@ -161,7 +190,7 @@ index ac58d56a..f6690cf2 100644 class low_priority { public: low_priority() { set_priority(19, IOPRIO_CLASS_IDLE); } diff --git a/cinelerra-5.1/cinelerra/dvdcreate.C b/cinelerra-5.1/cinelerra/dvdcreate.C -index 1014baf5..f38094e9 100644 +index f4587fc..dd0c883 100644 --- a/cinelerra-5.1/cinelerra/dvdcreate.C +++ b/cinelerra-5.1/cinelerra/dvdcreate.C @@ -24,8 +24,8 @@ @@ -176,10 +205,10 @@ index 1014baf5..f38094e9 100644 #define DVD_PAL_4x3 0 diff --git a/cinelerra-5.1/cinelerra/file.C b/cinelerra-5.1/cinelerra/file.C -index 13e1b457..9cc2f116 100644 +index 1fec188..c9180a0 100644 --- a/cinelerra-5.1/cinelerra/file.C +++ b/cinelerra-5.1/cinelerra/file.C -@@ -1594,7 +1594,10 @@ int File::record_fd() +@@ -1545,7 +1545,10 @@ int File::record_fd() void File::get_exe_path(char *result, char *bnp) { // Get executable path, basename @@ -192,7 +221,7 @@ index 13e1b457..9cc2f116 100644 result[len] = 0; char *ptr = strrchr(result, '/'); diff --git a/cinelerra-5.1/cinelerra/indexfile.C b/cinelerra-5.1/cinelerra/indexfile.C -index 3d21d2af..f3064199 100644 +index 3c6fd97..61abc67 100644 --- a/cinelerra-5.1/cinelerra/indexfile.C +++ b/cinelerra-5.1/cinelerra/indexfile.C @@ -70,7 +70,7 @@ @@ -204,11 +233,63 @@ index 3d21d2af..f3064199 100644 // check for isofs volume_id for dvd/cdrom +diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C +index bd75cbb..b2bcc2f 100644 +--- a/cinelerra-5.1/cinelerra/mwindow.C ++++ b/cinelerra-5.1/cinelerra/mwindow.C +@@ -268,7 +268,9 @@ MWindow::~MWindow() + delete beeper; + delete create_bd; create_bd = 0; + delete create_dvd; create_dvd = 0; ++#ifdef HAVE_SHUTTLE + delete shuttle; shuttle = 0; ++#endif + #ifdef HAVE_WINTV + delete wintv; wintv = 0; + #endif +diff --git a/cinelerra-5.1/cinelerra/shuttle.h b/cinelerra-5.1/cinelerra/shuttle.h +index 6793a03..06406d5 100644 +--- a/cinelerra-5.1/cinelerra/shuttle.h ++++ b/cinelerra-5.1/cinelerra/shuttle.h +@@ -1,5 +1,6 @@ + #ifndef __SHUTTLE_H__ + #define __SHUTTLE_H__ ++#ifdef HAVE_SHUTTLE + + #include "arraylist.h" + #include "bcwindowbase.inc" +@@ -20,8 +21,7 @@ + // delay in ms before processing each XTest event + // CurrentTime means no delay + #define DELAY CurrentTime +-// playback max speed -64x .. 64x +-#define SHUTTLE_MAX_SPEED 64. ++ + #define SHUTTLE_INTERFACE 0 + + // protocol for events from the shuttlepro HUD device +@@ -257,3 +257,4 @@ public: + }; + + #endif ++#endif +diff --git a/cinelerra-5.1/cinelerra/shuttle.inc b/cinelerra-5.1/cinelerra/shuttle.inc +index 5919e9d..db6b37f 100644 +--- a/cinelerra-5.1/cinelerra/shuttle.inc ++++ b/cinelerra-5.1/cinelerra/shuttle.inc +@@ -9,4 +9,7 @@ class Translation; + class Translations; + class Shuttle; + ++// playback max speed -64x .. 64x ++#define SHUTTLE_MAX_SPEED 64. ++ + #endif diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac -index 1157b0a3..8c5ba61a 100644 +index 9268807..a22c944 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac -@@ -16,8 +16,18 @@ CFG_CFLAGS+=" -Wno-unused-result" +@@ -18,8 +18,18 @@ CFG_CFLAGS+=" -Wno-unused-result" CFG_CFLAGS+=" -Wno-stringop-overflow" CFG_CFLAGS+=" -Wno-format-truncation" CFG_CFLAGS+=" -Wno-format-overflow" @@ -227,7 +308,7 @@ index 1157b0a3..8c5ba61a 100644 CFG_CFLAGS+=" -D__STDC_CONSTANT_MACROS" CFG_CFLAGS+=" -D__STDC_LIMIT_MACROS" CFG_CFLAGS+=" -DPNG_SKIP_SETJMP_CHECK=1" -@@ -127,7 +137,7 @@ AC_SUBST(MAK_INSTALLS) +@@ -141,7 +151,7 @@ AC_SUBST(MAK_INSTALLS) AC_SUBST(MAK_UNINSTALLS) if test "x$WANT_JOBS" = "xauto"; then @@ -237,7 +318,7 @@ index 1157b0a3..8c5ba61a 100644 fi diff --git a/cinelerra-5.1/db/tdb.h b/cinelerra-5.1/db/tdb.h -index 8ee88002..9a17091e 100644 +index 8ee8800..9a17091 100644 --- a/cinelerra-5.1/db/tdb.h +++ b/cinelerra-5.1/db/tdb.h @@ -32,7 +32,7 @@ inline void operator delete[](void *t,size_t n) { free(t); } @@ -249,11 +330,24 @@ index 8ee88002..9a17091e 100644 #ifdef ZFUTEX #include #include +diff --git a/cinelerra-5.1/guicast/Makefile b/cinelerra-5.1/guicast/Makefile +index 201c5a4..1c3822f 100644 +--- a/cinelerra-5.1/guicast/Makefile ++++ b/cinelerra-5.1/guicast/Makefile +@@ -95,7 +95,7 @@ $(shell echo $(OBJS) > $(OBJDIR)/objs) + all: $(OUTPUT) $(UTILS) + + $(BCXFER): bccmdl.py bcxfer.C bcxfer.h +- python < ./bccmdl.py ++ python2.7 < ./bccmdl.py + +$(MAKE) -C xfer + + $(OUTPUT): $(OBJS) $(BCXFER) diff --git a/cinelerra-5.1/guicast/bclistbox.h b/cinelerra-5.1/guicast/bclistbox.h -index f5994d53..c73169bb 100644 +index ce34ffc..0e38913 100644 --- a/cinelerra-5.1/guicast/bclistbox.h +++ b/cinelerra-5.1/guicast/bclistbox.h -@@ -185,7 +185,9 @@ public: +@@ -187,7 +187,9 @@ public: // take_focus - used by the suggestion box to keep it from taking focus from the // textbox @@ -265,7 +359,7 @@ index f5994d53..c73169bb 100644 int deactivate(); int is_active(); diff --git a/cinelerra-5.1/guicast/bcpan.h b/cinelerra-5.1/guicast/bcpan.h -index 40f5971f..73d47586 100644 +index 40f5971..73d4758 100644 --- a/cinelerra-5.1/guicast/bcpan.h +++ b/cinelerra-5.1/guicast/bcpan.h @@ -93,7 +93,8 @@ public: @@ -279,10 +373,10 @@ index 40f5971f..73d47586 100644 float* get_values(); diff --git a/cinelerra-5.1/guicast/bcresources.C b/cinelerra-5.1/guicast/bcresources.C -index 1e927303..165883de 100644 +index 1d52855..c8d93bd 100644 --- a/cinelerra-5.1/guicast/bcresources.C +++ b/cinelerra-5.1/guicast/bcresources.C -@@ -38,6 +38,7 @@ +@@ -39,6 +39,7 @@ #include #include #include @@ -290,7 +384,7 @@ index 1e927303..165883de 100644 #include #include #include -@@ -297,23 +298,12 @@ int BC_Resources::machine_cpus = 1; +@@ -298,23 +299,12 @@ int BC_Resources::machine_cpus = 1; int BC_Resources::get_machine_cpus() { @@ -320,17 +414,19 @@ index 1e927303..165883de 100644 } void BC_Resources::new_vframes(int n, VFrame *vframes[], ...) -@@ -695,7 +685,7 @@ new_vframes(20,default_medium_7segment, - generic_button_margin = 15; - draw_clock_background=1; - +@@ -367,8 +357,8 @@ BC_Resources::BC_Resources(float x_scale, float y_scale) + BC_WindowBase::resources = this; + synchronous = 0; + vframe_shm = 0; - use_shm = -1; +- shm_reply = 1; + use_shm = 0; - shm_reply = 1; ++ shm_reply = 0; - // Initialize + if( x_scale <= 0 ) x_scale = 1; + if( y_scale <= 0 ) y_scale = x_scale; diff --git a/cinelerra-5.1/guicast/bcsignals.C b/cinelerra-5.1/guicast/bcsignals.C -index ed50cfb1..f1b894ba 100644 +index c68e39a..457254a 100644 --- a/cinelerra-5.1/guicast/bcsignals.C +++ b/cinelerra-5.1/guicast/bcsignals.C @@ -37,9 +37,11 @@ @@ -365,24 +461,140 @@ index ed50cfb1..f1b894ba 100644 } BC_Signals::BC_Signals() -@@ -383,11 +373,13 @@ const char* BC_Signals::sig_to_str(int number) +@@ -383,70 +373,72 @@ const char* BC_Signals::sig_to_str(int number) #include #include "thread.h" -+#define SC_(r)sc_##r ++#define SC_(r)mc_##r + #if __i386__ -#define IP eip +-#define sigregs_t sigcontext +#define IP SC_(eip) ++#define sigregs_t mcontext_t + + static void reg_dump(FILE *fp,sigregs_t *rp) + { + fprintf(fp,"REGS:\n"); +- fprintf(fp," gs: %04x:%04x\n", rp->gs,rp->__gsh); +- fprintf(fp," fs: %04x:%04x\n", rp->fs,rp->__fsh); +- fprintf(fp," es: %04x:%04x\n", rp->es,rp->__esh); +- fprintf(fp," ds: %04x:%04x\n", rp->ds,rp->__dsh); +- fprintf(fp," edi: %14p %d\n", (void*)rp->edi,rp->edi); +- fprintf(fp," esi: %14p %d\n", (void*)rp->esi,rp->esi); +- fprintf(fp," ebp: %14p %d\n", (void*)rp->ebp,rp->ebp); +- fprintf(fp," esp: %14p %d\n", (void*)rp->esp,rp->esp); +- fprintf(fp," ebx: %14p %d\n", (void*)rp->ebx,rp->ebx); +- fprintf(fp," edx: %14p %d\n", (void*)rp->edx,rp->edx); +- fprintf(fp," ecx: %14p %d\n", (void*)rp->ecx,rp->ecx); +- fprintf(fp," eax: %14p %d\n", (void*)rp->eax,rp->eax); +- fprintf(fp," trapno: %14p %d\n", (void*)rp->trapno,rp->trapno); +- fprintf(fp," err: %14p %d\n", (void*)rp->err,rp->err); +- fprintf(fp," eip: %14p %d\n", (void*)rp->eip,rp->eip); +- fprintf(fp," cs: %04xd : %04x\n", rp->cs,rp->__csh); +- fprintf(fp," eflags: %14p %d\n", (void*)rp->eflags,rp->eflags); +- fprintf(fp," esp_at_signal: %p %d\n", (void*)rp->esp_at_signal,rp->esp_at_signal); +- fprintf(fp," ss: %04xd : %04x\n", rp->ss,rp->__ssh); +- fprintf(fp," oldmask: %14p %d\n", (void*)rp->oldmask,rp->oldmask); +- fprintf(fp," cr2: %14p %d\n", (void*)rp->cr2,rp->cr2); ++ fprintf(fp," gs: %04x:%04x\n", rp->mc_gs,rp->mc_gs); ++ fprintf(fp," fs: %04x:%04x\n", rp->mc_fs,rp->mc_fs); ++ fprintf(fp," es: %04x:%04x\n", rp->mc_es,rp->mc_es); ++ fprintf(fp," ds: %04x:%04x\n", rp->mc_ds,rp->mc_ds); ++ fprintf(fp," edi: %14p %d\n", (void*)rp->mc_edi,rp->mc_edi); ++ fprintf(fp," esi: %14p %d\n", (void*)rp->mc_esi,rp->mc_esi); ++ fprintf(fp," ebp: %14p %d\n", (void*)rp->mc_ebp,rp->mc_ebp); ++ fprintf(fp," esp: %14p %d\n", (void*)rp->mc_esp,rp->mc_esp); ++ fprintf(fp," ebx: %14p %d\n", (void*)rp->mc_ebx,rp->mc_ebx); ++ fprintf(fp," edx: %14p %d\n", (void*)rp->mc_edx,rp->mc_edx); ++ fprintf(fp," ecx: %14p %d\n", (void*)rp->mc_ecx,rp->mc_ecx); ++ fprintf(fp," eax: %14p %d\n", (void*)rp->mc_eax,rp->mc_eax); ++ fprintf(fp," trapno: %14p %d\n", (void*)rp->mc_trapno,rp->mc_trapno); ++ fprintf(fp," err: %14p %d\n", (void*)rp->mc_err,rp->mc_err); ++ fprintf(fp," eip: %14p %d\n", (void*)rp->mc_eip,rp->mc_eip); ++ fprintf(fp," cs: %04x\n", (unsigned)rp->mc_cs); ++ fprintf(fp," eflags: %14p %d\n", (void*)rp->mc_eflags,rp->mc_eflags); ++ fprintf(fp," esp_at_signal: %p %d\n", (void*)rp->mc_esp_at_signal,rp->mc_esp_at_signal); ++ fprintf(fp," ss: %04xd : %04x\n", rp->mc_ss,rp->mc_ss); ++// fprintf(fp," oldmask: %14p %d\n", (void*)rp->mc_oldmask,rp->mc_oldmask); ++// fprintf(fp," cr2: %14p %d\n", (void*)rp->mc_cr2,rp->mc_cr2); + fprintf(fp,"\n"); + } #endif + #if __x86_64__ -#define IP rip +-#define sigregs_t sigcontext +#define IP SC_(rip) - #endif - #ifndef IP - #error gotta have IP -@@ -473,26 +465,5 @@ static void handle_dump(int n, siginfo_t * info, void *sc) ++#define sigregs_t mcontext_t + static void reg_dump(FILE *fp,sigregs_t *rp) + { + fprintf(fp,"REGS:\n"); +- fprintf(fp," r8: %20p %jd\n", (void*)rp->r8,rp->r8); +- fprintf(fp," r9: %20p %jd\n", (void*)rp->r9,rp->r9); +- fprintf(fp," r10: %20p %jd\n", (void*)rp->r10,rp->r10); +- fprintf(fp," r11: %20p %jd\n", (void*)rp->r11,rp->r11); +- fprintf(fp," r12: %20p %jd\n", (void*)rp->r12,rp->r12); +- fprintf(fp," r13: %20p %jd\n", (void*)rp->r13,rp->r13); +- fprintf(fp," r14: %20p %jd\n", (void*)rp->r14,rp->r14); +- fprintf(fp," r15: %20p %jd\n", (void*)rp->r15,rp->r15); +- fprintf(fp," rdi: %20p %jd\n", (void*)rp->rdi,rp->rdi); +- fprintf(fp," rsi: %20p %jd\n", (void*)rp->rsi,rp->rsi); +- fprintf(fp," rbp: %20p %jd\n", (void*)rp->rbp,rp->rbp); +- fprintf(fp," rbx: %20p %jd\n", (void*)rp->rbx,rp->rbx); +- fprintf(fp," rdx: %20p %jd\n", (void*)rp->rdx,rp->rdx); +- fprintf(fp," rax: %20p %jd\n", (void*)rp->rax,rp->rax); +- fprintf(fp," rcx: %20p %jd\n", (void*)rp->rcx,rp->rcx); +- fprintf(fp," rsp: %20p %jd\n", (void*)rp->rsp,rp->rsp); +- fprintf(fp," rip: %20p %jd\n", (void*)rp->rip,rp->rip); +- fprintf(fp," eflags: %14p %jd\n", (void*)rp->eflags,rp->eflags); +- fprintf(fp," cs: %04x\n", rp->cs); +- fprintf(fp," gs: %04x\n", rp->gs); +- fprintf(fp," fs: %04x\n", rp->fs); +- fprintf(fp," err: %20p %jd\n", (void*)rp->err,rp->err); +- fprintf(fp," trapno: %20p %jd\n", (void*)rp->trapno,rp->trapno); +- fprintf(fp," oldmask: %20p %jd\n", (void*)rp->oldmask,rp->oldmask); +- fprintf(fp," cr2: %20p %jd\n", (void*)rp->cr2,rp->cr2); ++ fprintf(fp," r8: %20p %jd\n", (void*)rp->mc_r8,rp->mc_r8); ++ fprintf(fp," r9: %20p %jd\n", (void*)rp->mc_r9,rp->mc_r9); ++ fprintf(fp," r10: %20p %jd\n", (void*)rp->mc_r10,rp->mc_r10); ++ fprintf(fp," r11: %20p %jd\n", (void*)rp->mc_r11,rp->mc_r11); ++ fprintf(fp," r12: %20p %jd\n", (void*)rp->mc_r12,rp->mc_r12); ++ fprintf(fp," r13: %20p %jd\n", (void*)rp->mc_r13,rp->mc_r13); ++ fprintf(fp," r14: %20p %jd\n", (void*)rp->mc_r14,rp->mc_r14); ++ fprintf(fp," r15: %20p %jd\n", (void*)rp->mc_r15,rp->mc_r15); ++ fprintf(fp," rdi: %20p %jd\n", (void*)rp->mc_rdi,rp->mc_rdi); ++ fprintf(fp," rsi: %20p %jd\n", (void*)rp->mc_rsi,rp->mc_rsi); ++ fprintf(fp," rbp: %20p %jd\n", (void*)rp->mc_rbp,rp->mc_rbp); ++ fprintf(fp," rbx: %20p %jd\n", (void*)rp->mc_rbx,rp->mc_rbx); ++ fprintf(fp," rdx: %20p %jd\n", (void*)rp->mc_rdx,rp->mc_rdx); ++ fprintf(fp," rax: %20p %jd\n", (void*)rp->mc_rax,rp->mc_rax); ++ fprintf(fp," rcx: %20p %jd\n", (void*)rp->mc_rcx,rp->mc_rcx); ++ fprintf(fp," rsp: %20p %jd\n", (void*)rp->mc_rsp,rp->mc_rsp); ++ fprintf(fp," rip: %20p %jd\n", (void*)rp->mc_rip,rp->mc_rip); ++ fprintf(fp," eflags: %14p %u\n", (void*)((unsigned long)rp->mc_flags),rp->mc_flags); ++ fprintf(fp," cs: %04x\n", (unsigned)rp->mc_cs); ++ fprintf(fp," gs: %04x\n", (unsigned)rp->mc_gs); ++ fprintf(fp," fs: %04x\n", (unsigned)rp->mc_fs); ++ fprintf(fp," err: %20p %jd\n", (void*)rp->mc_err,rp->mc_err); ++ fprintf(fp," trapno: %20p %d\n", (void*)((unsigned long)rp->mc_trapno),rp->mc_trapno); ++// fprintf(fp," oldmask: %20p %jd\n", (void*)rp->mc_oldmask,rp->mc_oldmask); ++// fprintf(fp," cr2: %20p %jd\n", (void*)rp->mc_cr2,rp->mc_cr2); + fprintf(fp,"\n"); + } + +@@ -476,7 +468,7 @@ static void handle_dump(int n, siginfo_t * info, void *sc) + // if( uid != 0 ) return; + ucontext_t *uc = (ucontext_t *)sc; + int pid = getpid(), tid = gettid(); +- struct sigregs_t *c = (struct sigregs_t *)&uc->uc_mcontext; ++ sigregs_t *c = (sigregs_t *)&uc->uc_mcontext; + uint8_t *ip = (uint8_t *)c->IP; + fprintf(stderr,"** %s at %p in pid %d, tid %d\n", + n==SIGSEGV? "segv" : n==SIGINT? "intr" : "trap", +@@ -545,26 +537,5 @@ static void handle_dump(int n, siginfo_t * info, void *sc) + reg_dump(fp, c); fprintf(fp,"\n\n"); if( fp != stdout ) fclose(fp); - char cmd[1024], *cp = cmd; @@ -408,8 +620,30 @@ index ed50cfb1..f1b894ba 100644 - execvp(argv[0], &argv[0]); } +diff --git a/cinelerra-5.1/guicast/bctrace.C b/cinelerra-5.1/guicast/bctrace.C +index 7e45392..2d08b46 100644 +--- a/cinelerra-5.1/guicast/bctrace.C ++++ b/cinelerra-5.1/guicast/bctrace.C +@@ -309,7 +309,7 @@ void BC_Trace::dump_traces(FILE *fp) + } + } + +-void trace_info::set_owner() { owner = pthread_self(); } ++void trace_info::set_owner() { owner = (unsigned long)pthread_self(); } + void trace_info::unset_owner() { owner = 0; } + + void BC_Trace::dump_locks(FILE *fp) +@@ -322,7 +322,7 @@ void BC_Trace::dump_locks(FILE *fp) + fprintf(fp," %p %s, %s %p%s", + p->info, p->title, p->loc, + (void*)p->tid, p->is_owner ? " *" : ""); +- if( p->info->owner && p->info->owner != p->tid ) ++ if( p->info->owner && p->info->owner != (unsigned long)p->tid ) + fprintf(fp," %p", (void*)p->info->owner); + fprintf(fp,"\n"); + } diff --git a/cinelerra-5.1/guicast/filesystem.C b/cinelerra-5.1/guicast/filesystem.C -index ebc2007d..9d6452cb 100644 +index ebc2007..9d6452c 100644 --- a/cinelerra-5.1/guicast/filesystem.C +++ b/cinelerra-5.1/guicast/filesystem.C @@ -33,6 +33,8 @@ @@ -422,14 +656,14 @@ index ebc2007d..9d6452cb 100644 #include "filesystem.h" diff --git a/cinelerra-5.1/guicast/thread.C b/cinelerra-5.1/guicast/thread.C -index dff53e61..321ab4fc 100644 +index dff53e6..321ab4f 100644 --- a/cinelerra-5.1/guicast/thread.C +++ b/cinelerra-5.1/guicast/thread.C @@ -55,13 +55,6 @@ void* Thread::entrypoint(void *parameters) pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); thread->cancel_enabled = false; --// Set realtime here seince it doesn't work in start +-// Set realtime here since it doesn't work in start - if( thread->realtime && getuid() == 0 ) { - struct sched_param param = { sched_priority : 1 }; - if(pthread_setschedparam(thread->tid, SCHED_RR, ¶m) < 0) @@ -440,31 +674,34 @@ index dff53e61..321ab4fc 100644 thread->finished = true; if( !thread->synchronous ) { diff --git a/cinelerra-5.1/guicast/thread.h b/cinelerra-5.1/guicast/thread.h -index 216ecd2b..8ebec237 100644 +index 7ad81b2..8ebec23 100644 --- a/cinelerra-5.1/guicast/thread.h +++ b/cinelerra-5.1/guicast/thread.h -@@ -27,7 +27,7 @@ +@@ -27,10 +27,7 @@ #include #include +-// glibc >= 2.30 provides gettid() in unistd +-#if !defined(__GLIBC_PREREQ) || !__GLIBC_PREREQ(2, 30) -static inline int gettid() { return syscall(SYS_gettid, 0, 0, 0); } +-#endif +static inline long gettid() { return (long)pthread_self(); } // The thread does not autodelete by default. // If autodelete is 1 the thread autodeletes. diff --git a/cinelerra-5.1/plugins/Makefile b/cinelerra-5.1/plugins/Makefile -index 6ed357c7..56081181 100644 +index 22bc7dd..3459bd0 100644 --- a/cinelerra-5.1/plugins/Makefile +++ b/cinelerra-5.1/plugins/Makefile -@@ -31,7 +31,6 @@ DIRS = $(OPENCV_OBJS) \ +@@ -36,7 +36,6 @@ DIRS = $(OPENCV_OBJS) \ brightness \ burn \ C41 \ - cdripper \ + chorus \ chromakey \ chromakeyhsv \ - color3way \ -@@ -161,6 +160,8 @@ DIRS = $(OPENCV_OBJS) \ +@@ -176,6 +175,8 @@ DIRS = $(OPENCV_OBJS) \ # denoisemjpeg \ # duplicate # vocoder \ @@ -474,7 +711,7 @@ index 6ed357c7..56081181 100644 PLUGIN_DIR = $(BINDIR)/plugins DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes diff --git a/cinelerra-5.1/plugins/titler/titler.C b/cinelerra-5.1/plugins/titler/titler.C -index fefbbdb1..045e96d4 100644 +index 88d6501..fe4a652 100644 --- a/cinelerra-5.1/plugins/titler/titler.C +++ b/cinelerra-5.1/plugins/titler/titler.C @@ -57,8 +57,7 @@ diff --git a/cinelerra-5.1/guicast/thread.C b/cinelerra-5.1/guicast/thread.C index dff53e61..50b52a47 100644 --- a/cinelerra-5.1/guicast/thread.C +++ b/cinelerra-5.1/guicast/thread.C @@ -55,7 +55,7 @@ void* Thread::entrypoint(void *parameters) pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); thread->cancel_enabled = false; -// Set realtime here seince it doesn't work in start +// Set realtime here since it doesn't work in start if( thread->realtime && getuid() == 0 ) { struct sched_param param = { sched_priority : 1 }; if(pthread_setschedparam(thread->tid, SCHED_RR, ¶m) < 0) -- 2.26.2