X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fblds%2Fbsd.patch;h=ecc6939be7217b4ab93742a8a6747ed3f6f7b0ff;hp=afc1e14fb97cae2b6e46d5a971c1efdbd16922b9;hb=c387b8938dc838e5b92d1cd735975d0928ecf61a;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/blds/bsd.patch b/cinelerra-5.1/blds/bsd.patch index afc1e14f..ecc6939b 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,35 +12,10 @@ 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 f4e536b..9b76136 100644 --- a/cinelerra-5.1/cinelerra/Makefile +++ b/cinelerra-5.1/cinelerra/Makefile -@@ -395,6 +395,7 @@ LIBS += -lfontconfig -lfreetype - LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavresample -lavutil - LIBS += -lswresample -lswscale - LIBS += -lvpx -lwebp -lwebpmux -+LIBS += -lintl -liconv -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) - LIBS += $(if $(filter libvpx,$(static_pkgs)), -lvpx) - - ifneq ($(WANT_GL),no) --LIBS += -lGL -lGLU -lGLX -+LIBS += -lGL -lGLU - endif - ifneq ($(WANT_XFT),no) - LIBS += -lXft -@@ -476,6 +477,7 @@ LV2OBJS = \ - endif - - CFLAGS := \ -+ -I/usr/local/include \ - -I$(GUICAST) \ - -I$(LIBZMPEG3) \ - $(static_incs) \ -@@ -523,15 +525,15 @@ all: $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI) +@@ -512,7 +512,7 @@ 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)) @@ -49,55 +24,11 @@ index 18590e3a..5eead290 100644 ln -f -s ../bin/$(WANT_CIN) ci ifneq ($(WANT_COMMERCIAL),no) - $(CUTADS): $(CUTOBJS) $(CUTLIBS) $(LIBRARIES) -- @echo g++ -o $@ $(CUTOBJS) -- @g++ $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS) -+ @echo $(CXX) -o $@ $(CUTOBJS) -+ @$(CXX) $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS) - $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(CUTADS) $(CUTADS).debuginfo) -- $(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS)) -+ #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS)) - - install-cutads: - cp -av $(OBJDIR)/cutads $(BINDIR)/. -@@ -540,18 +542,18 @@ install: install-cutads - endif - - $(BDWRITE): $(BDWOBJS) $(LIBRARIES) -- @echo g++ -o $@ $(BDWOBJS) -- @g++ $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS) -+ @echo $(CXX) -o $@ $(BDWOBJS) -+ @$(CXX) $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS) - $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(BDWRITE) $(BDWRITE).debuginfo) -- $(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE)) -+ #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE)) - - install-bdwrite: - cp -av $(OBJDIR)/bdwrite $(BINDIR)/. - install: install-bdwrite - - ydiff: ydiff.C $(LIBRARIES) -- @echo g++ -o $@ ydiff.C -- @g++ $(CFLAGS) ydiff.C -o $@ $(LIBS) -+ @echo $(CXX) -o $@ ydiff.C -+ @$(CXX) $(CFLAGS) ydiff.C -o $@ $(LIBS) - - clean: - rm -rf $(OBJDIR) -@@ -585,7 +587,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) -- $(if $(findstring -ggdb,$(CFLAGS)),,strip $(LV2UI)) -+ #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(LV2UI)) - - .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 +40,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 +53,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 +92,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 +107,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 f9571c9..d1197c3 100644 --- a/cinelerra-5.1/cinelerra/file.C +++ b/cinelerra-5.1/cinelerra/file.C -@@ -1594,7 +1594,10 @@ int File::record_fd() +@@ -1589,7 +1589,10 @@ int File::record_fd() void File::get_exe_path(char *result, char *bnp) { // Get executable path, basename @@ -192,23 +123,25 @@ 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 87b8853..ad75d24 100644 --- a/cinelerra-5.1/cinelerra/indexfile.C +++ b/cinelerra-5.1/cinelerra/indexfile.C -@@ -70,7 +70,7 @@ +@@ -70,9 +70,7 @@ #include #include +-#ifdef HAVE_ISOFS -#include +-#endif +#include // check for isofs volume_id for dvd/cdrom diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac -index 1157b0a3..8c5ba61a 100644 +index ee75006..071d8e7 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 +160,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) +@@ -140,7 +150,7 @@ AC_SUBST(MAK_INSTALLS) AC_SUBST(MAK_UNINSTALLS) if test "x$WANT_JOBS" = "xauto"; then @@ -236,8 +169,32 @@ index 1157b0a3..8c5ba61a 100644 WANT_JOBS=`expr $CPUS + $CPUS / 2 + 2` fi +@@ -1132,6 +1142,11 @@ if test "x$CFG_LDFLAGS" != "x" ; then + echo "" + fi + ++if test "x$BSD" != "x" ; then ++ echo "CFLAGS += -DNO_PRCTL" ++ echo "CFLAGS += -DNO_TID" ++ echo "CFLAGS += -DNO_GDB" ++fi + if test "x$CYGWIN" != "x" ; then + echo 'FF_PATH ?= /usr/local' + echo 'LDFLAGS += -L$(FF_PATH)/lib' +@@ -1147,11 +1162,6 @@ if test "x$CYGWIN" != "x" ; then + else + LDFLAGS+=" -z noexecstack" + fi +-if test "x$BSD" != "x" ; then +- echo "CFLAGS += -DNO_PRCTL" +- echo "CFLAGS += -DNO_TID" +- echo "CFLAGS += -DNO_GDB" +-fi + + if test "x$WANT_X264_HIDEPTH" = "xyes" ; then + X264_CFG_PARAMS="$X264_CFG_PARAMS --bit-depth=10" 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 +206,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 +235,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 +249,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 +260,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,116 +290,198 @@ 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 ffc8a1c..b83b328 100644 --- a/cinelerra-5.1/guicast/bcsignals.C +++ b/cinelerra-5.1/guicast/bcsignals.C -@@ -37,9 +37,11 @@ - #include - #include - #include --#include - #include - -+#define dirent64 dirent -+#define readdir64 readdir -+ - BC_Signals* BC_Signals::global_signals = 0; - static int signal_done = 0; - -@@ -279,18 +281,6 @@ static void handle_exit(int signum) - - void BC_Signals::set_sighup_exit(int enable) - { -- if( enable ) { --// causes SIGHUP to be generated when parent dies -- signal(SIGHUP, handle_exit); -- prctl(PR_SET_PDEATHSIG, SIGHUP, 0,0,0); --// prevents ^C from signalling child when attached to gdb -- setpgid(0, 0); -- if( isatty(0) ) ioctl(0, TIOCNOTTY, 0); -- } -- else { -- signal(SIGHUP, signal_entry); -- prctl(PR_SET_PDEATHSIG, 0,0,0,0); -- } - } - - BC_Signals::BC_Signals() -@@ -383,11 +373,13 @@ const char* BC_Signals::sig_to_str(int number) +@@ -395,70 +395,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) ++#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"); + } + +@@ -492,7 +494,7 @@ static void handle_dump(int n, siginfo_t * info, void *sc) + void *ip = 0; + #ifndef NO_CTX + ucontext_t *uc = (ucontext_t *)sc; +- struct sigregs_t *c = (struct sigregs_t *)&uc->uc_mcontext; ++ sigregs_t *c = (sigregs_t *)&uc->uc_mcontext; + ip = (void *)c->IP; #endif - #ifndef IP - #error gotta have IP -@@ -473,26 +465,5 @@ static void handle_dump(int n, siginfo_t * info, void *sc) - - fprintf(fp,"\n\n"); - if( fp != stdout ) fclose(fp); -- char cmd[1024], *cp = cmd; -- cp += sprintf(cp, "exec gdb /proc/%d/exe -p %d --batch --quiet " -- "-ex \"thread apply all info registers\" " -- "-ex \"thread apply all bt full\" " -- "-ex \"quit\"", pid, pid); -- if( fp != stdout ) -- cp += sprintf(cp," >> \"%s\"", fn); -- cp += sprintf(cp," 2>&1"); --//printf("handle_dump:: pid=%d, cmd='%s' fn='%s'\n",pid,cmd,fn); -- pid = vfork(); -- if( pid < 0 ) { -- fprintf(stderr,"** can't start gdb, dump abondoned\n"); -- return; -- } -- if( pid > 0 ) { -- waitpid(pid,0,0); -- fprintf(stderr,"** dump complete\n"); -- return; -- } -- char *const argv[4] = { (char*) "/bin/sh", (char*) "-c", cmd, 0 }; -- execvp(argv[0], &argv[0]); + fprintf(stderr,"** %s at %p in pid %d, tid %d\n", +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) + } } -diff --git a/cinelerra-5.1/guicast/filesystem.C b/cinelerra-5.1/guicast/filesystem.C -index ebc2007d..9d6452cb 100644 ---- a/cinelerra-5.1/guicast/filesystem.C -+++ b/cinelerra-5.1/guicast/filesystem.C -@@ -33,6 +33,8 @@ - #include - #include +-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.h b/cinelerra-5.1/guicast/filesystem.h +index c976135..5613702 100644 +--- a/cinelerra-5.1/guicast/filesystem.h ++++ b/cinelerra-5.1/guicast/filesystem.h +@@ -26,6 +26,9 @@ + #include "bcwindowbase.inc" + #include "sizes.h" +#define dirent64 dirent +#define readdir64 readdir - - #include "filesystem.h" - ++ + class FileItem + { + public: diff --git a/cinelerra-5.1/guicast/thread.C b/cinelerra-5.1/guicast/thread.C -index dff53e61..321ab4fc 100644 +index 50b52a4..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) @@ -439,32 +491,19 @@ index dff53e61..321ab4fc 100644 thread->run(); 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 ---- a/cinelerra-5.1/guicast/thread.h -+++ b/cinelerra-5.1/guicast/thread.h -@@ -27,7 +27,7 @@ - #include - #include - --static inline int gettid() { return syscall(SYS_gettid, 0, 0, 0); } -+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 e63682d..072653b 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) \ +@@ -177,6 +176,8 @@ DIRS = $(OPENCV_OBJS) \ # denoisemjpeg \ # duplicate # vocoder \ @@ -474,7 +513,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 0fc6669..68197ab 100644 --- a/cinelerra-5.1/plugins/titler/titler.C +++ b/cinelerra-5.1/plugins/titler/titler.C @@ -57,8 +57,7 @@