update bsd patch/bld for yuri
[goodguy/cinelerra.git] / cinelerra-5.1 / blds / bsd.patch
index afc1e14fb97cae2b6e46d5a971c1efdbd16922b9..8136d2cef2315fabd056ff5c129e0650d72cfd24 100644 (file)
@@ -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 <unistd.h>
  #include <fcntl.h>
  #include <errno.h>
@@ -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 <sys/stat.h>
  // 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 <unistd.h>
  #include <endian.h>
+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 <iconv.h>
  #include <sys/ipc.h>
  #include <sys/shm.h>
@@ -290,7 +384,7 @@ index 1e927303..165883de 100644
  #include <X11/extensions/XShm.h>
  #include <fontconfig/fontconfig.h>
  #include <fontconfig/fcfreetype.h>
-@@ -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 <sys/wait.h>
  #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, &param) < 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 <unistd.h>
  #include <sys/syscall.h>
  
+-// 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 @@