From f81cff82186b33b5f51df21cde29b024a5f6087f Mon Sep 17 00:00:00 2001 From: Good Guy Date: Mon, 22 Dec 2025 15:27:13 -0700 Subject: [PATCH] Credit Andrew - update needed for Sparc32 build --- cinelerra-5.1/guicast/Makefile | 9 ++++++++- cinelerra-5.1/guicast/bootstrap.c | 12 ++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/cinelerra-5.1/guicast/Makefile b/cinelerra-5.1/guicast/Makefile index 67116252..2147f66c 100644 --- a/cinelerra-5.1/guicast/Makefile +++ b/cinelerra-5.1/guicast/Makefile @@ -36,6 +36,13 @@ ifeq ($(OBJDIR), ppc) BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B powerpc -I binary -O elf32-powerpc\"" endif +ifeq ($(OBJDIR), sparc) +BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B sparc -I binary -O elf32-sparc\"" +endif + +ifeq ($(OBJDIR), sparc64) +BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B sparc -I binary -O elf32-sparc64\"" +endif @@ -147,7 +154,7 @@ $(OUTPUT): $(OBJS) $(BCXFER) ar rs $(OUTPUT) `ls -1 $(dir $(BCXFER))/xfer*.o` $(OBJDIR)/bootstrap: - $(CC) -O2 $(BOOTSTRAPFLAGS) bootstrap.c -o $(OBJDIR)/bootstrap + $(CC) -O0 -g $(BOOTSTRAPFLAGS) -Wcast-align bootstrap.c -o $(OBJDIR)/bootstrap $(OBJDIR)/pngtoh: pngtoh.c $(CC) -O2 pngtoh.c -o $(OBJDIR)/pngtoh diff --git a/cinelerra-5.1/guicast/bootstrap.c b/cinelerra-5.1/guicast/bootstrap.c index 0ba35514..faf437b4 100644 --- a/cinelerra-5.1/guicast/bootstrap.c +++ b/cinelerra-5.1/guicast/bootstrap.c @@ -53,8 +53,16 @@ void append_contents(char *path, strcpy(buffer + *buffer_size, string); *buffer_size += strlen(string) + 1; - - *(int*)(buffer + *buffer_size) = data_offset; + + int tmp = 0; + char *ptr = buffer + *buffer_size; + memcpy(&tmp, &ptr, sizeof(int)); + tmp = data_offset; + ptr[3] = tmp >> 24; + ptr[2] = tmp >> 16; + ptr[1] = tmp >> 8; + ptr[0] = tmp; + //*(int*)(buffer + *buffer_size) = data_offset; *buffer_size += sizeof(int); } -- 2.34.1