# http://bugs.ghostscript.com/show_bug.cgi?id=690695 From 2bcf9eb7d8a3ffb133bf815ae275cf1befd00292 Mon Sep 17 00:00:00 2001 From: Hib Eris Date: Mon, 11 Jan 2010 11:37:15 +0100 Subject: [PATCH] Fix unix so build regression. The fix for #690695 in r9948 caused a regression in building dynamically linked gsc/gsx with 'make so'. Passing LDFLAGS_SO to the compiler when linking gsc/gsx causes the gsc/gsx program to segfault at run time. The LDFLAGS_SO should only be passed to the linker of the shared object (GS_SO, build by redefining GS_XE). --- base/unix-dll.mak | 3 ++- base/unixlink.mak | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/base/unix-dll.mak b/base/unix-dll.mak index 2b08b11..68c673d 100644 --- a/base/unix-dll.mak +++ b/base/unix-dll.mak @@ -88,8 +88,9 @@ $(GSSOX_XE): $(GS_SO) $(PSSRC)$(SOC_LOADER) # ------------------------- Recursive make targets ------------------------- # -SODEFS=LDFLAGS='$(LDFLAGS) $(LDFLAGS_SO)'\ +SODEFS=\ GS_XE=$(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR)\ + GS_XE_LDFLAGS=$(LDFLAGS_SO)\ STDIO_IMPLEMENTATION=c\ DISPLAY_DEV=$(DD)$(SOOBJRELDIR)/display.dev\ BINDIR=$(BINDIR)/$(SOBINRELDIR)\ diff --git a/base/unixlink.mak b/base/unixlink.mak index e268c7d..176183b 100644 --- a/base/unixlink.mak +++ b/base/unixlink.mak @@ -50,7 +50,7 @@ $(GS_A): $(obj_tr) $(ECHOGS_XE) $(INT_ARCHIVE_ALL) $(INT_ALL) $(DEVS_ALL) # which has limited environment space. ldt_tr=$(PSOBJ)ldt.tr $(GS_XE): $(ld_tr) $(ECHOGS_XE) $(XE_ALL) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) - $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(LDFLAGS) -o $(GS_XE) + $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(GS_XE_LDFLAGS) $(LDFLAGS) -o $(GS_XE) $(ECHOGS_XE) -a $(ldt_tr) -n -s $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(PSOBJ)gs.$(OBJ) -s cat $(ld_tr) >>$(ldt_tr) $(ECHOGS_XE) -a $(ldt_tr) -s - $(EXTRALIBS) $(STDLIBS) -- 1.6.0.4 # https://bugzilla.redhat.com/show_bug.cgi?id=565935 --- ghostscript-8.71/lib/pdf2dsc.ps.copy_trailer_attrs 2008-02-25 05:48:45.000000000 +0000 +++ ghostscript-8.71/lib/pdf2dsc.ps 2010-02-19 21:35:15.000000000 +0000 @@ -116,7 +116,7 @@ systemdict /.setsafe known { .setsafe } DSCfile PDFname write==only ( \(r\) file { DELAYSAFER { .setsafe } if } stopped pop\n) puts ( pdfopen begin\n) puts - ( copy_trailer_attrs\n) puts + ( process_trailer_attrs\n) puts (%%EndSetup\n) puts /.hasPageLabels false def % see "Page Labels" in the PDF Reference