Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index



 Hello,

 I want to apply the attached bootstrap patch. It disables the very 
interesting feature of creating unusable binaries when one gets unlucky. 
From 'man ld':

--noinhibit-exec
 Retain the executable output file whenever it is still usable.  Normally, the 
linker will not produce an output file if it encounters errors during the 
link process; it exits without writing an output file when it issues any 
error whatsoever.

 Binutils developers apparently have a very relaxed definition of usable, 
because this option can lead to binaries that are very unusable without 
advanced hackery. Specifically, I've found out about this because when 
kdefilepicker (a helper binary for KDE3 support) gets linked against the 
wrong version of kdelibs, ld will report all the undefined references, 
hardcode the KDE4 .so number and then will happily "successfully" finish 
creating the binary, no matter how useless it is in the end.

 I'm not quite sure about the HP part of the patch, but since I assume there 
the ld option has the same brain-damaged result and I see no good reason for 
that option's existence anywhere in LO, I've included it in the removal too.

-- 
 Lubos Lunak
 l.lunak@suse.cz
diff --git a/solenv/inc/unxfbsd.mk b/solenv/inc/unxfbsd.mk
index 4a22bea..9266d5d 100644
--- a/solenv/inc/unxfbsd.mk
+++ b/solenv/inc/unxfbsd.mk
@@ -148,8 +148,8 @@ LINKFLAGSRUNPATH_NONE=
 LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS)
 
 # linker flags for linking applications
-LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec
-LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec
+LINKFLAGSAPPGUI= -Wl,-export-dynamic
+LINKFLAGSAPPCUI= -Wl,-export-dynamic
 
 # linker flags for linking shared libraries
 LINKFLAGSSHLGUI= -shared
diff --git a/solenv/inc/unxgcc.mk b/solenv/inc/unxgcc.mk
index 4688b25..c090024 100644
--- a/solenv/inc/unxgcc.mk
+++ b/solenv/inc/unxgcc.mk
@@ -176,9 +176,9 @@ LINKFLAGS += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-l
 .ENDIF
 
 # linker flags for linking applications
-LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \
+LINKFLAGSAPPGUI= -Wl,-export-dynamic \
     -Wl,-rpath-link,$(LB):$(SOLARLIBDIR)
-LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \
+LINKFLAGSAPPCUI= -Wl,-export-dynamic \
     -Wl,-rpath-link,$(LB):$(SOLARLIBDIR)
 
 # linker flags for linking shared libraries
diff --git a/solenv/inc/unxhpgr.mk b/solenv/inc/unxhpgr.mk
index 9ac0c7e..fa5c4a5 100644
--- a/solenv/inc/unxhpgr.mk
+++ b/solenv/inc/unxhpgr.mk
@@ -79,9 +79,9 @@ DYNAMIC               = -Bdynamic
 LINK=ld
 LINKFLAGS=-L/nw386/dev/s/solenv/unxhpgr/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.57/threads 
-L/nw386/dev/s/solenv/unxhpgr/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.57
 LINKFLAGSAPPGUI= /usr/lib/crt0.o
-LINKFLAGSSHLGUI= -b -noinhibit-exec -Bsymbolic -G $(THREADLIB)
+LINKFLAGSSHLGUI= -b -Bsymbolic -G $(THREADLIB)
 LINKFLAGSAPPCUI= /usr/lib/crt0.o
-LINKFLAGSSHLCUI= -b -noinhibit-exec -warn-once -Bsymbolic -G
+LINKFLAGSSHLCUI= -b -warn-once -Bsymbolic -G
 LINKFLAGSTACK=
 APPLINKSTATIC=-Bstatic
 APPLINKSHARED=-Bsymbolic

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.